Skip to content

Commit

Permalink
cleanup: finish TODO of removing defunct sortJSON
Browse files Browse the repository at this point in the history
Completes PR #16062 by removing sortJSON now that aminojson.Encoder
sorts fields by default. sortJSON was left as a TODO

Updates #2350
Updates #16254
  • Loading branch information
odeke-em committed Jun 1, 2023
1 parent b3c4e15 commit b5bdfe2
Show file tree
Hide file tree
Showing 2 changed files with 2 additions and 43 deletions.
22 changes: 1 addition & 21 deletions codec/proto_codec.go
Original file line number Diff line number Diff line change
Expand Up @@ -194,27 +194,7 @@ func (pc *ProtoCodec) MarshalAminoJSON(msg gogoproto.Message) ([]byte, error) {
if err != nil {
return nil, err
}
jsonBytes, err := encoder.Marshal(protoMsg)
if err != nil {
return nil, err
}
// TODO: remove this sort once https://github.com/cosmos/cosmos-sdk/issues/2350#issuecomment-1542715157 lands
// the encoder should be rendering in lexical order
return sortJSON(jsonBytes)
}

// sortJSON sorts the JSON keys of the given JSON encoded byte slice.
func sortJSON(toSortJSON []byte) ([]byte, error) {
var c interface{}
err := json.Unmarshal(toSortJSON, &c)
if err != nil {
return nil, err
}
js, err := json.Marshal(c)
if err != nil {
return nil, err
}
return js, nil
return encoder.Marshal(protoMsg)
}

// UnmarshalJSON implements JSONCodec.UnmarshalJSON method,
Expand Down
23 changes: 1 addition & 22 deletions x/tx/signing/aminojson/aminojson.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@ package aminojson

import (
"context"
"encoding/json"
"fmt"

"google.golang.org/protobuf/reflect/protoregistry"
Expand Down Expand Up @@ -111,27 +110,7 @@ func (h SignModeHandler) GetSignBytes(_ context.Context, signerData signing.Sign
Tip: tip,
}

bz, err := h.encoder.Marshal(signDoc)
if err != nil {
return nil, err
}
// TODO: remove this sort once https://github.com/cosmos/cosmos-sdk/issues/2350#issuecomment-1542715157 lands
// the encoder should be rendering fields in lexical order
return sortJSON(bz)
}

// sortJSON sorts the JSON keys of the given JSON encoded byte slice.
func sortJSON(toSortJSON []byte) ([]byte, error) {
var c interface{}
err := json.Unmarshal(toSortJSON, &c)
if err != nil {
return nil, err
}
js, err := json.Marshal(c)
if err != nil {
return nil, err
}
return js, nil
return h.encoder.Marshal(signDoc)
}

var _ signing.SignModeHandler = (*SignModeHandler)(nil)

0 comments on commit b5bdfe2

Please sign in to comment.