pub fn create_transfer_instruction(
fee_payer: &Pubkey,
authority: &Pubkey,
input_merkle_context: &[MerkleContext],
output_compressed_account_merkle_tree_pubkeys: &[Pubkey],
output_compressed_accounts: &[TokenTransferOutputData],
root_indices: &[u16],
proof: &Option<CompressedProof>,
input_token_data: &[TokenData],
mint: Pubkey,
owner_if_delegate_is_signer: Option<Pubkey>,
is_compress: bool,
compression_amount: Option<u64>,
token_pool_pda: Option<Pubkey>,
decompress_token_account: Option<Pubkey>
) -> Result<Instruction, TransferSdkError>