I don't think it would be possible to compile list as they are country specific, nd some have long forgotten historic associations.
For example " pull the wool over your eyes" goes back to the days of highwaymen, and it describes the last action of the robber before he rides off. He would reach over and pull the gentleman victim's wig over his eyes. This gave him a precious few seconds before the victim could pull out his pistol, and aim it.
"let the cat out of the bag" comes from the old days of livestock sales in markets. A buyer would choose a piglet, and the seller would put it into a sack for ease of transportation. The seller would secretly switch the sack for one contining a feral cat. If he didn't keep the neck of the sack closed, then the cat could escape. "Don't buy a pig in a poke" is a realted expression - poke was an old word for a sack.
:-D For a better communication/conversation we need to at least use known/general idiomatic/Figure of speech.
Nevertheless I've learned another historical term I can use in speculation/trading. especially let the cat out of the bag.
So I think generally speaking if someone really want to improve in English language he/she needs to pull the wool over their eyes when they only come here from knowing that a free pig in a poke is available here while only posting, and before they knew the cat get out from the bag.