1: Place the lamb in a baking dish. Using the tip of a paring knife, make a series of 1/2 inch deep holes spaced 1-1/2 inches apart all over the lamb.
2: Make the spice paste. Place the saffron in the bottom of a mixing bowl and grind to a fine powder with a pestle or the end of a wooden spoon. Stir in the rosewater and let stand for 10 minutes.
3: Meanwhile, roast the cardamom pods, peppercorns, and mace in a dry cast iron skillet over medium heat until fragrant, 2 minutes, shaking the pan. Transfer the spices to a small bowl and let cool to room temperature, then grind in a spice mill. Stir the spices into the rosewater mixture, followed by the yogurt, salt, cayenne, ginger, and garlic.
4: Roast the chickpea flour in the skillet over medium heat until toasted and aromatic, 2 minutes, shaking the pan. Let cool to room temperature, then stir it into the yogurt mixture to make a thick paste. Stir in 2 tablespoons melted butter. Spread the marinade all over the lamb, forcing it into the slits. Marinate the lamb in the refrigerator for at least 6 hours, preferably overnight.
5: Set up the grill for spit roasting and heat to medium-high.
6: Thread the lamb onto a rotisserie spit and attach it to the rotisserie. Spit roast the lamb until sizzling, browned, and cooked through (Indians like their lamb medium to medium-well—170 to 180 degrees), 1 hour. Start basting the lamb with melted butter after 20 minutes and baste several times.
7: Transfer the lamb to a cutting board and let it rest for 5 minutes before carving and serving. Baste one more time before serving.