public void Digest(ReadOnlySpan <byte> data, Span <byte> result, params object[] extra) { Contract.Requires <ArgumentException>(data.Length == 80); Contract.Requires <ArgumentException>(result.Length >= 32); var sw = Stopwatch.StartNew(); fixed(byte *input = data) { fixed(byte *output = result) { Multihash.verthash(input, output, data.Length); } } messageBus?.SendTelemetry("Verthash", TelemetryCategory.Hash, sw.Elapsed); }