From 050f06dfa518af17f53fd99fbc4e4166be05218a Mon Sep 17 00:00:00 2001 From: Zuza Zuber Date: Wed, 2 Aug 2023 13:57:00 +0200 Subject: [PATCH 1/2] replace camel case with sentence case --- faq.md | 10 ++-- space-handbook/README.md | 8 +-- space-handbook/anti-whale.md | 30 +++++----- space-handbook/custom-calculations.md | 22 ++++---- space-handbook/delegation.md | 30 +++++----- space-handbook/liquidity-staking-pool.md | 10 ++-- space-handbook/most-common.md | 26 ++++----- space-handbook/nft-voting/README.md | 4 +- .../nft-voting/most-common-erc-721.md | 10 ++-- .../nft-voting/multi-token-erc-1155.md | 8 +-- .../nft-voting/poap-proof-of-attendance.md | 6 +- ...bil-resistance-scam-and-spam-prevention.md | 30 +++++----- space-handbook/voting-threshold.md | 56 +++++++++---------- tools/snapshot.js.md | 2 +- user-guides/delegation.md | 16 +++--- user-guides/proposals/voting-types.md | 2 +- user-guides/spaces/settings.md | 4 +- .../strategies/validation-strategies.md | 24 ++++---- 18 files changed, 149 insertions(+), 149 deletions(-) diff --git a/faq.md b/faq.md index d482ffb..116ab29 100644 --- a/faq.md +++ b/faq.md @@ -267,7 +267,7 @@ If a proposal does not reach the required quorum, it is considered as not passed ![](<.gitbook/assets/image (9) (3).png>) -Due to multiple spam attacks on Snapshot all Spaces are now required to set up a Proposal Validation. \ +Due to multiple spam attacks on Snapshot all Spaces are now required to set up a Proposal validation. \ Head here to learn how to do it: [#how-to-use-validation-strategies](user-guides/strategies/validation-strategies.md#how-to-use-validation-strategies "mention") @@ -284,7 +284,7 @@ You can submit your request by following the process described in the [token-ver Are there any solutions available to minimize whales' power in the voting process? -Absolutely! Have a look at the Quaratic Voting system (bear in mind that it should be parie +Absolutely! Have a look at the Quaratic Voting type (bear in mind that it should be parie @@ -376,12 +376,12 @@ Yes, you can customize the appearance of your Snapshot space to some extent by s
-Your proposal cannot be submitted due to a missing Voting Validation rule required with the "ticket" strategy. What does it mean? +Your proposal cannot be submitted due to a missing Voting validation rule required with the "ticket" strategy. What does it mean? ![](<.gitbook/assets/image (2) (2).png>) -If your space is using only a [ticket](https://snapshot.org/#/strategy/ticket) Voting Strategy you are required to set a Voting Validation to minimize the risk of spam votes on your proposals. \ -Without it, hackers can easily create multiple accounts (each getting 1 Voting Power) and take the voting process over.\ +If your space is using only a [ticket](https://snapshot.org/#/strategy/ticket) Voting strategy you are required to set a Voting validation to minimize the risk of spam votes on your proposals. \ +Without it, hackers can easily create multiple accounts (each getting 1 Voting power) and take the voting process over.\ \ Have a read here to learn how to set it up: [#voting-validation-in-space-settings](user-guides/strategies/validation-strategies.md#voting-validation-in-space-settings "mention") diff --git a/space-handbook/README.md b/space-handbook/README.md index 0a56cc2..2b2fd29 100644 --- a/space-handbook/README.md +++ b/space-handbook/README.md @@ -5,7 +5,7 @@ description: Find the best solution for your use case! # Space handbook {% hint style="info" %} -**This handbook uses terms like** [**Voting**](#user-content-fn-1)[^1] **and** [**Validation Strategies**](#user-content-fn-2)[^2]**,** [**Voting types**](#user-content-fn-3)[^3]**.** \ +**This handbook uses terms like** [**Voting**](#user-content-fn-1)[^1] **and** [**Validation strategies**](#user-content-fn-2)[^2]**,** [**Voting types**](#user-content-fn-3)[^3]**.** \ \ Make sure to learn about those concepts before diving into this chapter! \ \ @@ -33,8 +33,8 @@ If none of the above are a good fit for your Space, we encourage you to use the Feel free to reach out to us on [Discord](https://discord.com/channels/707079246388133940/1090290400943677440) to suggest use cases that we did not cover! -[^1]: Voting Strategies are used to calculated user's Voting Power. [Read more here](../user-guides/strategies/voting-strategies.md). +[^1]: Voting strategies are used to calculated user's Voting power. [Read more here](../user-guides/strategies/voting-strategies.md). -[^2]: Validation Strategies are used to define if a user is eligible to vote or create a proposal. [Read more here](../user-guides/strategies/validation-strategies.md). +[^2]: Validation strategies are used to define if a user is eligible to vote or create a proposal. [Read more here](../user-guides/strategies/validation-strategies.md). -[^3]: Voting Systems relate to how users can cast their votes and how the final results of a proposal is calculated. [Read more here.](../user-guides/proposals/voting-types.md) +[^3]: Voting types relate to how users can cast their votes and how the final results of a proposal is calculated. [Read more here.](../user-guides/proposals/voting-types.md) diff --git a/space-handbook/anti-whale.md b/space-handbook/anti-whale.md index 26f8ad8..7bd5d32 100644 --- a/space-handbook/anti-whale.md +++ b/space-handbook/anti-whale.md @@ -12,7 +12,7 @@ description: >- > \ > [_https://www.investopedia.com/terms/b/bitcoin-whale.asp_](https://www.investopedia.com/terms/b/bitcoin-whale.asp) -Whales can influence not only currency markets but also the governance process of web3 communities. With the large holdings, their sheer Voting Power can oftentimes swing a proposal for their advantage. This leads to outcomes that are not welcomed by the community, poses a threat to taking the Treasury over, and also to lowering community participation in the vote as its members don't see the point in voting knowing that one wallet can decide on its outcome. +Whales can influence not only currency markets but also the governance process of web3 communities. With the large holdings, their sheer Voting power can oftentimes swing a proposal for their advantage. This leads to outcomes that are not welcomed by the community, poses a threat to taking the Treasury over, and also to lowering community participation in the vote as its members don't see the point in voting knowing that one wallet can decide on its outcome. Let's have a look at different setups that will allow your space to minimize the power of whales. @@ -22,9 +22,9 @@ You can predefine the [Voting type](#user-content-fn-1)[^1] that all proposals i ### 1. Quadratic voting -Snapshot's Quadratic Voting type is based on the Quadratic Funding model and was developed to target shortcomings of the traditional quadratic calculation taking the root square of a value, in our case - Voting Power. Unlike the traditional quadratic calculation, it can handle values as tiny as 0.000001 and include them in the voting process. +Snapshot's Quadratic Voting type is based on the Quadratic Funding model and was developed to target shortcomings of the traditional quadratic calculation taking the root square of a value, in our case - Voting power. Unlike the traditional quadratic calculation, it can handle values as tiny as 0.000001 and include them in the voting process. -You can set it up for all proposals in your Space by heading to the **Voting** tab in the Space settings and selecting the desired Voting System in the **Type** field: +You can set it up for all proposals in your Space by heading to the **Voting** tab in the Space settings and selecting the desired Voting type in the **Type** field:
@@ -77,11 +77,11 @@ So the percentages for each choice is: * C: 58.69% of 225 = **132 SMS** {% hint style="info" %} -All in all you don't have to understand each step of the calculation, yet it should give you an idea how John with 100 SMS tokens was not able to push through his choice despite having the majority of Voting Power in the group as Quadratic Funding model emphasises the **number of individual contributors** rather than the amount contributed. +All in all you don't have to understand each step of the calculation, yet it should give you an idea how John with 100 SMS tokens was not able to push through his choice despite having the majority of Voting power in the group as Quadratic Funding model emphasises the **number of individual contributors** rather than the amount contributed. {% endhint %} {% hint style="danger" %} -This Voting System may encourage the whales to create multiple wallets and split their holdings among them. Therefore it's important to also implement a mechanism providing Sybil Resistance. \ +This Voting type may encourage the whales to create multiple wallets and split their holdings among them. Therefore it's important to also implement a mechanism providing Sybil Resistance. \ \ **Read more** [**here**](sybil-resistance-scam-and-spam-prevention.md)**!** {% endhint %} @@ -90,14 +90,14 @@ This Voting System may encourage the whales to create multiple wallets and split ### 1. [balance-of-with-thresholds](https://snapshot.org/#/strategy/balance-of-with-thresholds) -You can think of it as creating multiple buckets which will determine the Voting Power of an individual address. To put it in the simplest way, imagine that: +You can think of it as creating multiple buckets which will determine the Voting power of an individual address. To put it in the simplest way, imagine that: -* users who hold less than 5 tokens will have **0** Voting Power -* users who hold from 5 to 10 tokens will have **1** Voting Power -* users who hold from 10 to 20 tokens will have **2** Voting Power -* users who hold more than 20 tokens will have **5** Voting Power +* users who hold less than 5 tokens will have **0** Voting power +* users who hold from 5 to 10 tokens will have **1** Voting power +* users who hold from 10 to 20 tokens will have **2** Voting power +* users who hold more than 20 tokens will have **5** Voting power -As you can see, you are able to set various thresholds which will fix user's Voting Power at a specific level. This way whales who may have large holdings, for example 1000 tokens, will not get more than **5** Voting Power. +As you can see, you are able to set various thresholds which will fix user's Voting power at a specific level. This way whales who may have large holdings, for example 1000 tokens, will not get more than **5** Voting power. This way the voting can be more reflective of the public opinion. @@ -122,7 +122,7 @@ You can test it out in the **Playground on Snapshot**: ### 2.[ anti-whale](https://snapshot.org/#/strategy/anti-whale) -This strategy executes a chosen Voting Strategy and applies algorithms to its result to reduce the impact of big wallets on the vote. +This strategy executes a chosen Voting strategy and applies algorithms to its result to reduce the impact of big wallets on the vote. {% hint style="info" %} This strategy requires understanding some of the calculations shown below. If you have issues with setting it up don't hesitate to [create a ticket on Discord](https://discord.com/channels/707079246388133940/1090290400943677440)! @@ -132,10 +132,10 @@ In practice, the strategy sets a **soft restriction on the voting threshold** by As an example, assuming our threshold is **5**: -* if user's Voting Power is below or equal to 5, their final Voting Power will be moderately increased -* if user's Voting Power is above 5, their final Voting Power will be reduced (the higher the Voting Power, the more increased it will be) +* if user's Voting power is below or equal to 5, their final Voting power will be moderately increased +* if user's Voting power is above 5, their final Voting power will be reduced (the higher the Voting power, the more increased it will be) -The following algorithm is applied to the result of the configured Voting Strategy: +The following algorithm is applied to the result of the configured Voting strategy: ``` If result > antiWhale.threshold diff --git a/space-handbook/custom-calculations.md b/space-handbook/custom-calculations.md index 21f1754..1e12127 100644 --- a/space-handbook/custom-calculations.md +++ b/space-handbook/custom-calculations.md @@ -7,19 +7,19 @@ description: >- # Custom calculations -Snapshot provides several Voting Strategies that allow you to use your own API to return user's Voting Power or for example perform mathematical calculations on the results from existing Strategies. +Snapshot provides several Voting strategies that allow you to use your own API to return user's Voting power or for example perform mathematical calculations on the results from existing Strategies. {% hint style="info" %} -You can also create a new custom Voting or Validation Strategy if none of the available solutions meet your needs. \ +You can also create a new custom Voting or Validation strategy if none of the available solutions meet your needs. \ \ Have a look at the [create-a-strategy](../developer-guides/create-a-strategy/ "mention") section of this documentation to learn more! {% endhint %} ### [api-v2](https://snapshot.org/#/strategy/api-v2) -This strategy allows off-chain data to be used as Voting Power through calling a custom API endpoint to request the score for a set of addresses. +This strategy allows off-chain data to be used as Voting power through calling a custom API endpoint to request the score for a set of addresses. -It's useful to use this strategy if your API can return the Voting Power directly. It's network agnostic. +It's useful to use this strategy if your API can return the Voting power directly. It's network agnostic. **Strategy setup:** @@ -75,13 +75,13 @@ You can test it out in the **Playground on Snapshot:** You can use the `math` strategy flexibly with various tokens and networks. This example demonstrates how to set a threshold taking into account tokens on different chains. {% endhint %} -`Math` strategy is powerful in its composability. It allows you to apply common mathematical operations to the outputs of Voting Strategies. +`Math` strategy is powerful in its composability. It allows you to apply common mathematical operations to the outputs of Voting strategies. -As an example, you can take a square root of the Voting Power calculated by [erc20-balance-of](https://snapshot.org/#/strategy/erc20-balance-of), or the lower (`min`) value out of two different Voting Strategies. You can see all possibilities on the [strategy page](https://snapshot.org/#/strategy/math). +As an example, you can take a square root of the Voting power calculated by [erc20-balance-of](https://snapshot.org/#/strategy/erc20-balance-of), or the lower (`min`) value out of two different Voting strategies. You can see all possibilities on the [strategy page](https://snapshot.org/#/strategy/math). #### How to set it up for a multichain scenario? -If the Voting Power calculated for your space is based on tokens on different chains and you want to set a minimum threshold defining if a user is eligible to vote, you can use the `a-if-lt-b` operand. Don't worry if it sounds cryptic, we will go through it step by step. +If the Voting power calculated for your space is based on tokens on different chains and you want to set a minimum threshold defining if a user is eligible to vote, you can use the `a-if-lt-b` operand. Don't worry if it sounds cryptic, we will go through it step by step. | Operation | Operand count | Description | | ----------- | ------------- | ------------------------- | @@ -89,7 +89,7 @@ If the Voting Power calculated for your space is based on tokens on different ch Let's look at the formula first: `(x, a, b) = x < b ? a : x`, where: -* **x** - sum of Voting Power calculated by the two Voting Strategies on chains `137` and `1` (as per the example below) +* **x** - sum of Voting power calculated by the two Voting strategies on chains `137` and `1` (as per the example below) * **a** - first constant, in our case it's **0** * **b** - first constant, in our case it's **100** @@ -140,10 +140,10 @@ Let's look at the formula first: `(x, a, b) = x < b ? a : x`, where: The algorithm will check if **x** is smaller than **b**, the second constant: -* if it's below **b**, the final Voting Power will be set to **a,** first constant -> **0** -* if it's equal to and higher than **b**, the final Voting Power will be set to **x**, the sum of result from the Voting Strategies +* if it's below **b**, the final Voting power will be set to **a,** first constant -> **0** +* if it's equal to and higher than **b**, the final Voting power will be set to **x**, the sum of result from the Voting strategies -**As you can see we can easily define what is the minimum Voting Power (our example: 100) coming from different chains that is required for the user to vote!** +**As you can see we can easily define what is the minimum Voting power (our example: 100) coming from different chains that is required for the user to vote!** You can test it out in the **Playground on Snapshot**: diff --git a/space-handbook/delegation.md b/space-handbook/delegation.md index ebd43ad..eeeae42 100644 --- a/space-handbook/delegation.md +++ b/space-handbook/delegation.md @@ -1,6 +1,6 @@ --- description: >- - Which Voting Strategy to choose to enable enable users to vote on behalf of + Which Voting strategy to choose to enable enable users to vote on behalf of their delegators? --- @@ -10,22 +10,22 @@ description: >- Delegation enables you to delegate your voting power to another wallet. Unlike other actions in Snapshot, the delegation itself is an **on-chain behavior**, requiring some gas fees to execute a delegation transaction.\ \ Within this page we will be using two terms:\ -\- _delegator_ - user who delegated their Voting Power to another address\ -\- _delegate_ - the user who was delegated the Voting Power and can vote on behalf of others +\- _delegator_ - user who delegated their Voting power to another address\ +\- _delegate_ - the user who was delegated the Voting power and can vote on behalf of others {% endhint %} -## How can users delegate their Voting Power? +## How can users delegate their Voting power? -Before we jump straight into the Voting Strategies setup, let's first understand how users can delegate their Voting Power to others through Snapshot. +Before we jump straight into the Voting strategies setup, let's first understand how users can delegate their Voting power to others through Snapshot. \ -## Voting Strategies +## Voting strategies -In order to take the delegated Voting Power into account, your space **has to use one of the delegation** Voting Strategies. +In order to take the delegated Voting power into account, your space **has to use one of the delegation** Voting strategies. {% hint style="warning" %} -If the delegation-based Voting Strategies are not set for your space, even if users have delegated their VP or are delegates themselves, their Voting Power will be calculated only on the basis of their own assets.\ +If the delegation-based Voting strategies are not set for your space, even if users have delegated their VP or are delegates themselves, their Voting power will be calculated only on the basis of their own assets.\ \ **This means 👉 Delegation will not work.** {% endhint %} @@ -34,13 +34,13 @@ If the delegation-based Voting Strategies are not set for your space, even if us In Snapshot, based on whether the delegated power can be taken back by the delegators when they vote, there are **two main** delegation strategies: * `with-delegation` - the delegator cannot vote, only the delegate can participate in voting -* `delegation` - allows the delegator to vote despite having delegated their Voting Power +* `delegation` - allows the delegator to vote despite having delegated their Voting power Let's have a look at both in detail: ### [with-delegation](https://snapshot.org/#/strategy/with-delegation) -This strategy is a combination of **delegation** + **own Voting Power** (if not delegated to anyone), moreover, it **prevents the delegators from taking back their delegated VP**. +This strategy is a combination of **delegation** + **own Voting power** (if not delegated to anyone), moreover, it **prevents the delegators from taking back their delegated VP**. By using this strategy, one can no longer vote if he delegated to another one, and the delegatee's voting power will be his own VP + delegated VP. @@ -55,7 +55,7 @@ The sub-strategies are used to define the source of own VP and delegation. **Strategy setup** {% hint style="info" %} -Note that you can pass the **`delegationNetwork`**as the optional parameter so that the strategy can **read delegation from one network** and **Voting Power from other networks**. +Note that you can pass the **`delegationNetwork`**as the optional parameter so that the strategy can **read delegation from one network** and **Voting power from other networks**. This is useful when the space has multiple strategies across chains and wants to enable delegation for all the relevant tokens. @@ -85,10 +85,10 @@ You can test it out in the **Playground on Snapshot**: ### [delegation](https://snapshot.org/#/strategy/delegation) -This strategy returns the **delegated Voting Power only.** +This strategy returns the **delegated Voting power only.** {% hint style="info" %} -In order to count delegate's full Voting Power including their own holdings and the delegation, you need to set up regular strategies for the space, like for example `erc20-balance-of` or `balance-of-woth-thresholds`. +In order to count delegate's full Voting power including their own holdings and the delegation, you need to set up regular strategies for the space, like for example `erc20-balance-of` or `balance-of-woth-thresholds`. {% endhint %} Now, what's the deal with both delegate and delegator casting a vote? @@ -97,7 +97,7 @@ Now, what's the deal with both delegate and delegator casting a vote? **The vote of B will be counted if A does not vote.** -It can include a list of sub-strategies (`erc20-...`, `erc1155-...`, `whitelist`, etc) to calculate the user's Voting Power based on the delegation. +It can include a list of sub-strategies (`erc20-...`, `erc1155-...`, `whitelist`, etc) to calculate the user's Voting power based on the delegation. **Strategy setup** @@ -130,4 +130,4 @@ You can test it out in the **Playground on Snapshot**: {% embed url="https://snapshot.org/#/playground/delegation?query=eyJwYXJhbXMiOnsic3ltYm9sIjoiUE9IIChkZWxlZ2F0ZWQpIiwic3RyYXRlZ2llcyI6W3sibmFtZSI6ImVyYzIwLWJhbGFuY2Utb2YiLCJwYXJhbXMiOnsiYWRkcmVzcyI6IjB4MWRBRDg2MjA5NWQ0MGQ0M2MyMTA5MzcwMTIxY2YwODc2MzI4NzRkQiIsImRlY2ltYWxzIjowfX1dfSwibmV0d29yayI6IjEiLCJzbmFwc2hvdCI6IiIsImFkZHJlc3NlcyI6WyIweDNjMTNmMkI1NkFGNjE0YUM2MzgxMjY1RWNCM0I2MTliQTI2Q0M2NDEiLCIweDA0OGZlZTdjMzI3OWEyNGFmMDc5MGI2YjAwMmRlZDQyYmUwMjFkMmIiLCIweDEzOWE5MDMyYTQ2YzNhZmUzNDU2ZWI1ZjBhMzUxODNiNWYxODljYWUiXX0." %} -[^1]: By _delegators_ we mean users who have delegated their Voting Power to other address, the _delegate._ +[^1]: By _delegators_ we mean users who have delegated their Voting power to other address, the _delegate._ diff --git a/space-handbook/liquidity-staking-pool.md b/space-handbook/liquidity-staking-pool.md index 52317e5..3c35d6f 100644 --- a/space-handbook/liquidity-staking-pool.md +++ b/space-handbook/liquidity-staking-pool.md @@ -1,18 +1,18 @@ --- description: >- - Include tokens added in liquidity pools or staking contracts into Voting Power + Include tokens added in liquidity pools or staking contracts into Voting power calculation besides those held in users' wallets. --- # Liquidity / staking pool -At the moment, Snapshot already supports calculating the Voting Power of the underlying token in the LP/staking contract from the most popular AMMs[^1] like Uniswap v2 and v3, Balancer, or SushiSwap. +At the moment, Snapshot already supports calculating the Voting power of the underlying token in the LP/staking contract from the most popular AMMs[^1] like Uniswap v2 and v3, Balancer, or SushiSwap. This page only goes through popular strategies as projects may have a different method to call deposited balance in their contracts, which is often customized for a specific use case. By enabling such a strategy in your space, you can allow the proposal to capture more users interested in your governance. -Some spaces allow only users holding tokens in liquidity/staking pools to have Voting Power. +Some spaces allow only users holding tokens in liquidity/staking pools to have Voting power. ### [uniswap](https://snapshot.org/#/strategy/uniswap) @@ -21,7 +21,7 @@ The strategy fetches the balance of the input token address in all **Uniswap-v2* This allows uni-v2 LP token holders to vote based on the underlying token cumulated in each pool. {% hint style="info" %} -For instance, users who have 1 DAI in the DAI-USDC pool, and 2 DAI in the DAI-ETH pool, will have **3 Voting Power**. +For instance, users who have 1 DAI in the DAI-USDC pool, and 2 DAI in the DAI-ETH pool, will have **3 Voting power**. {% endhint %} **Strategy setup:** @@ -51,7 +51,7 @@ The `staked-uniswap` strategy allows you to get token balance of an LP in a stak **Strategy setup:** -* `tokenAddress`: the underlying token you want to use to calculate Voting Power +* `tokenAddress`: the underlying token you want to use to calculate Voting power * `uniswapAddress`: the Uniswap LP address where users can deposit their token * `stakingAddress`: the staking contract address where users stake their LP token diff --git a/space-handbook/most-common.md b/space-handbook/most-common.md index 20edb02..ece6726 100644 --- a/space-handbook/most-common.md +++ b/space-handbook/most-common.md @@ -14,7 +14,7 @@ The minimum setup required to run your governance on Snapshot consists of: * choosing a Validation strategy for proposal creation {% hint style="info" %} -To recap what Voting and Validation Strategies are: +To recap what Voting and Validation strategies are: :zap: [**Validation strategies**](../user-guides/strategies/validation-strategies.md) are a way to define who is allowed to vote on a proposal or create a new one. @@ -65,7 +65,7 @@ You can test it out in the **Playground on Snapshot**: This strategy is designed for NFT holdings and is similar to [erc20-balance-of](most-common.md#erc20-balance-of). {% endhint %} -This strategy returns the balance for a specific ERC721 NFT as the user's Voting Power. +This strategy returns the balance for a specific ERC721 NFT as the user's Voting power. **Strategy setup:** @@ -85,7 +85,7 @@ This allows you to poll your community without referencing the number of ETH the If you want to use this approach for another token, have a look at the [**erc20-with-balance**](https://snapshot.org/#/strategy/erc20-with-balance) strategy. {% endhint %} -You can also use this strategy to set a voting threshold by adding an optional parameter `minBalance` and defining the minimum required balance which will give the user the **eligibility to vote** and **1 Voting Power**. The parameter value is set to 0 by default. +You can also use this strategy to set a voting threshold by adding an optional parameter `minBalance` and defining the minimum required balance which will give the user the **eligibility to vote** and **1 Voting power**. The parameter value is set to 0 by default. {% hint style="info" %} Using a low minimum balance, this strategy can be used as a proxy for "active Ethereum address", based on the assumption that active addresses will always have some ETH to pay the fees. @@ -108,7 +108,7 @@ You can test it out in the **Playground on Snapshot**: #### [whitelist](https://snapshot.org/#/strategy/whitelist) -Another very popular strategy that gives you control over who can cast the votes. All you need to do is to provide the addresses which should be eligible to vote, and each will have 1 Voting Power. +Another very popular strategy that gives you control over who can cast the votes. All you need to do is to provide the addresses which should be eligible to vote, and each will have 1 Voting power. {% hint style="info" %} The wallet address can also be its corresponding **ENS domain.** @@ -145,30 +145,30 @@ You can test it out in the **Playground on Snapshot**: :zap: [**Validation strategies**](../user-guides/strategies/validation-strategies.md) are a way to define who is allowed to vote on a proposal or create a new one. {% hint style="info" %} -All spaces are now **required to use Proposal Validation** in order to minimise the risk of malicious proposals. You can read more about this requirement [here](../user-guides/spaces/settings.md#proposal-validation). +All spaces are now **required to use Proposal validation** in order to minimise the risk of malicious proposals. You can read more about this requirement [here](../user-guides/spaces/settings.md#proposal-validation). {% endhint %} -You can also configure a Validation strategy for voting. The combination of Voting Strategies and Voting validation allows you to achieve high customization of your governance process. How? Let's go through a couple of possible scenarios: +You can also configure a Validation strategy for voting. The combination of Voting strategies and Voting validation allows you to achieve high customization of your governance process. How? Let's go through a couple of possible scenarios: -* You are using several Voting strategies for the Voting Power calculation, and at the same time, you want to require each user to have at least 10 VP to be able to cast a vote. You can then use [Basic Validation](../user-guides/strategies/validation-strategies.md#validation-strategy-example-basic) with a minimum score of 10. -* Only specific users should be able to vote, and their Voting Power should depend on their holdings. You can use [`whitelist`](most-common.md#whitelist) strategy in the custom Basic Validation setup, and any combination of Voting Strategies for the calculation of the individual Voting power. -* Your space is attacked by bots and you want only genuine humans to cast votes. You can use the [Gitcoin Validation](../user-guides/strategies/validation-strategies.md#validation-strategy-example-gitcoin-passport) for Sybil resistance, and select a combination of Voting Strategies for VP calculation. +* You are using several Voting strategies for the Voting power calculation, and at the same time, you want to require each user to have at least 10 VP to be able to cast a vote. You can then use [Basic Validation](../user-guides/strategies/validation-strategies.md#validation-strategy-example-basic) with a minimum score of 10. +* Only specific users should be able to vote, and their Voting power should depend on their holdings. You can use [`whitelist`](most-common.md#whitelist) strategy in the custom Basic Validation setup, and any combination of Voting strategies for the calculation of the individual Voting power. +* Your space is attacked by bots and you want only genuine humans to cast votes. You can use the [Gitcoin Validation](../user-guides/strategies/validation-strategies.md#validation-strategy-example-gitcoin-passport) for Sybil resistance, and select a combination of Voting strategies for VP calculation. Let's have a look at the currently available strategies: ### Basic Validation -The[ Basic Validation Strategy](../user-guides/strategies/validation-strategies.md#validation-strategy-example-basic) allows you to specify multiple **Voting strategies** to determine if a user is eligible to create a proposal. +The[ Basic Validation strategy](../user-guides/strategies/validation-strategies.md#validation-strategy-example-basic) allows you to specify multiple **Voting strategies** to determine if a user is eligible to create a proposal. -> [Voting Strategy](https://docs.snapshot.org/user-guides/strategies/what-is-a-strategy) is a set of conditions used to calculate user's voting power. Strategies enable Snapshot to calculate the final result of voting on a given proposal. +> [Voting strategy](https://docs.snapshot.org/user-guides/strategies/what-is-a-strategy) is a set of conditions used to calculate user's voting power. Strategies enable Snapshot to calculate the final result of voting on a given proposal. When setting the Validation strategy up it’s important to keep in mind that it is **meant to make it difficult for users outside of your community to post scam proposals**. Therefore make sure to use a **high threshold**, for example, $100 worth of your organization’s token. A good idea would be to check the holdings of previous proposal creators, both legitimate and scammers, to assess a reasonable value. -> In case the threshold you’ve set is too high for some of your community members, don’t forget that you can always add the trusted addresses as Authors, thanks to which they will surpass the Proposal Validation stage. +> In case the threshold you’ve set is too high for some of your community members, don’t forget that you can always add the trusted addresses as Authors, thanks to which they will surpass the Proposal validation stage. -Below you can see an example of the **Basic Proposal Validation** using Voting Strategies set for the space: +Below you can see an example of the **Basic Proposal validation** using Voting strategies set for the space: diff --git a/space-handbook/nft-voting/README.md b/space-handbook/nft-voting/README.md index cf5ae2d..8497175 100644 --- a/space-handbook/nft-voting/README.md +++ b/space-handbook/nft-voting/README.md @@ -1,6 +1,6 @@ --- description: >- - Learn how to use Voting Strategies to calculate users' Voting Power based on + Learn how to use Voting strategies to calculate users' Voting power based on the NFTs they hold. --- @@ -10,7 +10,7 @@ NFTs are a type of token that represents something unique or indivisible. > Unlike ERC-20 tokens, NFTs are **non-interchangeable**, meaning each token has its own distinct value and properties. NFTs are designed to represent **ownership** or **proof of authenticity** for a specific digital or physical asset. These assets can include digital art, collectibles, virtual real estate, in-game items, and more. -**So, can you give someone Voting Power if they hold an NFT from your collection?** +**So, can you give someone Voting power if they hold an NFT from your collection?** Sure thing, read on! diff --git a/space-handbook/nft-voting/most-common-erc-721.md b/space-handbook/nft-voting/most-common-erc-721.md index 863f23e..89d6c64 100644 --- a/space-handbook/nft-voting/most-common-erc-721.md +++ b/space-handbook/nft-voting/most-common-erc-721.md @@ -1,5 +1,5 @@ --- -description: Learn which strategies to use to allow users holding NFTs to get Voting Power. +description: Learn which strategies to use to allow users holding NFTs to get Voting power. --- # Most common: ERC-721 @@ -11,7 +11,7 @@ ADD SOME JOYFUL TEXT HERE In Snapshot, the `balanceOf` method is applied to both the **erc721** and **erc20** strategies. The main difference in their implementation is that the decimal of an NFT should always be set to **0**. {% hint style="info" %} -All NFTs strategies can be combined with other Voting Strategies, like for example `erc20-balance-of` or `whitelist`. The results of each Strategy are summed up to result in the final Voting Power of each user. +All NFTs strategies can be combined with other Voting strategies, like for example `erc20-balance-of` or `whitelist`. The results of each Strategy are summed up to result in the final Voting power of each user. {% endhint %} ### [erc721](https://snapshot.org/#/strategy/erc721) @@ -27,7 +27,7 @@ One who owned the specified NFT at the snapshot of proposal creation will be abl {% hint style="info" %} If your project is releasing the NFT collection in batches with a limited amount of NFT minted on the deployment of the contract, then don't worry. -It won't affect the calculation of the Voting Power. Feel free to implement it in your space and engage your community in the governance process! ⚡️ +It won't affect the calculation of the Voting power. Feel free to implement it in your space and engage your community in the governance process! ⚡️ {% endhint %} **Strategy setup:** @@ -91,7 +91,7 @@ This strategy is a modification of [erc721-with-tokenid](most-common-erc-721.md# It allows **1 vote per whitelisted tokenID** specified in the parameter. -So in contrary to the previous strategy, the user who holds **three NFTs**, each included in the strategy setup, will have **3 Voting Power**. +So in contrary to the previous strategy, the user who holds **three NFTs**, each included in the strategy setup, will have **3 Voting power**. **Strategy setup:** @@ -122,7 +122,7 @@ The NFT can be assigned a **different weight** based on the range its token ID f If it doesn't fit into any range, it'll still be counted as 1 by `defaultWeight` setting. However, If you don't want to include the NFT that's **outside of the range** into voting power, simply set that `defaultWeight` to 0. {% endhint %} -For example, a user who owns 3 NFTs with the tokenIds: `1000`, `6000` and `8000` respectively will have **3** Voting Power. \[(1\*2)+(1\*1)+(1\*0)] +For example, a user who owns 3 NFTs with the tokenIds: `1000`, `6000` and `8000` respectively will have **3** Voting power. \[(1\*2)+(1\*1)+(1\*0)] **Strategy setup:** diff --git a/space-handbook/nft-voting/multi-token-erc-1155.md b/space-handbook/nft-voting/multi-token-erc-1155.md index fc05eb9..8bf1c92 100644 --- a/space-handbook/nft-voting/multi-token-erc-1155.md +++ b/space-handbook/nft-voting/multi-token-erc-1155.md @@ -11,7 +11,7 @@ Let's start with a quick overview of the [ERC721](https://eips.ethereum.org/EIPS | **ERC-721** | **Most widely recognized**, golden NFT standard | Inability to conduct **batch** transfers | | **ERC-1155** | Supports **different token types in a single contract**, allows batch transfers | Stores **less robust information** in order to save time and transaction costs | -Let's have a look at what Voting Strategies you can use in your space: +Let's have a look at what Voting strategies you can use in your space: ### [erc1155-balance-of](https://snapshot.org/#/strategy/erc1155-balance-of) @@ -61,7 +61,7 @@ You can test it out in the **Playground on Snapshot:** ### [erc1155-balance-of-ids](https://snapshot.org/#/strategy/erc1155-balance-of-ids) -Use this strategy if you want to calculate the Voting Power taking into account **multiple tokenIDs.** +Use this strategy if you want to calculate the Voting power taking into account **multiple tokenIDs.** {% hint style="danger" %} Try using this strategy with only a few tokenIDs passed in the parameter for the Score API server is likely to have difficulty handling a large number of requests. @@ -86,9 +86,9 @@ You can test it out in the **Playground on Snapshot:** ### [erc1155-with-multiplier](https://snapshot.org/#/strategy/erc1155-with-multiplier) -The equivalent of the [#erc721-with-multiplier](most-common-erc-721.md#erc721-with-multiplier "mention")Voting Strategy. +The equivalent of the [#erc721-with-multiplier](most-common-erc-721.md#erc721-with-multiplier "mention")Voting strategy. -By adjusting the `multiplier` to 5, if a user owns 1 DAWN in his wallet, they will get **5 Voting Power** (1\*5). +By adjusting the `multiplier` to 5, if a user owns 1 DAWN in his wallet, they will get **5 Voting power** (1\*5). **Strategy setup:** diff --git a/space-handbook/nft-voting/poap-proof-of-attendance.md b/space-handbook/nft-voting/poap-proof-of-attendance.md index c3d68b0..eb02cba 100644 --- a/space-handbook/nft-voting/poap-proof-of-attendance.md +++ b/space-handbook/nft-voting/poap-proof-of-attendance.md @@ -1,5 +1,5 @@ --- -description: Take POAPs into account when calculating the individual Voting Power. +description: Take POAPs into account when calculating the individual Voting power. --- # POAP - Proof of Attendance @@ -16,13 +16,13 @@ Its **contract** can be found here: [0x22C1f6050E56d2876009903609a2cC3fEf83B415] Every single POAP has a unique **tokenID**. {% endhint %} -Now, how can you reward your community for their attendance by giving them Voting Power? +Now, how can you reward your community for their attendance by giving them Voting power? There are several strategies that you can use for your Space: ### [poap](https://snapshot.org/#/strategy/poap) -The `poap` strategy returns the **balance** of POAP for a certain event as Voting Power. However, when the `eventIds` is skipped, it will return the number of all POAP tokens owned by the address. +The `poap` strategy returns the **balance** of POAP for a certain event as Voting power. However, when the `eventIds` is skipped, it will return the number of all POAP tokens owned by the address. **Strategy setup:** diff --git a/space-handbook/sybil-resistance-scam-and-spam-prevention.md b/space-handbook/sybil-resistance-scam-and-spam-prevention.md index f06d206..7041874 100644 --- a/space-handbook/sybil-resistance-scam-and-spam-prevention.md +++ b/space-handbook/sybil-resistance-scam-and-spam-prevention.md @@ -19,8 +19,8 @@ In the crypto world, attacks, hacks, and scams are unfortunately all too common. There are multiple ways which can help you minimise the risk of scams, bots and spam behaviors within your space. We will look into: * [Space roles](sybil-resistance-scam-and-spam-prevention.md#1.-space-roles) -* [Validation Strategies](sybil-resistance-scam-and-spam-prevention.md#2.-validation-strategies) (use for Proposal Creation and Voting) -* [Voting Strategies ](sybil-resistance-scam-and-spam-prevention.md#3.-voting-strategies)(use for Voting Validation) +* [Validation strategies](sybil-resistance-scam-and-spam-prevention.md#2.-validation-strategies) (use for Proposal Creation and Voting) +* [Voting strategies ](sybil-resistance-scam-and-spam-prevention.md#3.-voting-strategies)(use for Voting validation) ## 1. Space roles @@ -51,7 +51,7 @@ Voilà! Now you and your Moderators can keep an eye on the notifications and rea ### Authors -It is also possible to whitelist accounts which will be allowed to create new proposals regardless of the chosen Validation Strategy (more on the strategies in the next section). +It is also possible to whitelist accounts which will be allowed to create new proposals regardless of the chosen Validation strategy (more on the strategies in the next section). Once added as **Authors** in the **Members** tab in the space settings they will surpass the validation process and will be able to create new proposals in the space. @@ -63,31 +63,31 @@ If you wish to limit proposal creators to Admins, Moderators and Authors only, y
-## 2. Validation Strategies +## 2. Validation strategies -In technical terms a [Validation Strategy](https://docs.snapshot.org/user-guides/strategies/what-is-a-strategy-1) is a JavaScript function that returns a boolean (`true` or `false`) for the connected account to define if someone is eligible to create a new proposal or cast a vote. +In technical terms a [Validation strategy](https://docs.snapshot.org/user-guides/strategies/what-is-a-strategy-1) is a JavaScript function that returns a boolean (`true` or `false`) for the connected account to define if someone is eligible to create a new proposal or cast a vote. -> **Each space can use one Proposal and one Voting Validation for all of its proposals at a time**. +> **Each space can use one Proposal and one Voting validation for all of its proposals at a time**. Validation strategy can check both for monetary and non-financial assets of the user like POAPs, Gitcoin Passport stamps. {% hint style="info" %} -All spaces are now **required to use Proposal Validation** in order to minimise the risk of malicious proposals. +All spaces are now **required to use Proposal validation** in order to minimise the risk of malicious proposals. {% endhint %} ### Basic Validation -The[ Basic Validation Strategy](../user-guides/strategies/validation-strategies.md#validation-strategy-example-basic) allows you to specify multiple **Voting Strategies** to determine if a user is eligible to create a proposal. +The[ Basic Validation strategy](../user-guides/strategies/validation-strategies.md#validation-strategy-example-basic) allows you to specify multiple **Voting strategies** to determine if a user is eligible to create a proposal. -> [Voting Strategy](https://docs.snapshot.org/user-guides/strategies/what-is-a-strategy) is a set of conditions used to calculate user's voting power. Strategies enable Snapshot to calculate the final result of voting on a given proposal. +> [Voting strategy](https://docs.snapshot.org/user-guides/strategies/what-is-a-strategy) is a set of conditions used to calculate user's voting power. Strategies enable Snapshot to calculate the final result of voting on a given proposal. -When setting the Validation Strategy up it’s important to keep in mind that it is **meant to make it difficult for users outside of your community to post scam proposals**. +When setting the Validation strategy up it’s important to keep in mind that it is **meant to make it difficult for users outside of your community to post scam proposals**. Therefore make sure to use a **high threshold**, for example $100 worth of your organization’s token. A good idea would be to check the holdings of previous proposal creators, both legitimate and scammers, to assess a reasonable value. -> In case the threshold you’ve set is too high for some of your community members, don’t forget that you can always add the trusted addresses as Authors, thanks to which they will surpass the Proposal Validation stage. +> In case the threshold you’ve set is too high for some of your community members, don’t forget that you can always add the trusted addresses as Authors, thanks to which they will surpass the Proposal validation stage. -Below you can see an example of the **Basic Proposal Validation** using Voting Strategies set for the space: +Below you can see an example of the **Basic Proposal validation** using Voting strategies set for the space:
@@ -103,15 +103,15 @@ You can select individual or multiple stamps that matter for your space. You can
-## 3. Voting Strategies +## 3. Voting strategies ### [membership](https://snapshot.org/#/strategy/membership) Useful when combined with Quadratic Voting, which provides a certain level of Sybil resistance. -The strategy combines any arbitrary Voting Strategy defining a membership with any Voting Strategy calculating the Voting Power of a user. In the idea **one can only vote if he passes the membership strategy**, the membership here can be an identity symbol like possessing a [UID](https://etherscan.io/address/0xba0439088dc1e75F58e0A7C107627942C15cbb41) or a [PUNK](https://etherscan.io/token/0xb47e3cd837ddf8e4c57f05d70ab865de6e193bbb) (with an `erc721` strategy) or any other custom verification strategy based on on-chain behavior. +The strategy combines any arbitrary Voting strategy defining a membership with any Voting strategy calculating the Voting power of a user. In the idea **one can only vote if he passes the membership strategy**, the membership here can be an identity symbol like possessing a [UID](https://etherscan.io/address/0xba0439088dc1e75F58e0A7C107627942C15cbb41) or a [PUNK](https://etherscan.io/token/0xb47e3cd837ddf8e4c57f05d70ab865de6e193bbb) (with an `erc721` strategy) or any other custom verification strategy based on on-chain behavior. -The membership portion is binary. If the membership strategy returns any number > 0 for an address, then user is considered a member and their Voting Power will be the result of the `votingPowerStrategy`. +The membership portion is binary. If the membership strategy returns any number > 0 for an address, then user is considered a member and their Voting power will be the result of the `votingPowerStrategy`. Otherwise voting power for that address will be 0. diff --git a/space-handbook/voting-threshold.md b/space-handbook/voting-threshold.md index 1898364..78ce72b 100644 --- a/space-handbook/voting-threshold.md +++ b/space-handbook/voting-threshold.md @@ -4,33 +4,33 @@ description: Define criteria that users have to meet in order to be eligible to # Voting threshold -Suppose you want to restrict the ability to vote within your community for example to prevent bots from affecting the results or to prioritize members with higher stakes in your organization. In that case, you can do so by setting up Voting Strategies or a combination of Voting and Validation Strategies for your space. +Suppose you want to restrict the ability to vote within your community for example to prevent bots from affecting the results or to prioritize members with higher stakes in your organization. In that case, you can do so by setting up Voting strategies or a combination of Voting and Validation strategies for your space. -To recap what Voting and Validation Strategies are: +To recap what Voting and Validation strategies are: -[Validation Strategies](../user-guides/strategies/validation-strategies.md) are a way to define who is allowed to vote on a proposal or create a new one. +[Validation strategies](../user-guides/strategies/validation-strategies.md) are a way to define who is allowed to vote on a proposal or create a new one. -[Voting Strategies](../user-guides/strategies/voting-strategies.md) calculate how much Voting Power each user has. +[Voting strategies](../user-guides/strategies/voting-strategies.md) calculate how much Voting power each user has. -## Voting Validation +## Voting validation -This solution is a combination of any Voting Strategy/-ies and Voting Validation. +This solution is a combination of any Voting strategy/-ies and Voting validation. -Defining the required threshold of the user's Voting Power can be set up simply and leverage the Voting Strategies used in the Space. +Defining the required threshold of the user's Voting power can be set up simply and leverage the Voting strategies used in the Space. -Go to Space Settings and open the **Voting** tab. At the bottom you can find the Validation section: +Go to Space settings and open the **Voting** tab. At the bottom you can find the Validation section:
-### Basic Voting Validation +### Basic Voting validation -Select the [**Basic Voting Validation**](../user-guides/strategies/validation-strategies.md#validation-strategy-example-basic)**.** +Select the [**Basic Voting validation**](../user-guides/strategies/validation-strategies.md#validation-strategy-example-basic)**.**
-This way you can easily define how much Voting Power is required for the users to cast votes on Proposals in your Space. Voting Power is calculated on the basis of the Voting Strategies set for your Space. +This way you can easily define how much Voting power is required for the users to cast votes on Proposals in your Space. Voting power is calculated on the basis of the Voting strategies set for your Space. -For example, if your Voting Strategy is [`erc20-balance-of`](https://snapshot.org/#/strategy/erc20-balance-of) and a user holds 20 tokens, their Voting Power will be 20 and they will be eligible to vote with the Basic Validation set at 10. +For example, if your Voting strategy is [`erc20-balance-of`](https://snapshot.org/#/strategy/erc20-balance-of) and a user holds 20 tokens, their Voting power will be 20 and they will be eligible to vote with the Basic Validation set at 10. If they hold 5 tokens, they won't be able to cast a vote as it's < 10 VP. @@ -44,12 +44,12 @@ This Validation allows you to set requirements by checking the [Gitcoin Passport -## Voting Strategies +## Voting strategies -It is also possible to set a required threshold directly through a Voting Strategy. +It is also possible to set a required threshold directly through a Voting strategy. {% hint style="warning" %} -We highly recommend the first approach of using a Validation Strategy as it allows **higher flexibility and is easier to maintain** if the Voting Strategies are changed in the Space Settings. +We highly recommend the first approach of using a Validation strategy as it allows **higher flexibility and is easier to maintain** if the Voting strategies are changed in the Space settings. {% endhint %} ### [b**alance-of-with-min**](https://snapshot.org/#/strategy/balance-of-with-min) @@ -87,13 +87,13 @@ You can test it out in the **Playground on Snapshot**: You can use it with ERC-20 and ERC-721 tokens. {% endhint %} -This strategy allows you to define multiple thresholds and allocate Voting Power at each level. +This strategy allows you to define multiple thresholds and allocate Voting power at each level. -In the example below, whoever holds less than 1 unit of the token will have **0** Voting Power. +In the example below, whoever holds less than 1 unit of the token will have **0** Voting power. -Users holding more than 1 but less than 4 units of the token will have **1** Voting Power. +Users holding more than 1 but less than 4 units of the token will have **1** Voting power. -The maximum Voting Power per user will be fixed at 4 no matter how much of the token they own. +The maximum Voting power per user will be fixed at 4 no matter how much of the token they own. **Strategy setup:** @@ -131,7 +131,7 @@ You can use it with ERC-20 and ERC-721 tokens. This allows you to poll your community without referencing the number of tokens or NFTs they hold, **each address will have 1VP**. {% endhint %} -Now, to use this strategy to set a voting threshold you can add an optional parameter `minBalance` and define the minimum required balance which will give the user the **eligibility to vote** and **1 Voting Power**. The parameter value is set to 0 by default. +Now, to use this strategy to set a voting threshold you can add an optional parameter `minBalance` and define the minimum required balance which will give the user the **eligibility to vote** and **1 Voting power**. The parameter value is set to 0 by default. **Strategy setup:** @@ -154,13 +154,13 @@ You can test it out in the **Playground on Snapshot**: You can use the `math` strategy flexibly with various tokens and networks. This example demonstrates how to set a threshold taking into account tokens on different chains. {% endhint %} -`Math` strategy is powerful in its composability. It allows you to apply common mathematical operations to the outputs of Voting Strategies. +`Math` strategy is powerful in its composability. It allows you to apply common mathematical operations to the outputs of Voting strategies. -As an example, you can take a square root of the Voting Power calculated by [erc20-balance-of](https://snapshot.org/#/strategy/erc20-balance-of), or the lower (`min`) value out of two different Voting Strategies. You can see all possibilities on the [strategy page](https://snapshot.org/#/strategy/math). +As an example, you can take a square root of the Voting power calculated by [erc20-balance-of](https://snapshot.org/#/strategy/erc20-balance-of), or the lower (`min`) value out of two different Voting strategies. You can see all possibilities on the [strategy page](https://snapshot.org/#/strategy/math). #### How to set it up for a multichain scenario? -If the Voting Power calculated for your space is based on tokens on different chains and you want to set a minimum threshold defining if a user is eligible to vote, you can use the `a-if-lt-b` operand. Don't worry if it sounds cryptic, we will go through it step by step. +If the Voting power calculated for your space is based on tokens on different chains and you want to set a minimum threshold defining if a user is eligible to vote, you can use the `a-if-lt-b` operand. Don't worry if it sounds cryptic, we will go through it step by step. | Operation | Operand count | Description | | ----------- | ------------- | ------------------------- | @@ -168,7 +168,7 @@ If the Voting Power calculated for your space is based on tokens on different ch Let's look at the formula first: `(x, a, b) = x < b ? a : x`, where: -* **x** - sum of Voting Power calculated by the two Voting Strategies on chains `137` and `1` (as per the example below) +* **x** - sum of Voting power calculated by the two Voting strategies on chains `137` and `1` (as per the example below) * **a** - first constant, in our case it's **0** * **b** - first constant, in our case it's **100** @@ -219,10 +219,10 @@ Let's look at the formula first: `(x, a, b) = x < b ? a : x`, where: The algorithm will check if **x** is smaller than **b**, the second constant: -* if it's below **b**, the final Voting Power will be set to **a,** first constant -> **0** -* if it's equal to and higher than **b**, the final Voting Power will be set to **x**, the sum of result from the Voting Strategies +* if it's below **b**, the final Voting power will be set to **a,** first constant -> **0** +* if it's equal to and higher than **b**, the final Voting power will be set to **x**, the sum of result from the Voting strategies -**As you can see we can easily define what is the minimum Voting Power (our example: 100) coming from different chains that is required for the user to vote!** +**As you can see we can easily define what is the minimum Voting power (our example: 100) coming from different chains that is required for the user to vote!** You can test it out in the **Playground on Snapshot**: @@ -238,7 +238,7 @@ If you want to require users to hold specific tokens in order to be eligible to The minimum balance for each token can be customized. -Users who meet the criteria will receive **1 Voting Power** regardless of the total value of the tokens they hold. +Users who meet the criteria will receive **1 Voting power** regardless of the total value of the tokens they hold. {% hint style="warning" %} Note, that the `minBalance` parameter is exclusive. It means that when set to **1**, the user has to hold more than **1** of the specified token in order to vote. diff --git a/tools/snapshot.js.md b/tools/snapshot.js.md index fc84da0..442de23 100644 --- a/tools/snapshot.js.md +++ b/tools/snapshot.js.md @@ -242,7 +242,7 @@ const space = 'yam.eth'; const delegation = false; snapshot.utils.getVp(address, network, strategies, snapshot, space, delegation).then(vp => { - console.log('Voting Power', vp); + console.log('Voting power', vp); }); js ``` diff --git a/user-guides/delegation.md b/user-guides/delegation.md index 6e63334..e6c6e6a 100644 --- a/user-guides/delegation.md +++ b/user-guides/delegation.md @@ -1,6 +1,6 @@ --- description: >- - Discover the delegates of specific spaces and delegate your Voting Power + Discover the delegates of specific spaces and delegate your Voting power directly through Snapshot, --- @@ -8,9 +8,9 @@ description: >- ## How to delegate? -Snapshot enables a couple of ways to delegate your Voting Power to another address (a delegate[^1]). +Snapshot enables a couple of ways to delegate your Voting power to another address (a delegate[^1]). -You can delegate your Voting Power via: +You can delegate your Voting power via: 👉 [Delegates Registry per Space](delegation.md#delegates-registry) (if the Space has set up their custom delegation contract) @@ -21,7 +21,7 @@ This is a great solution for those who are **not sure who to delegate** their VP 👉 [General Snapshot's delegation page](delegation.md#from-snapshot-interface) {% hint style="info" %} -The quickest solution to delegate the Voting Power to a **known address.** +The quickest solution to delegate the Voting power to a **known address.** {% endhint %} 👉 [Smart Contract](delegation.md#with-a-smart-contract) @@ -42,11 +42,11 @@ Head to the Space page and click **Delegates** in the left sidebar**:**
-You will then see a list of delegates for the Space with the number of their delegators[^2] and their total Voting Power within the Space. +You will then see a list of delegates for the Space with the number of their delegators[^2] and their total Voting power within the Space.
-You can delegate your Voting Power to one of the delegates directly by clicking the **`Delegate`** button: +You can delegate your Voting power to one of the delegates directly by clicking the **`Delegate`** button:
@@ -90,9 +90,9 @@ Delegations are stored on this subgraph:\ [https://thegraph.com/explorer/subgraph/snapshot-labs/snapshot](https://thegraph.com/explorer/subgraph/snapshot-labs/snapshot) {% hint style="info" %} -A **delegation Voting Strategy must be added** to the Snapshot space before delegated votes will be counted. You can use the [**with-delegation**](https://snapshot.org/#/strategy/with-delegation) strategy. +A **delegation Voting strategy must be added** to the Snapshot space before delegated votes will be counted. You can use the [**with-delegation**](https://snapshot.org/#/strategy/with-delegation) strategy. {% endhint %} [^1]: By _delegate_ we mean the address which receives the delegation from another user, the _delegator._ -[^2]: By _delegators_ we mean the address which has delegated their Voting Power to the _delegate_. +[^2]: By _delegators_ we mean the address which has delegated their Voting power to the _delegate_. diff --git a/user-guides/proposals/voting-types.md b/user-guides/proposals/voting-types.md index 0fbf8ff..e79c9b2 100644 --- a/user-guides/proposals/voting-types.md +++ b/user-guides/proposals/voting-types.md @@ -118,7 +118,7 @@ As a last step, we match these percentages with the total voting power of 14 tok * B: 64% of 15 = 9.6 tokens {% hint style="info" %} -All in all, you don't have to understand each step of the calculation. Yet, it should give you an idea of how Alice with 9 tokens was not able to push through his choice despite having the majority of Voting Power in the group as our QV model emphasizes the **number of individual contributors** rather than the amount contributed. +All in all, you don't have to understand each step of the calculation. Yet, it should give you an idea of how Alice with 9 tokens was not able to push through his choice despite having the majority of Voting power in the group as our QV model emphasizes the **number of individual contributors** rather than the amount contributed. {% endhint %} {% hint style="danger" %} diff --git a/user-guides/spaces/settings.md b/user-guides/spaces/settings.md index 0e4f82f..68ea093 100644 --- a/user-guides/spaces/settings.md +++ b/user-guides/spaces/settings.md @@ -64,7 +64,7 @@ Specify how the voting power should be calculated by adding one or up to 8 strat To learn more about what they are and how they work head to [voting-strategies.md](../strategies/voting-strategies.md "mention"). {% hint style="danger" %} -If you are using a [ticket](https://snapshot.org/#/strategy/ticket) strategy which gives everyone 1 vote regardless of their holdings, you are required to set up a Voting Validation. \ +If you are using a [ticket](https://snapshot.org/#/strategy/ticket) strategy which gives everyone 1 vote regardless of their holdings, you are required to set up a Voting validation. \ \ Head here to learn how to do it: [#validation-strategy-example-gitcoin-passport](../strategies/validation-strategies.md#validation-strategy-example-gitcoin-passport "mention") {% endhint %} @@ -99,7 +99,7 @@ You can provide guidelines and a template which will be displayed during the pro ### Proposal validation {% hint style="danger" %} -Due to multiple spam attacks on Snapshot each space is now required to set up a **Proposal Validation**.\ +Due to multiple spam attacks on Snapshot each space is now required to set up a **Proposal validation**.\ \ Learn how to do it in [#how-to-use-validation-strategies](../strategies/validation-strategies.md#how-to-use-validation-strategies "mention") {% endhint %} diff --git a/user-guides/strategies/validation-strategies.md b/user-guides/strategies/validation-strategies.md index 7d7b826..3a2a153 100644 --- a/user-guides/strategies/validation-strategies.md +++ b/user-guides/strategies/validation-strategies.md @@ -1,18 +1,18 @@ # Validation strategies {% hint style="info" %} -Due to many spam attacks on Snapshot all Spaces are now required to use **Proposal Validation**.\ +Due to many spam attacks on Snapshot all Spaces are now required to use **Proposal validation**.\ \ Learn how to set it up on this page or read [**our article**](https://snapshot.mirror.xyz/-uSylOUP82hGAyWUlVn4lCg9ESzKX9QCvsUgvv-ng84)**.**\ \ -If you see this error it means your space doesn't have any Proposal Validation: +If you see this error it means your space doesn't have any Proposal validation: \ {% endhint %} {% hint style="info" %} -Spaces using only a [ticket strategy](https://snapshot.org/#/strategy/ticket) are required to set a Voting Validation to secure their spaces and ensure a fair voting process preventing spam.\ +Spaces using only a [ticket strategy](https://snapshot.org/#/strategy/ticket) are required to set a Voting validation to secure their spaces and ensure a fair voting process preventing spam.\ \ Learn here how to set it up: [#voting-validation-in-space-settings](validation-strategies.md#voting-validation-in-space-settings "mention")\ \ @@ -22,13 +22,13 @@ If you see this error it means your space has to set up the Validation:\ ## What is a validation strategy? -A voting validation is a JavaScript function that returns a boolean (`true` or `false`) for the connected account. Voting validations are being used on Snapshot to decide if an **account can vote** or **create a proposal** in a specific space**.** Each space can use one voting validation for all of its proposals at a time. While voting strategies calculate the Voting Power mainly on the basis of the monetary assets, the validation strategy can serve as a protection against **Sybil attacks**. It can take into consideration how many POAPs an account owns or track the account activity to assess if the account is a bot or a **real human**. +A voting validation is a JavaScript function that returns a boolean (`true` or `false`) for the connected account. Voting validations are being used on Snapshot to decide if an **account can vote** or **create a proposal** in a specific space**.** Each space can use one voting validation for all of its proposals at a time. While voting strategies calculate the Voting power mainly on the basis of the monetary assets, the validation strategy can serve as a protection against **Sybil attacks**. It can take into consideration how many POAPs an account owns or track the account activity to assess if the account is a bot or a **real human**. The **default** validation is checking if the address has **any voting power.** If the voting power is higher than `0` the connected account is validated. A validation strategy can send a call to a node or subgraph. -When setting the Validation Strategy up it’s important to keep in mind that it is **meant to make it difficult for users outside of your community to post scam proposals or post spam votes.** +When setting the Validation strategy up it’s important to keep in mind that it is **meant to make it difficult for users outside of your community to post scam proposals or post spam votes.** -Therefore for Proposal Validation make sure to use a **high threshold**, for example $100 worth of your organization’s token. A good idea would be to check the holdings of previous proposal creators, both legitimate and scammers, to assess a reasonable value. +Therefore for Proposal validation make sure to use a **high threshold**, for example $100 worth of your organization’s token. A good idea would be to check the holdings of previous proposal creators, both legitimate and scammers, to assess a reasonable value. ## How to use validation strategies: @@ -37,13 +37,13 @@ Validation strategies can be used for two purposes: * proposal validation - determine if the account can create a new proposal, * voting validation - determine if the account can take part in the voting process. -#### Proposal Validation in Space Settings +#### Proposal validation in Space settings Head to **Proposals** tab in the sidebar to update the configuration:
-#### Voting Validation in Space Settings +#### Voting validation in Space settings Head to **Voting** tab in the sidebar to update the configuration: @@ -54,7 +54,7 @@ If you want to allow addresses with any voting power to vote you can use the def
{% hint style="info" %} -If you are using only a [ticket](https://snapshot.org/#/strategy/ticket) Voting Strategy for your space you are required to use a [Gitcoin Passport Validation](validation-strategies.md#validation-strategy-example-gitcoin-passport) for Voting to protect your space from spam votes. +If you are using only a [ticket](https://snapshot.org/#/strategy/ticket) Voting strategy for your space you are required to use a [Gitcoin Passport Validation](validation-strategies.md#validation-strategy-example-gitcoin-passport) for Voting to protect your space from spam votes. {% endhint %} ## Authors only mode @@ -65,15 +65,15 @@ If you wish to limit proposal creators to Admins, Moderators and Authors only, y ## Validation strategy example - Basic -The Basic validation strategy allows you to use existing Voting Strategies configured for your space or define a custom setup to determine if a user is eligible to create a proposal or cast a vote. +The Basic validation strategy allows you to use existing Voting strategies configured for your space or define a custom setup to determine if a user is eligible to create a proposal or cast a vote. -In order to use existing setup of Voting Strategies you can simply chose **Basic Validation** and define a required threshold as on the screenshot below. `100` corresponds to user's Voting Power calculated on the basis of the Voting Strategies. +In order to use existing setup of Voting strategies you can simply chose **Basic Validation** and define a required threshold as on the screenshot below. `100` corresponds to user's Voting power calculated on the basis of the Voting strategies.

Use current setup and define a strong threshold to avoid spam in your space.

If you wish to use a different configuration, toggle the **Use custom strategies** button and define the strategies for your use case: -

Use a custom setup using various Voting Strategies to calculate if a user is eligible to create a proposal or vote.

+

Use a custom setup using various Voting strategies to calculate if a user is eligible to create a proposal or vote.

## Validation strategy example - Gitcoin Passport From 97f34aa7f46cad163f97792b6d0c9e1dfd04a465 Mon Sep 17 00:00:00 2001 From: Zuza Zuber <39556343+zzuziak@users.noreply.github.com> Date: Tue, 8 Aug 2023 15:44:36 +0200 Subject: [PATCH 2/2] Update faq.md Co-authored-by: Less --- faq.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/faq.md b/faq.md index 116ab29..5ce75e6 100644 --- a/faq.md +++ b/faq.md @@ -284,7 +284,7 @@ You can submit your request by following the process described in the [token-ver Are there any solutions available to minimize whales' power in the voting process? -Absolutely! Have a look at the Quaratic Voting type (bear in mind that it should be parie +Absolutely! Have a look at the Quadratic voting type (bear in mind that it should be parie