## Description
This PR adds support for basic alias naming of Sui addresses in the
keystore. If an alias is not provided, it will automatically generate a
random name as `first-second` based on a list of predefined strings
(adjectives and precious stone gems).
## Test Plan
Added tests to ensure new functionality works as expected.
Manual tests:
`sui client new-address ed25519 my_alias_test / sui client new-address
ed25519`
<img width="1088" alt="image"
src="https://github.com/MystenLabs/sui/assets/135084671/5a53238b-dc7a-4120-8024-1e62df80a6bf">
---
If your changes are not user-facing and not a breaking change, you can
skip the following section. Otherwise, please indicate what changed, and
then add to the Release Notes section as highlighted during the release
process.
### Type of Change (Check all that apply)
- [ ] protocol change
- [x] user-visible impact
- [ ] breaking change for a client SDKs
- [ ] breaking change for FNs (FN binary must upgrade)
- [ ] breaking change for validators or node operators (must upgrade
binaries)
- [ ] breaking change for on-chain data layout
- [ ] necessitate either a data wipe or data migration
### Release notes
Added initial support for basic alias naming of Sui addresses in the
keystore.