I see that the TransferSnsTreasuryFunds proposal allows transferring funds from either the ICP treasury or the SNS token treasury, as determined by the from_treasury field.
Is there any way to use this proposal type to transfer a different token (other than ICP or the SNS token) from the SNS treasury? If not, is there an alternative mechanism for handling such transfers?
You can do so by registering a generic nervous system function and then transfer them
This can be done through the toolkit https://ic-toolkit.app
If you navigate the the SNS wallet you see all the tokens the SNS owns, if a function is registered it will allow you to propose a transfer, if not you will be prompted to register the function.
Note that there is a “validate” method required to register the function, this method lives on a toolkit owned canister which can be considered a third party dependency
Thanks for the clarification! Just to confirm—if a governance canister’s subaccount holds a token other than ICP or the SNS token, transferring it requires a custom function. Since only the governance canister should be able to call this function, how can I ensure that the caller is the governance canister with a specific subaccount
hey so validate method is there for icrc1 transfer method on toolkit owned canister can you please provide me the link of that canister that will be so helpful thank you in advance