Step 1Place the ancho chiles in a small bowl, cover with boiling water and let sit for 20 minutes. Drain, then stem and seed; set aside.
Step 2If using raw peanuts, place them in a small, heavy-bottomed skillet over medium-low heat and dry-roast, stirring constantly and shaking the pan, until they are golden, about 15 minutes. Do not let them scorch. Set aside to cool. (Omit this step if using pre-roasted peanuts.)
Step 3Lightly sprinkle the chicken all over with salt and the ground canela. In a Dutch oven or large, heavy-bottomed skillet, heat the oil to rippling over medium-high heat. Add the chicken pieces and cook, turning once, until lightly browned, allowing about 6 to 7 minutes per side. Lift out the chicken and set aside. Add the bread slices and fry, turning, until golden, about 1 minute per side. Lift out onto paper towels and set aside. Pour off all but 2 tablespoons of fat from the pan and set the pan aside. (If no fat remains, add 2 tablespoons of oil.)
Step 4Working in batches, puree the peanuts, fried bread and drained ancho chiles in a blender along with the tomatoes, hoja santa, onion, garlic, 1 to 1 1/2 teaspoons salt, pepper to taste, sugar and the chipotles. The consistency will be heavy and pasty; add up to 1/2 cup of the chicken stock if necessary to help the action of the blades.
Step 5Return the pan to medium heat. When the fat ripples, add the pureed mixture and cook over medium-low heat, stirring constantly to keep from scorching, for 15 minutes to deepen and melt the flavors. Stir in the chicken stock, vinegar and wine. Add the chicken pieces and cook until the meat is tender, about 25 minutes. (It helps to add the breast pieces about 5 minutes after the leg pieces.)
Variation: For Puerco en Cacahuate, replace the chicken with a 2 1/2-to 3-pound piece of center-cut pork loin, browning it well on all sides in the oil and cook about 45 to 50 minutes in the sauce.