Hey hello 👋
Whats the problem we are trying to solve ?
We would like to use the Squads protocol multisig Rust SDK for creating a transaction, which would upgrade an arbitrary Solana program by calling the solana_program::bpf_loader_upgradeable::upgrade at the moment of proposal execution.
What we are finding so far ?
We are finding that the execute_message method, is only adding as signers transaction level related seeds we cannot set as upgrade_authority of target programs due to their lifetime (per tx).
What we are expecting to happen ?
We would like to add the multisig level account as signer of the CPI, so the target program to upgrade can set it as its own upgrade_authority, granting the upgrade operation through the multisig after a successful votation.
We could also use this method for changing the upgrade_authority to a new one if the multisig members decides so ...
Is this scenario possible ? Thanks in advance :)
Hey hello 👋
Whats the problem we are trying to solve ?
We would like to use the Squads protocol multisig Rust SDK for creating a transaction, which would upgrade an arbitrary Solana program by calling the solana_program::bpf_loader_upgradeable::upgrade at the moment of proposal execution.
What we are finding so far ?
We are finding that the
execute_messagemethod, is only adding as signers transaction level related seeds we cannot set asupgrade_authorityof target programs due to their lifetime (per tx).What we are expecting to happen ?
We would like to add the multisig level account as signer of the CPI, so the target program to upgrade can set it as its own
upgrade_authority, granting the upgrade operation through the multisig after a successful votation.We could also use this method for changing the
upgrade_authorityto a new one if the multisig members decides so ...Is this scenario possible ? Thanks in advance :)