Package-level declarations
Types
The default SHA-256 challenge generator is used to generate challenges which align up with what OldSchool RuneScape is generating, which is a combination of epoch time millis, the world id and a 495-byte BigInteger that is turned into a hexadecimal string, which will have a length of 1004 or 1005 characters, depending on if the BigInteger was negative.
The default SHA-256 metadata provider will return a metadata object that matches what OldSchool RuneScape sends.
A class to wrap the properties of a SHA-256 into a single instance.
A SHA-256 challenge is a challenge which forces the client to find a hash which has at least difficulty number of leading zero bits in the hash. As hashing returns pseudo-random results, as a general rule of thumb, the work needed to solve a challenge doubles with each difficulty increase, since each bit can be either true or false, and the solution must have at least difficulty amount of false (zero) bits. Since the requirement is that there are at least difficulty amount of leading zero bits, these challenges aren't constrained to only having a single successful answer.
The SHA-256 challenge verifier is a replica of the client's implementation of the SHA-256 proof of work verifier.
The SHA-256 metadata is what the default SHA-256 implementation requires in order to construct new challenges.