T2730
This is part 1 of the 3 part diff to deprecate the use of BCH-JS' BCH.HDNode object for generating the masterHDNode and downstream parameters.
- Pt 1/3 - Implement separate masterHDNode creation logic
- Pt 2/3 - Localize downstream logic from masterHDNode (add and compare local outputs for fromSeed, derivePath, toPublicKey, toCashaddress & toWIF)
- Pt 3/3 - Deprecate BCH.HDNode (fromSeed, derivePath, toPublicKey, toCashAddress & toWIF)
Relies on the bitcoincashjs-lib library (115KB) (bch fork of bitcoinjs-lib). I originally tried to implement this from the ground up but the end to end logic to generate masterHDNode involves ~15 separate libraries (ecurve, secp256k1, create-hash...etc) which wasn't a good ROI.
With bitcoincashjs-lib it at least enables us to continue with the BCH-JS (1.29MB) deprecation process and we can revisit when there's a better alternative.
Note: bitcoincashjs-lib and coininfo libs will also be used to deprecate BCH.TransactionBuilder() in an unrelated diff.