Make.Vdftype difficulty = Int64.tVDF difficulty, that is log of the number of group element compositions done in the prover
val discriminant_to_bytes : discriminant -> bytesval discriminant_of_bytes_opt : bytes -> discriminant optionval challenge_to_bytes : challenge -> bytesval challenge_of_bytes_opt : bytes -> challenge optionval result_to_bytes : result -> bytesval result_of_bytes_opt : bytes -> result optionval proof_to_bytes : proof -> bytesval proof_of_bytes_opt : bytes -> proof optionval generate_discriminant : ?seed:Bytes.t -> int -> discriminantgenerate_discriminant ?seed size, function generating a discriminant/group
val generate_challenge : discriminant -> Bytes.t -> challengegenerate_challenge discriminant seed, function generating a class group element used as a VDF challenge
val prove : discriminant -> challenge -> difficulty -> result * proofprove_vdf discriminant challenge difficulty, function taking a class group/discriminant, a vdf challenge and a difficulty and returning a vdf result and proof
val verify : discriminant -> challenge -> difficulty -> result -> proof -> boolverify_vdf discriminant challenge difficulty result proof function taking a class group/discriminant, a vdf challenge, difficulty, result and proof and returning true if the proof verifies else false