Hey this is for projects who have upgradeable programs, wanted to know what best practices are normally followed in the ecosystem for securely using and storing upgrade authority keys ? I heard about snowflake but if its a program am confused how could it be used to upgrade a program?
1 Answer
Many projects use a multisig for their program upgrade authority or transfer it to a DAO and use a council token for quick updates. See here, the Mango DAO has multiple programs it has upgrade authority over. https://realms.today/dao/MNGO/assets
-
this seems really cool, just curious and for learning purposes, i think there is an example of an open source multi sig wallet, say i wanted to implement a custom program and make a pda of that program the upgrade authority, can my custom program cpi a tx to upgrade the authority of my xyz program if so , any refrence what kind of instruction is used. Commented Jul 24, 2022 at 18:43
-
btw this is pretty freakin cool, is this an official solana program (which one)? if so would love to check the multisig wallet and upgrade authority code part. Commented Jul 24, 2022 at 18:45
-
The governance program executes any transactions stored in accounts it owns. The program upgrade functions are nothing special and most of the logic for this is done in the UI. Here is the SPL gov program github.com/solana-labs/solana-program-library/tree/master/…– Henry ECommented Jul 24, 2022 at 19:58