Skip to content

Commit

Permalink
Remove panic in CreateClient msg construction (cosmos#498)
Browse files Browse the repository at this point in the history
Co-authored-by: colin axnér <25233464+colin-axner@users.noreply.github.com>
  • Loading branch information
akhilkumarpilli and colin-axner committed Apr 27, 2021
1 parent 71e9d4d commit 90210dd
Show file tree
Hide file tree
Showing 3 changed files with 21 additions and 18 deletions.
9 changes: 6 additions & 3 deletions cmd/raw.go
Original file line number Diff line number Diff line change
Expand Up @@ -131,9 +131,12 @@ $ %s tx raw clnt ibc-1 ibc-0 ibconeclient`, appName, appName)),
allowUpdateAfterMisbehaviour,
)

return sendAndPrint([]sdk.Msg{chains[src].CreateClient(
clientState, dstHeader)},
chains[src], cmd)
createMsg, err := chains[src].CreateClient(clientState, dstHeader)
if err != nil {
return err
}

return sendAndPrint([]sdk.Msg{createMsg}, chains[src], cmd)
},
}
return clientParameterFlags(cmd)
Expand Down
20 changes: 10 additions & 10 deletions relayer/client.go
Original file line number Diff line number Diff line change
Expand Up @@ -65,13 +65,13 @@ func (c *Chain) CreateClients(dst *Chain, allowUpdateAfterExpiry,
clientID, found = FindMatchingClient(c, dst, clientState)
}
if !found || override {
msgs := []sdk.Msg{
c.CreateClient(
clientState,
dstUpdateHeader,
),
createMsg, err := c.CreateClient(clientState, dstUpdateHeader)
if err != nil {
return modified, err
}

msgs := []sdk.Msg{createMsg}

// if a matching client does not exist, create one
res, success, err := c.SendMsgs(msgs)
if err != nil {
Expand Down Expand Up @@ -139,13 +139,13 @@ func (c *Chain) CreateClients(dst *Chain, allowUpdateAfterExpiry,
clientID, found = FindMatchingClient(dst, c, clientState)
}
if !found || override {
msgs := []sdk.Msg{
dst.CreateClient(
clientState,
srcUpdateHeader,
),
createMsg, err := dst.CreateClient(clientState, srcUpdateHeader)
if err != nil {
return modified, err
}

msgs := []sdk.Msg{createMsg}

// if a matching client does not exist, create one
res, success, err := dst.SendMsgs(msgs)
if err != nil {
Expand Down
10 changes: 5 additions & 5 deletions relayer/msgs.go
Original file line number Diff line number Diff line change
Expand Up @@ -26,10 +26,10 @@ import (
func (c *Chain) CreateClient(
//nolint:interfacer
clientState *tmclient.ClientState,
dstHeader *tmclient.Header) sdk.Msg {
dstHeader *tmclient.Header) (sdk.Msg, error) {

if err := dstHeader.ValidateBasic(); err != nil {
panic(err)
return nil, err
}

msg, err := clienttypes.NewMsgCreateClient(
Expand All @@ -39,12 +39,12 @@ func (c *Chain) CreateClient(
)

if err != nil {
panic(err)
return nil, err
}
if err = msg.ValidateBasic(); err != nil {
panic(err)
return nil, err
}
return msg
return msg, nil
}

// UpdateClient creates an sdk.Msg to update the client on src with data pulled from dst
Expand Down

0 comments on commit 90210dd

Please sign in to comment.