refactor: address => getAddress, add deriveHardened