Skip to content
This repository was archived by the owner on Mar 11, 2025. It is now read-only.

Commit 54695b2

Browse files
authored
Governance: add notes to ease collaboration (#3617)
1 parent e5d4b82 commit 54695b2

File tree

1 file changed

+27
-0
lines changed

1 file changed

+27
-0
lines changed

governance/NOTES.md

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
# Developers Notes
2+
3+
## On pub enum GovernanceAccountType
4+
5+
### Asset-specific governances are deprecated
6+
7+
The asset specific governances `ProgramGovernance, MintGovernance and TokenGovernance` are legacy and come from the time when they were top level primitives (Realms didn’t exist) and hence we wanted stronger guarantees to create governances for the relevant assets. They are deprecated now.
8+
9+
The recommendation is to use the generic governance account (`governanceV2`) to manage all kinds of assets.
10+
11+
### DAO Wallet
12+
13+
Every Governance account (which holds the governance rules) has an associated native SOL treasury (we call it DAO wallet). The relationship is always 1:1. Since the Governance account is a PDA with data it can’t be used as transaction payer and to store SOL in general. **To control programs, the recommended way is to always use the associated SOL address (DAO wallet) for authority over assets**
14+
15+
A DAO wallet is 1) PDA with no data, 2) derived from its governance account and 3) owned by System program. This way it behaves like any other wallet.
16+
17+
If the intention is to manage a program, you should use the DAO wallet as the admin auth in your program
18+
19+
*Note: as of 2022-90-17 the UI is not up-to-date and it is sill allowing users to create the deprecated asset specific governances.*
20+
21+
### Signing transactions: Use the DAO Wallet
22+
23+
Right now both PDAs (DAO Wallet and governance account) can sign Txs. However some protocols assume the singer is also a payer or beneficiary and then only the DAO wallet can be used. For that reason it’s always better to use the DAO wallet as the authority because it behaves like any other wallet and works for all scenarios. The objective is to standardize on DAO Wallet as signer to eliminate confusion.
24+
25+
### Wallet assets
26+
27+
We have the concept of wallet assets. An asset can be anything a DAO wallet can own (have authority over). This way you could define your programs as assets and show them in the wallet with your contextual actions.

0 commit comments

Comments
 (0)