Skip to content

Commit aabdbd6

Browse files
bonustrackgitbook-bot
authored andcommitted
GITBOOK-493: change request with no subject merged in GitBook
1 parent ba74983 commit aabdbd6

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

41 files changed

+368
-24
lines changed
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading

.gitbook/assets/image (1) (3) (1).png

-160 KB
Loading

.gitbook/assets/image (1) (3).png

143 Bytes
Loading

.gitbook/assets/image (1).png

70.5 KB
Loading

.gitbook/assets/image (2) (2).png

4.49 KB
Loading

.gitbook/assets/image (2).png

83.1 KB
Loading

.gitbook/assets/image (3) (2).png

-10.3 KB
Loading

.gitbook/assets/image (3).png

66.2 KB
Loading

.gitbook/assets/image (4) (1).png

-17.3 KB
Loading

.gitbook/assets/image (4).png

344 KB
Loading

.gitbook/assets/image (5) (1).png

66 KB
Loading

.gitbook/assets/image (5).png

-76.5 KB
Loading

.gitbook/assets/image (6) (1).png

-139 KB
Loading

.gitbook/assets/image (6).png

-86 KB
Loading

.gitbook/assets/image (7) (1).png

-56.3 KB
Loading

.gitbook/assets/image (7).png

294 KB
Loading

.gitbook/assets/image.png

-325 KB
Loading

SUMMARY.md

+5
Original file line numberDiff line numberDiff line change
@@ -91,6 +91,11 @@
9191
## Snapshot X
9292

9393
* [Overview](snapshot-x/overview.md)
94+
* [User guides](snapshot-x/user-guides/README.md)
95+
* [Create a space](snapshot-x/user-guides/create-a-space.md)
96+
* [Proposals](snapshot-x/user-guides/proposals.md)
97+
* [Voting](snapshot-x/user-guides/voting.md)
98+
* [Safe execution setup](snapshot-x/user-guides/safe-execution-setup.md)
9499
* [Protocol](snapshot-x/protocol/README.md)
95100
* [Overview](snapshot-x/protocol/overview.md)
96101
* [Space actions](snapshot-x/protocol/space-actions.md)

snapshot-x/protocol/starknet-specifics.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ This is all handled seamlessly by the Snapshot X protocol by taking advantage of
1111
This diagram represents the flow of a proposal that will get executed on L1, with voters using their regular EVM account to vote.\
1212

1313

14-
<figure><img src="../../.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
14+
<figure><img src="../../.gitbook/assets/image (7).png" alt=""><figcaption></figcaption></figure>
1515

1616
[https://whimsical.com/storageproofs-7kjLqMvsR3okzFgMrad9Fu](https://whimsical.com/storageproofs-7kjLqMvsR3okzFgMrad9Fu)
1717

snapshot-x/user-guides/README.md

+2
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
# User guides
2+
+157
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,157 @@
1+
---
2+
description: Learn how to create a new space for your organization.
3+
---
4+
5+
# Create a space
6+
7+
Head to the [Create space page](https://snapshot.box/#/create) and follow the below steps:
8+
9+
## 1. Organization's details
10+
11+
Provide the profile information like `name`, `description`, social links or handles and `treasury`.
12+
13+
<figure><img src="../../.gitbook/assets/Screenshot 2023-04-26 at 10.19.09.png" alt=""><figcaption></figcaption></figure>
14+
15+
In order to set your Treasury select the network first.
16+
17+
{% hint style="info" %}
18+
**Treasury** is the address of your organisation's main account.
19+
{% endhint %}
20+
21+
<figure><img src="../../.gitbook/assets/Screenshot 2023-04-03 at 13.58.47.png" alt=""><figcaption></figcaption></figure>
22+
23+
## 2. Select network
24+
25+
Choose the network for your organisation. At the moment Snapshot X works with Ethereum.
26+
27+
ℹ️ _Starknet implementation is coming soon._
28+
29+
## 3. Voting strategies
30+
31+
Voting Strategies calculate the **Voting Power** of each user.
32+
33+
{% hint style="info" %}
34+
If you are not familiar with what a Voting Strategy is head to [Broken link](broken-reference "mention") to learn more.
35+
{% endhint %}
36+
37+
Select a Voting Strategy from the list of available options and provide the required details.
38+
39+
For example for the **Delegated Compound Token** you have to provide the token contract address, its decimals and the symbol:
40+
41+
<figure><img src="../../.gitbook/assets/Screenshot 2023-04-26 at 10.21.13.png" alt=""><figcaption></figcaption></figure>
42+
43+
## 4. Authenticators
44+
45+
Choose how users will be authenticated in order to create a proposal or cast a vote.
46+
47+
{% hint style="info" %}
48+
If you are not familiar with what Authenticators are head to [Broken link](broken-reference "mention")to learn more.
49+
{% endhint %}
50+
51+
The two authenticators provided by Snapshot X are:
52+
53+
#### [Ethereum signature](broken-reference)
54+
55+
It will authenticate a user based on a message signed by an Ethereum private key.
56+
57+
#### [Ethereum transaction](broken-reference)
58+
59+
Users have to submit a transaction on Ethereum. Authentication is proving that the sender's address is valid.
60+
61+
## 5. Proposal validation
62+
63+
Proposal Validation is setting **requirements** that user needs to meet in order to **create a new proposal.**
64+
65+
{% hint style="info" %}
66+
If you are not familiar with what a Proposal Validation is head to [Broken link](broken-reference "mention") to learn more.
67+
{% endhint %}
68+
69+
Define the minimum Voting Power required to create a new proposal.
70+
71+
**⚠️ We highly recommend setting a high threshold to avoid scam proposals. ⚠️**
72+
73+
<figure><img src="../../.gitbook/assets/Screenshot 2023-04-03 at 14.05.50.png" alt=""><figcaption></figcaption></figure>
74+
75+
Once you have defined the required Voting Power, you can then select the Voting Strategies which will be used to calculate the voting power of proposal creators and assess the eligibility to create a new one:
76+
77+
<figure><img src="../../.gitbook/assets/Screenshot 2023-04-03 at 14.11.17.png" alt=""><figcaption></figcaption></figure>
78+
79+
## 6. Execution
80+
81+
Execution Strategies have two key roles:
82+
83+
1. determining **the status** of a proposal at any time,
84+
2. and **executing the payload** of a proposal if it has been accepted.
85+
86+
{% hint style="info" %}
87+
If you are not familiar with what Execution Strategies are head to [Broken link](broken-reference "mention") to learn more.
88+
{% endhint %}
89+
90+
When selecting the execution strategy you have to provide a **quorum** - minimum number of votes required for a proposal to pass.
91+
92+
### Execution strategies
93+
94+
Currently Snapshot X provides two Execution Strategies:
95+
96+
#### Avatar
97+
98+
-> ideal solution for treasuries on [Safe](https://safe.global/)
99+
100+
-> executes transactions on an [Avatar contract](https://github.com/gnosis/zodiac/blob/master/contracts/interfaces/IAvatar.sol)
101+
102+
-> uses simple quorum
103+
104+
{% hint style="info" %}
105+
Avatar contract is any contract which implements the `IAvatar`interface.\
106+
**Safe** is an example of an Avatar contract.
107+
{% endhint %}
108+
109+
{% hint style="warning" %}
110+
To set the Avatar Execution Strategy up fully you have to enable it on your Safe account after you have created your space.\
111+
\
112+
**Follow this guide to complete the setup:**\
113+
[Broken link](broken-reference "mention")
114+
{% endhint %}
115+
116+
#### Timelock
117+
118+
-> adds additional **security layer** to review or cancel transactions before they get executed
119+
120+
-> executes transactions after a delay specified in **seconds**
121+
122+
-> uses simple quorum
123+
124+
{% hint style="info" %}
125+
When a proposal with this strategy is executed, the proposal transactions are queued in the Timelock for `timelockDelay` seconds before they can be executed.
126+
{% endhint %}
127+
128+
### 7. Voting
129+
130+
Customize the setup for voting which will affect **all proposals** in your space:
131+
132+
<figure><img src="../../.gitbook/assets/Screenshot 2023-04-26 at 10.46.38.png" alt=""><figcaption></figcaption></figure>
133+
134+
* **Voting delay** - The delay between when a proposal is created, and when the voting starts. A value of 0 means that as soon as the proposal is created anyone can vote while a value of 3600 means that voting will start 3600 seconds after the proposal is created.
135+
* **Minimum voting duration** - The minimum duration of the voting period. It is **impossible to execute a proposal before** **this period** has elapsed.
136+
* **Maximum voting duration** - The maximum duration of the voting period, it is **impossible to cast a vote after this period** has passed. The **`minimum voting duration`** must be less than or equal to this value.
137+
138+
{% hint style="info" %}
139+
We highly recommend implementing a Voting Delay to allow more time to review proposal's content and identify malicious proposals before voting starts.
140+
{% endhint %}
141+
142+
### 7. Controller
143+
144+
Space controller is a user that has a **full control over the space settings.**
145+
146+
The address can differ from your own, you can for example set a multisig account as the controller.
147+
148+
### 8. Sign transaction(s)
149+
150+
Click **Create** and sign transaction(s) in your wallet. You will have to sign multiple transactions, each for individual contracts to be deployed:
151+
152+
* Space contract
153+
* Execution strategy contracts - each space has its execution strategy deployed as an individual contract
154+
155+
<figure><img src="../../.gitbook/assets/image (3).png" alt=""><figcaption></figcaption></figure>
156+
157+
And that's it! 🎉

snapshot-x/user-guides/proposals.md

+92
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,92 @@
1+
---
2+
description: Learn what a proposal is and how to create one.
3+
---
4+
5+
# Proposals
6+
7+
## ​​What is a proposal?&#x20;
8+
9+
Proposal is the key element of the voting system. It presents a change suggestion related to a specific organization and enables eligible users to cast their vote.
10+
11+
Voting power for each user is calculated on the basis of the voting strategies selected in the [space settings](broken-reference).​
12+
13+
Each proposal has the same voting system which provides three choices: **accept**, **reject**, **abstain**.
14+
15+
## Who can create a proposal? <a href="#who-can-create-a-proposal" id="who-can-create-a-proposal"></a>
16+
17+
Users who:
18+
19+
* authenticate themselves via Authenticators[^1] whitelisted by the space,&#x20;
20+
* and are eligible according to the [Proposal validation strategy](#user-content-fn-2)[^2] selected by the space.
21+
22+
## Create a proposal <a href="#create-a-proposal" id="create-a-proposal"></a>
23+
24+
### 1. Open space settings.
25+
26+
Head to the space which you wish to create your proposal for.
27+
28+
Make sure the connected wallet is **where you hold the tokens relevant** to the specific space.&#x20;
29+
30+
### 2. Click the New proposal icon
31+
32+
Click the new proposal icon in the top right corner:\
33+
34+
35+
<figure><img src="../../.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
36+
37+
### 3. Provide proposal details
38+
39+
Provide the necessary details - title, description and discussion link if there is one.
40+
41+
### 4. Choose the execution strategy
42+
43+
Select the [Execution strategy](#user-content-fn-3)[^3] you would like to use:\
44+
45+
46+
<figure><img src="../../.gitbook/assets/image (1).png" alt=""><figcaption></figcaption></figure>
47+
48+
### 5. Specify transaction details
49+
50+
Define what should happen if the proposal passes by choosing one of the execution options:
51+
52+
<figure><img src="../../.gitbook/assets/image (2).png" alt=""><figcaption></figcaption></figure>
53+
54+
A modal will open with the **transaction details** to fill in:\
55+
56+
57+
<figure><img src="../../.gitbook/assets/Screenshot 2023-04-26 at 11.44.20.png" alt=""><figcaption></figcaption></figure>
58+
59+
### 6. Publish your proposal
60+
61+
Click `Publish`​ and authenticate yourself via your wallet. Depending on the [space settings](broken-reference) you will have to sign a gasless Ethereum message and/or sign a transaction to confirm your action.
62+
63+
{% hint style="info" %}
64+
When you create a proposal by default the **timestamp** will be populated with the latest block synced from our node. The voting power of each user will be calculated for the **state of the blockchain at this specific timestamp**. \
65+
\
66+
It means that if user acquires required tokens **after** the proposal has been created, they will not be taken into account for their voting power calculation.​
67+
{% endhint %}
68+
69+
### 7. Give it a minute..
70+
71+
Wait for the transaction to succeed. You can see it's pending in the top right corner, just next to your avatar:\
72+
73+
74+
<figure><img src="../../.gitbook/assets/Screenshot 2023-04-26 at 11.57.20.png" alt=""><figcaption></figcaption></figure>
75+
76+
77+
78+
Once the icon with the pending transaction disappears, you can reload the page to view your proposal.
79+
80+
And that's it! You have created a new proposal :tada:
81+
82+
### Executing proposals <a href="#proposals-limitations" id="proposals-limitations"></a>
83+
84+
Once the proposal has reached a quorum and passed, anyone can execute the transactions specified for it by clicking the **Execute transactions** button:
85+
86+
<figure><img src="../../.gitbook/assets/Screenshot 2023-03-20 at 11.20.56.png" alt=""><figcaption></figcaption></figure>
87+
88+
[^1]: Authenticators define how users can authenticate themselves to take specific actions. You can learn more about them [here](../protocol/authenticators.md).
89+
90+
[^2]: A proposal validation strategy defines the minimum Voting power required to create a new proposal. Learn more [here](../protocol/proposal-validations.md).
91+
92+
[^3]: Execution strategies determine the status of the proposal and are responsible for execution of the proposal payload once it has passed. If you want to learn more, check [here](../protocol/execution-strategies.md).
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
---
2+
description: >-
3+
If you added the Safe execution strategy to your space you have to enable it
4+
on your Safe account after creating the space.
5+
---
6+
7+
# Safe execution setup
8+
9+
## 1. Copy the address of your Safe execution
10+
11+
Head to your space settings and scroll down to the bottom of the page and click the Safe address on the right side of the screen.
12+
13+
<figure><img src="../../.gitbook/assets/Screenshot 2023-04-26 at 11.11.39.png" alt=""><figcaption></figcaption></figure>
14+
15+
A new tab will open on the Etherscan explorer.&#x20;
16+
17+
**Copy the address of the contract:**
18+
19+
<figure><img src="../../.gitbook/assets/Screenshot 2023-04-26 at 11.14.28.png" alt=""><figcaption></figcaption></figure>
20+
21+
## 2. Open Safe dashboard of your Treasury account
22+
23+
Click the `App` tab in the sidebar to open the list of available Safe applications.
24+
25+
<figure><img src="../../.gitbook/assets/image (4).png" alt=""><figcaption></figcaption></figure>
26+
27+
## 3. Select the Zodiac app
28+
29+
<figure><img src="../../.gitbook/assets/Screenshot 2023-04-26 at 10.54.41.png" alt=""><figcaption></figcaption></figure>
30+
31+
32+
33+
## 4. Add your Safe execution strategy contract
34+
35+
Click on `Custom Module.`
36+
37+
<figure><img src="../../.gitbook/assets/Screenshot 2023-04-26 at 11.04.24.png" alt=""><figcaption></figcaption></figure>
38+
39+
Paste the contract's address you copied in the first step in the `Module Address` field.
40+
41+
<figure><img src="../../.gitbook/assets/Screenshot 2023-04-26 at 11.00.24.png" alt=""><figcaption></figcaption></figure>
42+
43+
As a last step you will have to sign a transaction.
44+
45+
**And that's it, your proposals can now be executed!** :tada:

snapshot-x/user-guides/voting.md

+52
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
---
2+
description: Learn how you can cast a vote on a proposal.
3+
---
4+
5+
# Voting
6+
7+
## Who can vote on proposals? <a href="#who-can-vote-on-proposals" id="who-can-vote-on-proposals"></a>
8+
9+
There are several aspects that define if you are eligible to vote on a specific proposal.
10+
11+
### Voting strategies <a href="#voting-strategies" id="voting-strategies"></a>
12+
13+
Each space specifies their [Voting strategies](../protocol/voting-strategies.md) in its settings. You can see the custom setup by opening the space settings. This setup can define if you are eligible to take part in the voting and what is your Voting Power calculated at the timestamp of proposal creation.
14+
15+
One of the most common questions we receive on our support channels is **Why can't I vote?**
16+
17+
More often than not the answer is - **you did not hold the sufficient amount of specified token at the time of proposal creation.**
18+
19+
## Cast a vote <a href="#cast-a-vote" id="cast-a-vote"></a>
20+
21+
### 1. Connect your wallet
22+
23+
Click the `Connect wallet` button in the top right corner.
24+
25+
Connect with the wallet provider where you **hold the tokens relevant for the space** you want to vote in.
26+
27+
### 2. Find the proposal
28+
29+
Go to the space page on Snapshot. You can vote directly from this view or go to the proposal you are interested in to read more details before you vote.
30+
31+
In the proposal page you can see your Voting Power. If it shows `0` it means you cannot vote on the selected proposal. \
32+
33+
34+
<figure><img src="../../.gitbook/assets/image (5).png" alt=""><figcaption></figcaption></figure>
35+
36+
### 3. Vote!
37+
38+
Select the option you want to vote for - **Accept, Reject, Abstain**.
39+
40+
Depending on the space settings you will have to sign a gasless Ethereum message and/or sign a transaction to confirm your action.
41+
42+
{% hint style="info" %}
43+
If you are using MetaMask you'll need to scroll to the end of the signature and click on the arrow down for the Sign button to become active. Voting on Snapshot doesn't affect your account or the funds that are associated to it.
44+
{% endhint %}
45+
46+
You will notice that a new icon has appeared in the top right corner, just next to your avatar:
47+
48+
<figure><img src="../../.gitbook/assets/image (6).png" alt=""><figcaption></figcaption></figure>
49+
50+
The number indicates the number of pending transactions. Once it disappeared you can reload to page to view your vote.\
51+
\
52+
Voilà! You have just cast a vote 🎉​

user-guides/email-notifications.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ A new pop-up window will open where you can toggle the different options:
6262

6363
&#x20;
6464

65-
<figure><img src="../.gitbook/assets/image (5).png" alt=""><figcaption></figcaption></figure>
65+
<figure><img src="../.gitbook/assets/image (5) (1).png" alt=""><figcaption></figcaption></figure>
6666

6767
## How to unsubscribe?
6868

0 commit comments

Comments
 (0)