also defers initial clay merge,
renames +turf (utf8 to utf32) to +taft,
and removes duplicate +turf (domain) declarations,
and updates pinned vere to use them
Includes in zuse:
* little-endian wrappers for the SHA and HMAC families,
* secp256k implementation,
* Blake2b implementation,
* Argon2 implementation,
And adds libraries for:
* BIP32 HD wallets,
* keygen, to match [keygen-js](/urbit/keygen-js).
`+mz:nl` was determined by ~sorreg to be dead code, and there doesn't seem to be any possible `a` that will nest in the current code.
Also, `+bif:in` and `+bif:by` had the weird syntactical construct of `=< [+< +>]`. I simplified it to the more straightforward `=< +`.
* research-constitution: (120 commits)
removes obsolete doccords-style comments
Revert "fixy uno~by, other vor-based code duplication"
Implement argon2.
Use face over lark when available.
Implement blake2b.
Use ++rep over ++can when we can
Use ++rev over ++swp, for safety.
Clean up base58 en/decoding
Rename secp point serialization arms
Add HMAC-SHA1
Put +=byts to use
Restructure and complete BIP32 core
Fix bug in RIPEMD-160 implementation.
BIP32 key derivation logic. Messy, in dire need of restructuring.
Fix bug in HMAC implementation.
SHA-1 re-implementation, can account for leading zeroes.
Converting points on curve to un/compressed numbers.
RIPEMD-160 implementation.
Start work on BIP32 support. Library file includes wrappers for the SHA family to make it take and produce sane byte order data, and a new HMAC implementation that depends on it. Also includes @belisarius222's secp256k1 implementation, plus experimental (and broken) support for other secp variants.
Add ++rev to bit arithmetic, for reversing block order while accounting for leading zeroes.
...