Fix panic in context when setting nodeURI (#7699)
* Fix panic in context Move URI parsing outside of context. WithNodeURI will only set the nodeURI. To set the Client in the context, WithClient must be called. * add changelog * add deleted space back
This commit is contained in:
parent
a15bb7562e
commit
dca9dcd276
|
@ -60,6 +60,7 @@ Ref: https://keepachangelog.com/en/1.0.0/
|
||||||
### Bug Fixes
|
### Bug Fixes
|
||||||
|
|
||||||
* (kvstore) [\#7415](https://github.com/cosmos/cosmos-sdk/pull/7415) Allow new stores to be registered during on-chain upgrades.
|
* (kvstore) [\#7415](https://github.com/cosmos/cosmos-sdk/pull/7415) Allow new stores to be registered during on-chain upgrades.
|
||||||
|
* (client) [\#7699](https://github.com/cosmos/cosmos-sdk/pull/7699) Fix panic in context when setting invalid nodeURI. `WithNodeURI` does not set the `Client` in the context.
|
||||||
|
|
||||||
|
|
||||||
## [v0.40.0-rc0](https://github.com/cosmos/cosmos-sdk/releases/tag/v0.40.0-rc0) - 2020-10-13
|
## [v0.40.0-rc0](https://github.com/cosmos/cosmos-sdk/releases/tag/v0.40.0-rc0) - 2020-10-13
|
||||||
|
|
|
@ -8,6 +8,7 @@ import (
|
||||||
"github.com/spf13/cobra"
|
"github.com/spf13/cobra"
|
||||||
"github.com/spf13/pflag"
|
"github.com/spf13/pflag"
|
||||||
"github.com/tendermint/tendermint/libs/cli"
|
"github.com/tendermint/tendermint/libs/cli"
|
||||||
|
rpchttp "github.com/tendermint/tendermint/rpc/client/http"
|
||||||
|
|
||||||
"github.com/cosmos/cosmos-sdk/client/flags"
|
"github.com/cosmos/cosmos-sdk/client/flags"
|
||||||
sdk "github.com/cosmos/cosmos-sdk/types"
|
sdk "github.com/cosmos/cosmos-sdk/types"
|
||||||
|
@ -131,6 +132,13 @@ func ReadPersistentCommandFlags(clientCtx Context, flagSet *pflag.FlagSet) (Cont
|
||||||
rpcURI, _ := flagSet.GetString(flags.FlagNode)
|
rpcURI, _ := flagSet.GetString(flags.FlagNode)
|
||||||
if rpcURI != "" {
|
if rpcURI != "" {
|
||||||
clientCtx = clientCtx.WithNodeURI(rpcURI)
|
clientCtx = clientCtx.WithNodeURI(rpcURI)
|
||||||
|
|
||||||
|
client, err := rpchttp.New(rpcURI, "/websocket")
|
||||||
|
if err != nil {
|
||||||
|
return clientCtx, err
|
||||||
|
}
|
||||||
|
|
||||||
|
clientCtx = clientCtx.WithClient(client)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -10,7 +10,6 @@ import (
|
||||||
"github.com/gogo/protobuf/proto"
|
"github.com/gogo/protobuf/proto"
|
||||||
"github.com/pkg/errors"
|
"github.com/pkg/errors"
|
||||||
rpcclient "github.com/tendermint/tendermint/rpc/client"
|
rpcclient "github.com/tendermint/tendermint/rpc/client"
|
||||||
rpchttp "github.com/tendermint/tendermint/rpc/client/http"
|
|
||||||
|
|
||||||
"github.com/cosmos/cosmos-sdk/codec"
|
"github.com/cosmos/cosmos-sdk/codec"
|
||||||
codectypes "github.com/cosmos/cosmos-sdk/codec/types"
|
codectypes "github.com/cosmos/cosmos-sdk/codec/types"
|
||||||
|
@ -95,12 +94,6 @@ func (ctx Context) WithOutputFormat(format string) Context {
|
||||||
// WithNodeURI returns a copy of the context with an updated node URI.
|
// WithNodeURI returns a copy of the context with an updated node URI.
|
||||||
func (ctx Context) WithNodeURI(nodeURI string) Context {
|
func (ctx Context) WithNodeURI(nodeURI string) Context {
|
||||||
ctx.NodeURI = nodeURI
|
ctx.NodeURI = nodeURI
|
||||||
client, err := rpchttp.New(nodeURI, "/websocket")
|
|
||||||
if err != nil {
|
|
||||||
panic(err)
|
|
||||||
}
|
|
||||||
|
|
||||||
ctx.Client = client
|
|
||||||
return ctx
|
return ctx
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue