Carol... my best guess would be raccoons... it's devastating to loose all our fish over night. Don't be discouraged. It could have been the heron too. I put a motion camera out at night by my pond help to identify what critters are visiting the pond. But usually raccoons are the marauders that come in the middle of the night and raid ponds . I had fish in mine for over ten years. A cat fish 8'' and koi raised from babies. I also had a clapper by the pond to discourage pond raiders and the clapper broke and the next night all my fish were gone. Only raccoons can catch and eat that many. They hang out in gangs usually mom and her kids .Tightly place screens over pond at night weigh down with heavy rocks.
Now they don't come near my pond fixed the clappers and motion sprinklers usually catch them and a camera only shows a few hummers and other birds drinking from the water falls. Also added hiding places in caves so the raccoons can't reach them and water plants over top so our resident heron does not see them. Put out live traps with tuna to catch raccoons. Once they find food they come back.
Have caught many around here and one attacked my poor kitty. He's fine now but was really touch and go. So I set out live traps around my property helps keep the population down. Never leave any cat, dog fish food out.