Skip to content
Snippets Groups Projects
Commit bb54cc00 authored by poka's avatar poka Committed by Nicolas80
Browse files

feat: Can choose between ed25519 ans sr25519 (!44)

* * Updated CHANGELOG.md

* * Updated CHANGELOG.md with `vault inspect` changes

* * Added extra data in `vault inspect` command
  * Secret seed/mini-secret (if no soft derivation is used)
  * Public key (hex)
  * SS58 Address
  * (potential G1v1 public key if inspecting a <Base> account with ed25519 crypto-scheme)
* Does most changes mentioned in Issue #28 (except the network id)

* * Small change to be in line with the adapted parameter descriptions

* * Refactored method get_keypair_from_secret_provider into SecretProvider internal method get_keypair
* Added long_about for `LinkAccount` and `ChangeOwnerKey` to explain the target identity/account is provided with the options of those commands.
* Applied cargo fmt

* * Renamed AccountLinkParams to SecretProvider and adapted descriptions to "target account" instead of "account to link" which makes it a bit more generic
* Added generic method get_keypair_from_secret_provider that returns the keypair or an error
* Adapted `LinkAccount` & `ChangeOwnerKey` to use those
* Not sure the best place for the SecretProvider and new method - leaving in identity for now

* * Small refactoring to move method to vault.rs

* * Small change to show the linked `<Base>` account if different from the one we inspect.

* * Updated CHANGELOG.md

* Code review:

* Adapted commands identity `LinkAccount` & `ChangeOwnerKey`
  * Added possibility to provide
    * `-a` address of vault account to link
    * `-v` name of vault account to link
  * `-S` (secret_format) doesn't have a default anymore since it conflicts with using `-a` or `-v`
  * Added an error message if none of the params are provided

* * Small clippy cleanup

* * Changed sorting of children account so that they are sorted by Path value (makes more sense when viewing derivations of one account)
* Added display of "Crypto scheme" when making `vault inspect` so that it is more coherent

* Code review:

* Cleanup of keys.rs get_keypair method since it always gets a crypto_scheme.
  * Removed "default" values in the method
  * Relying on "default" value of `-c` / `--crypto-scheme` argument (present in several places) which is ed25519

* Code review:

* Small comment cleanup
* Code cleanup removed unnecessary empty cells in "g1v1" row
* Added doc on prompt_secret_substrate_and_compute_keypair method to explain the values returned in the tuple.

* * Updated version to 0.4.1
* Added Changelog entry for the new version
* Adapted some of the examples in config.md to take into account the new `-c` argument
** Did a simple addition of "-c sr25519" so that current examples still make sense and link to the same SS58 addresses

* Added extra message when the DB parsing of DbAccountId fails, so we know for which string it failed.

* * reverted most of the commit e9cd6a99: "Add secret format in database and display"

* * Adapted catch_known of predefined derivations to properly handle both sr25519 and ed25519 versions of those keys.

* * Added some logic between arguments of `vault import`; can't provide both `password` and `no-password`
** Added extra validation of non-interactive `name` argument value (same validation as when interactive: no '<', '>', '/' characters)
* Added possibility to make a non-interactive derivation (given proper arguments are given and there is no issue found during the process)
** Added same validation for non-interactive `derivation_path` argument as when interactive
** If the same resulting address is already in the vault; interaction is still mandatory to make a choice
* Had to change the name of argument AddressOrVaultNameGroup.name => vault_name to avoid conflict in `vault derive`
** Not changing the `-v` shortcut so no impact on existing commands
* Allowing to pass "" empty string as non-interactive `name` argument and considering it as None (does a trim before checking empty; so only spaces will be considered as None as well)

* * Adding `-c` crypto scheme parameter (with default ed25519) in different places
** as global parameter (taken into account if `-S` parameter is given
** as extra parameter for identity.rs commands LinkAccount & ChangeOwnerKey
*** Also added a simple display of "target" address and crypto-scheme when performing those commands

* * Fix for `vault migrate` that should use sr25519 scheme to be consistent

* * Small fix in doc of function
* Applied `cargo fmt`

* add non interactive mode

* remove unused methods

* Add secret format in database and display

* apply nico review

* feat: Can choose between ed25519 ans sr25519
parent 5dd41657
No related branches found
No related tags found
1 merge request!44feat: Can choose between ed25519 ans sr25519
Pipeline #40320 passed