pub fn authorize_with_seed(
transaction_context: &TransactionContext,
instruction_context: &InstructionContext,
stake_account: &mut BorrowedAccount<'_>,
authority_base_index: IndexOfAccount,
authority_seed: &str,
authority_owner: &Pubkey,
new_authority: &Pubkey,
stake_authorize: StakeAuthorize,
clock: &Clock,
custodian: Option<&Pubkey>,
) -> Result<(), InstructionError>