From bd44492803519f3f1c460407c75779c862c084fe Mon Sep 17 00:00:00 2001 From: frog power 4000 Date: Mon, 29 Jul 2019 13:43:14 -0400 Subject: [PATCH] Merge PR #4792: panic on non-registered store * panic on non-registered store * add pending * cl * Delete _4792-bpanic-on-retr --- .pending/improvements/store/_4792-panic-non-regi | 1 + go.mod | 1 + go.sum | 2 ++ store/cachemulti/store.go | 7 ++++++- 4 files changed, 10 insertions(+), 1 deletion(-) create mode 100644 .pending/improvements/store/_4792-panic-non-regi diff --git a/.pending/improvements/store/_4792-panic-non-regi b/.pending/improvements/store/_4792-panic-non-regi new file mode 100644 index 000000000..1a83162fa --- /dev/null +++ b/.pending/improvements/store/_4792-panic-non-regi @@ -0,0 +1 @@ +#4792 panic on non-registered store \ No newline at end of file diff --git a/go.mod b/go.mod index dab8b8124..54efc7b91 100644 --- a/go.mod +++ b/go.mod @@ -6,6 +6,7 @@ require ( github.com/btcsuite/btcd v0.0.0-20190115013929-ed77733ec07d github.com/cosmos/go-bip39 v0.0.0-20180618194314-52158e4697b8 github.com/cosmos/ledger-cosmos-go v0.10.3 + github.com/cosmos/tools/cmd/clog v0.0.0-20190722180430-ea942c183cba // indirect github.com/fortytw2/leaktest v1.3.0 // indirect github.com/gogo/protobuf v1.2.1 github.com/golang/mock v1.3.1-0.20190508161146-9fa652df1129 diff --git a/go.sum b/go.sum index 9769a861d..1706de119 100644 --- a/go.sum +++ b/go.sum @@ -33,6 +33,8 @@ github.com/cosmos/ledger-cosmos-go v0.10.3 h1:Qhi5yTR5Pg1CaTpd00pxlGwNl4sFRdtK1J github.com/cosmos/ledger-cosmos-go v0.10.3/go.mod h1:J8//BsAGTo3OC/vDLjMRFLW6q0WAaXvHnVc7ZmE8iUY= github.com/cosmos/ledger-go v0.9.2 h1:Nnao/dLwaVTk1Q5U9THldpUMMXU94BOTWPddSmVB6pI= github.com/cosmos/ledger-go v0.9.2/go.mod h1:oZJ2hHAZROdlHiwTg4t7kP+GKIIkBT+o6c9QWFanOyI= +github.com/cosmos/tools/cmd/clog v0.0.0-20190722180430-ea942c183cba h1:YhVnGzBkE2TvfBW5fAYBdNVK/3bwTPYVbMaOIGRHFRY= +github.com/cosmos/tools/cmd/clog v0.0.0-20190722180430-ea942c183cba/go.mod h1:TdPuAVaU2rc6K24ejr/AnGznt9Fd2qjtMoRrTO4uFrI= github.com/cpuguy83/go-md2man v1.0.10/go.mod h1:SmD6nW6nTyfqj6ABTjUi3V3JVMnlJmwcJI5acqYI6dE= github.com/davecgh/go-spew v0.0.0-20171005155431-ecdeabc65495/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= diff --git a/store/cachemulti/store.go b/store/cachemulti/store.go index 4ac54ce07..3dbc72408 100644 --- a/store/cachemulti/store.go +++ b/store/cachemulti/store.go @@ -1,6 +1,7 @@ package cachemulti import ( + "fmt" "io" dbm "github.com/tendermint/tendermint/libs/db" @@ -140,5 +141,9 @@ func (cms Store) GetStore(key types.StoreKey) types.Store { // GetKVStore returns an underlying KVStore by key. func (cms Store) GetKVStore(key types.StoreKey) types.KVStore { - return cms.stores[key].(types.KVStore) + store := cms.stores[key] + if key == nil { + panic(fmt.Sprintf("kv store with key %v has not been registered in stores", key)) + } + return store.(types.KVStore) }