Change behavior of normative transaction such that coinbase transactions do not undergo SignatureHash modifications prior to hashing, thereby preserving the coinbase string and ensuring unique ntxid's for coinbase transactions.
Add help documentation for the getnormalizedtxid JSON-RPC method.
Pull out base32 coding tables so that they can be used by other functions.
Add z-base-32 encoding tables and inline helper methods, in addition to the already supported rfc-3548.
Implement error correction codes for base32 strings, using the CRC-5-USB polynomial. The encoder transforms 26-digit rfc-3548 strings into 31-digit z-base-32 strings, which are capable of recovering from any single-digit mutation, are visually distinctive, and protected against a wide variety of human-factor errors in the coding alphabet.
Switch to using error correction coded base32 for the normative transaction ID.
Add unit tests for base32 error correction codes.
Add unit tests demonstrating recovery from transcription errors.
Add unit tests for GetNormalizedHash method and getnormalizedtxid JSON-RPC call.
Add unit tests for converting to/from base_uint<BITS> and ecc32 values.