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 10, 2023
1 parent 4ad71e5 commit f97d394
Show file tree
Hide file tree
Showing 2 changed files with 2 additions and 44 deletions.
23 changes: 1 addition & 22 deletions codec/proto_codec.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@ package codec

import (
"encoding/binary"
"encoding/json"
"errors"
"fmt"
"strings"
Expand Down Expand Up @@ -194,27 +193,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 f97d394

Please sign in to comment.