Main changes
This pull request will result in using m/0'/1'/k'
for internal keys (change outputs) while keeping m/0'/0'/k'
for external keys (getnewaddress
).
- There is still a single keypool. All keypool elements (
CKeyPool
) have now a flag (fInternal
). The keypool will be filled with 80% external keys (round ceil).- The keypool will be filled with 100% external keys + 20% (round ceil) internal keys.
getwalletinfo
additionally reportskeypoolsize_hd_internal
(amount of internal key in the
Compatibility:
- This hd split change will only affect new wallets. Current 0.13 HD wallets will continue to only use the external chain.
- Using a 0.14 wallet in <0.14 is not possible (hd chain split requires 0.14)
- Using a 0.13 wallet in 0.14 will result in continue using only the external chain (only
m/0'/0'/k'
).
This change also fixes the keypool +1 offset.