First make the puff pastry. Sift the flour into a bowl with the salt. Stir in the water, vinegar and melted butter. Mix until it forms a soft ball and then wrap in Clingfilm and refrigerate for 30 minutes.
Remove the pastry from the Clingfilm, flour the counter and roll the dough into a large square shape . Place the slab of butter in the centre and fold the pastry over the butter completely, wrap in Clingfilm and leave to chill for 20 minutes.
Roll the pastry into a narrow rectangle shape about ½-inch thick. Fold one corner over to about one third of the length and then fold the remaining pastry over that, wrap and refrigerate again for 20 minutes. Repeat this process at least 6 times. The more the pastry is folded and the butter spread throughout the dough the lighter it will be. After final rolling leave in the fridge for at least 30 minutes before wrapping in beef.
Season the beef with salt and pepper and heat the olive oil in a large frying pan. When the oil is smoking hot, place the beef fillet in the pan and sear it on all sides until it is caramelised. Remove the beef and roll it tightly in Clingfilm to give it an even round shape, and leave to set for about one hour.
Meanwhile place the butter in another pan and when it foams, add the shallots and garlic and sauté for 2-3 minutes until soft but not brown. Add the chopped mushroom and stir well for another 4-5 minutes, or until the mushrooms are soft. Season well and set aside to cool.
To prepare the beef, remove the Clingfilm and brush the flesh with mustard. Lay the ham side by side on some more Clingfilm, and spread the mushroom mix on top. Place the seared beef in the centre and roll in the ham and mushroom mix.
Roll out the puff pastry into a rectangular shape to roughly match the size of the beef fillet and them roll around the beef. Brush with some beaten egg around the edges and seal the pastry all around.
Preheat the oven to 200°C/Gas 5.
Put the beef on a baking tray, and cook in the pre-heated oven for at least 25 minutes (a little longer depending on how well done you want the beef) Remove from the oven and allow to rest for 10-15 minutes before carving.
To make the fondant potatoes, cut each potato into a spherical shape and heat the butter in a small frying pan until it foams. Place the potatoes on top and cook them for about 20-30 minutes, until tender and golden. Turn them over occasionally and baste regularly in the butter to give them a golden colour.
For the Vichy carrots, place the the carrots in a saucepan with the sparkling water and the butter, cover and cook for about 8-10 minutes until tender.
To serve, carve the beef and place on a warm plate with a potato fondant and place some carrots on the beef.