We have been reviewed the CKey code in the latest core and we implemented the enhanced CFirmKey.
src/key/privkey.h
https://github.com/FromHDDtoSSD/SorachanCoin-qt/blob/develop/src/key/privkey.h
src/key/privkey.cpp
https://github.com/FromHDDtoSSD/SorachanCoin-qt/blob/develop/src/key/privkey.cpp
We have added enhanced random numbers(GetStrongRandBytes) for erasing used key containers, strengthening confirmation of infinite values, separating the ctx, and generating keys.
CKey: for old logic private key (base58).
CFirmKey: for latest logic private key (bech32).
SorachanCoin CFirmKey Transaction:
CKey(base58) => CKey(base58): OK
CKey(base58) => CFirmKey(bech32): OK
CFirmKey(bech32) => CKey(base58): OK
CFirmKey(bech32) => CFirmKey(bech32): OK