coffeemug / spl-governance-docs

28 stars 2 forks source link

Open questions #1

Open coffeemug opened 3 years ago

coffeemug commented 3 years ago

Please post if you can answer these:

Can a single token governance account manage associated token addresses, or is it one governance per token account? Nope, we must create a token governance account per token.

If I want to manage a treasury of SOL, is there a governance I can use for that? Or do I have to wrap into tokens? ??

There are four governance objects-- one for program upgrades, one for mints, one for token transfers. But what is the fourth one for and how is it meant to be used? ??

Do we have to manually transfer lamports into a bazillion accounts that are being created so they don't get garbage collected? ??

If we want to share an address with the public for people to send tokens to the realm, how is that to be done? How can we create governances to manage the realm’s associated token accounts? Does the realm owner have permissions to do it? ??

In that vein, what is realm ownership, and what does the realm owner have permissions to do? ??

coffeemug commented 3 years ago

Sebastian from the Solana team answered with the following (courtesy @artproject from Superteam DAO):

  1. No, you don’t have to transfer lamports manually, every time an account is created it’s allocated with rent exempt amount
  2. The governance types differ by the type of authority transferred or verified at creation time (upgrade, mint, owner for program, mint and token account accordingly) . They are provided as convenience for the most common use cases and then the UI displays them differently (different icons, info and pre-canned instructions) but other than that there is no difference and you could just use governance account for everything. In fact I want to make that distinction UI side only in future versions
  3. You could use a treasury of SOL, but the UI doesn’t help with this use case yet, and you would have to manually create the relevant instructions without wrapping
  4. Yes, a governance can manage any number of authorities. You can have a single governance which manages program upgrades, tokens mints etc… The governance account PDA becomes the relevant authority which can sign transactions
  5. Regarding the tutorial: A. You can build just governance by running cargo build from /governance/program directory B. Any solana instruction can be used with governance. The instruction generator form displayed with (+) shows some pre-canned instructions frequently used with the given governed asset as convenience. ex mint instruction for mints and upgrade for programs, but in general case any instruction could be used. C. As best practise the governance program instance should be put under governance of the realm After realm is created the wallet which created it has the authority over it. This authority should be transferred to one of the governances using the ‘Set Realm Authority option’ D. The oyster UI is MVP and we are working with MNGO on the new UI, the live version of it: https://dao-beta.mango.markets/realms and github https://github.com/blockworks-foundation/governance-ui