cosmos-sdk/crypto/keyring
Federico Kunze Küllmer 2083bc8646
feat: get keyring backend (#11484)
## Description



This PR introduces a getter for the keyring backend type used in the keyring config. This is useful to disable endpoints whenever the keyring `test` backend is used. This is a workaround since the SDK keyring dependency doesn't support locking accounts. See https://github.com/99designs/keyring/issues/85 for context.
 
Attack on ethereum that affects Ethermint chain validators/nodes using `keyring_backend=test`, making their funds remotely accessible via `eth_sendTransaction`

https://blog.ethereum.org/2015/08/29/security-alert-insecurely-configured-geth-can-make-funds-remotely-accessible/

---

### 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] 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] 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 all author checklist items have been addressed
- [ ] confirmed that this PR does not change production code
2022-03-29 13:14:59 +00:00
..
testdata/keys/keys.db crypto/keyring: deprecate old keybase (#5889) 2020-03-30 20:30:50 +02:00
codec.go refactor!: Keyring migration (#9695) 2021-09-20 12:02:15 +00:00
doc.go docs: Add new section "Running a Node" (#7701) 2020-11-04 14:02:22 +00:00
errors.go crypto/keys: move keybase and keyring to crypto/keyring/ dir (#5866) 2020-03-25 15:20:36 +00:00
keyring.go feat: get keyring backend (#11484) 2022-03-29 13:14:59 +00:00
keyring_ledger_test.go refactor!: Keyring migration (#9695) 2021-09-20 12:02:15 +00:00
keyring_test.go fix: non consistent keyring (#10844) 2022-02-15 10:16:41 +00:00
keys.toml crypto/keys: move keybase and keyring to crypto/keyring/ dir (#5866) 2020-03-25 15:20:36 +00:00
legacy_info.go fix: Migrate key names correctly (#10328) 2021-10-26 11:06:44 +00:00
migration_test.go refactor!: Keyring migration (#9695) 2021-09-20 12:02:15 +00:00
output.go refactor!: Keyring migration (#9695) 2021-09-20 12:02:15 +00:00
output_test.go refactor!: Keyring migration (#9695) 2021-09-20 12:02:15 +00:00
record.go refactor!: Keyring migration (#9695) 2021-09-20 12:02:15 +00:00
record.pb.go refactor!: Keyring migration (#9695) 2021-09-20 12:02:15 +00:00
record_test.go refactor!: Keyring migration (#9695) 2021-09-20 12:02:15 +00:00
signing_algorithms.go client: fix signing algorithm (#6405) 2020-06-11 14:30:42 +00:00
signing_algorithms_test.go perf: avoid unnecessary byteslice->string before fmt %s verb (#10364) 2021-10-14 08:53:38 +00:00
types.go fix: Migrate key names correctly (#10328) 2021-10-26 11:06:44 +00:00
types_test.go refactor!: Keyring migration (#9695) 2021-09-20 12:02:15 +00:00