Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Keys add returns error with --dry-run #9475

Closed
4 tasks
RiccardoM opened this issue Jun 8, 2021 · 3 comments · Fixed by #9480
Closed
4 tasks

Keys add returns error with --dry-run #9475

RiccardoM opened this issue Jun 8, 2021 · 3 comments · Fixed by #9480
Assignees

Comments

@RiccardoM
Copy link
Contributor

Summary of Bug

Running keys add [name] --dry-run returns public key already exists in keybase error.

Version

3c65c3d

Steps to Reproduce

  1. Run simd keys add jack
  2. Run simd keys add jack --dry-run

It will error with

Error: public key already exist in keybase

For Admin Use

  • Not duplicate issue
  • Appropriate labels applied
  • Appropriate contributors tagged
  • Contributor assigned/self-assigned
@amaury1093
Copy link
Contributor

Isn't this expected? You're adding the same key name twice.

@amaury1093 amaury1093 added the S:needs more info This bug can't be addressed until more information is provided by the reporter. label Jun 8, 2021
@RiccardoM
Copy link
Contributor Author

Isn't this expected? You're adding the same key name twice.

The problem here is that --dry-run is not considered and the key is added anyway:

$ simd keys list
[]

$ simd keys add jack --dry-run

- name: jack
  type: local
  address: cosmos1xcy3els9ua75kdm783c3qu0rfa2eplesldfevn
  pubkey: '{"@type":"/cosmos.crypto.secp256k1.PubKey","key":"AqX+iQHClC5LCV22uQXOxIeviHVKFzbmuBSIRhhuHK3c"}'
  mnemonic: ""


**Important** write this mnemonic phrase in a safe place.
It is the only way to recover your account if you ever forget your password.

bubble father false again name any attract brave empty tattoo leisure reward ring draft army lazy maximum naive table category wire shy invest barely

$ simd keys list
- name: jack
  type: local
  address: cosmos1xcy3els9ua75kdm783c3qu0rfa2eplesldfevn
  pubkey: '{"@type":"/cosmos.crypto.secp256k1.PubKey","key":"AqX+iQHClC5LCV22uQXOxIeviHVKFzbmuBSIRhhuHK3c"}'
  mnemonic: ""

@ryanchristo
Copy link
Contributor

ryanchristo commented Jun 8, 2021

I can confirm that a new key is added when using --dry-run. I think the steps to reproduce are reversed and should be:

  1. Run simd keys add jack --dry-run
  2. Run simd keys add jack

I think the main issue here is that a key is being added when using --dry-run. I think we need to add the key in order to simulate but we should be properly cleaning it up before exiting. I'll try to take a look.

@ryanchristo ryanchristo self-assigned this Jun 8, 2021
@ryanchristo ryanchristo added Status: In Progress and removed S:needs more info This bug can't be addressed until more information is provided by the reporter. labels Jun 8, 2021
@mergify mergify bot closed this as completed in #9480 Jun 25, 2021
mergify bot pushed a commit that referenced this issue Jun 25, 2021
<!--
The default pull request template is for types feat, fix, or refactor.
For other templates, add one of the following parameters to the url:
- template=docs.md
- template=other.md
-->

## Description

Closes: #9475 

<!-- Add a description of the changes that this PR introduces and the files that
are the most critical to review. -->

This pull request ensures a key is not added after running `keys add` with `--dry-run`. This pull request also adds consistent output information for each key (previously multisig and pubkey did not print info).

---

### Author Checklist

*All items are required. Please add a note to the item if the item is not applicable and
please add links to any relevant follow up issues.*

I have...

- [x] included the correct [type prefix](https://github.com/commitizen/conventional-commit-types/blob/v3.0.0/index.json) in the PR title
- [x] added `!` to the type prefix if API or client breaking change - **n/a**
- [x] targeted the correct branch (see [PR Targeting](https://github.com/cosmos/cosmos-sdk/blob/master/CONTRIBUTING.md#pr-targeting))
- [x] provided a link to the relevant issue or specification
- [x] followed the guidelines for [building modules](https://github.com/cosmos/cosmos-sdk/blob/master/docs/building-modules) - **n/a**
- [x] included the necessary unit and integration [tests](https://github.com/cosmos/cosmos-sdk/blob/master/CONTRIBUTING.md#testing)
- [ ] added a changelog entry to `CHANGELOG.md`
- [x] included comments for [documenting Go code](https://blog.golang.org/godoc) - **n/a**
- [x] updated the relevant documentation or specification - **n/a**
- [x] reviewed "Files changed" and left comments if necessary
- [x] confirmed all CI checks have passed

### Reviewers Checklist

*All items are required. Please add a note if the item is not applicable and please add
your handle next to the items reviewed if you only reviewed selected items.*

I have...

- [ ] confirmed the correct [type prefix](https://github.com/commitizen/conventional-commit-types/blob/v3.0.0/index.json) in the PR title
- [ ] confirmed `!` in the type prefix if API or client breaking change
- [ ] confirmed all author checklist items have been addressed 
- [ ] reviewed state machine logic
- [ ] reviewed API design and naming
- [ ] reviewed documentation is accurate
- [ ] reviewed tests and test coverage
- [ ] manually tested (if applicable)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants