Port EthashAux::eval function from Ethereum project [url removed, login to view] (and all related functionality required to calculate this) to C#.
Runtime is important. Function response time should be <100ms. Cache what is needed on class instantiation (including generating the full DAG if necessary [hopefully not needed for fast turnaround]).
Must provide class(es) with interface
Public String Eval(string seedHash, string headerHash, string Nonce)
Where return is the numeric ethash result, and seedHash, headerHash and Nonce are hex strings (0x...).
Must return same result as original function, provided the same inputs.