diff --git a/go.mod b/go.mod index 3720bfca852d..f4e34c248f7b 100644 --- a/go.mod +++ b/go.mod @@ -11,7 +11,7 @@ require ( cosmossdk.io/log v1.1.0 cosmossdk.io/math v1.0.0 cosmossdk.io/store v0.1.0-alpha.1.0.20230328185921-37ba88872dbc - cosmossdk.io/x/tx v0.6.1 + cosmossdk.io/x/tx v0.6.3 github.com/99designs/keyring v1.2.1 github.com/armon/go-metrics v0.4.1 github.com/bgentry/speakeasy v0.1.1-0.20220910012023-760eaf8b6816 @@ -164,8 +164,6 @@ require ( replace ( cosmossdk.io/core => ./core cosmossdk.io/store => ./store - // TODO: remove after release 0.6.2 - cosmossdk.io/x/tx => ./x/tx // use cosmos fork of keyring github.com/99designs/keyring => github.com/cosmos/keyring v1.2.0 // dgrijalva/jwt-go is deprecated and doesn't receive security updates. diff --git a/go.sum b/go.sum index 5d8f0dd94550..f037d196144a 100644 --- a/go.sum +++ b/go.sum @@ -47,6 +47,8 @@ cosmossdk.io/log v1.1.0 h1:v0ogPHYeTzPcBTcPR1A3j1hkei4pZama8kz8LKlCMv0= cosmossdk.io/log v1.1.0/go.mod h1:6zjroETlcDs+mm62gd8Ig7mZ+N+fVOZS91V17H+M4N4= cosmossdk.io/math v1.0.0 h1:ro9w7eKx23om2tZz/VM2Pf+z2WAbGX1yDQQOJ6iGeJw= cosmossdk.io/math v1.0.0/go.mod h1:Ygz4wBHrgc7g0N+8+MrnTfS9LLn9aaTGa9hKopuym5k= +cosmossdk.io/x/tx v0.6.3 h1:B9uRBUYrjEuq972T0ma0BCDu5QDElqsQkJuM+UZlDhA= +cosmossdk.io/x/tx v0.6.3/go.mod h1:Fm+6hJnc0Zivgy90sPbAHaDnucg1qyo8MtA7h3qJHP0= dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= filippo.io/edwards25519 v1.0.0 h1:0wAIcmJUqRdI8IJ/3eGi5/HwXZWPujYXXlkrQogz0Ek= filippo.io/edwards25519 v1.0.0/go.mod h1:N1IkdkCkiLB6tki+MYJoSx2JTY9NUlxZE7eHn5EwJns= diff --git a/simapp/go.mod b/simapp/go.mod index 887e3c8a522c..75f871fb1d6b 100644 --- a/simapp/go.mod +++ b/simapp/go.mod @@ -38,7 +38,7 @@ require ( cloud.google.com/go/storage v1.30.0 // indirect cosmossdk.io/collections v0.1.0 // indirect cosmossdk.io/errors v1.0.0-beta.7.0.20230429155654-3ee8242364e4 // indirect - cosmossdk.io/x/tx v0.6.1 // indirect + cosmossdk.io/x/tx v0.6.3 // indirect filippo.io/edwards25519 v1.0.0 // indirect github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 // indirect github.com/99designs/keyring v1.2.1 // indirect diff --git a/tests/go.mod b/tests/go.mod index 2314e605e2a4..0622e7d74b55 100644 --- a/tests/go.mod +++ b/tests/go.mod @@ -14,7 +14,7 @@ require ( cosmossdk.io/x/evidence v0.1.0 cosmossdk.io/x/feegrant v0.0.0-20230117113717-50e7c4a4ceff cosmossdk.io/x/nft v0.0.0-20230113085233-fae3332d62fc - cosmossdk.io/x/tx v0.6.1 + cosmossdk.io/x/tx v0.6.3 cosmossdk.io/x/upgrade v0.0.0-20230127052425-54c8e1568335 github.com/cometbft/cometbft v0.37.1 github.com/cosmos/cosmos-db v1.0.0-rc.1 @@ -200,9 +200,6 @@ replace ( cosmossdk.io/x/upgrade => ../x/upgrade ) -// temporary replace -replace cosmossdk.io/x/tx => ../x/tx - // Below are the long-lived replace for tests. replace ( cosmossdk.io/core => ../core diff --git a/tests/go.sum b/tests/go.sum index 95e98f411f7b..97a5a28e40fe 100644 --- a/tests/go.sum +++ b/tests/go.sum @@ -200,6 +200,8 @@ cosmossdk.io/log v1.1.0 h1:v0ogPHYeTzPcBTcPR1A3j1hkei4pZama8kz8LKlCMv0= cosmossdk.io/log v1.1.0/go.mod h1:6zjroETlcDs+mm62gd8Ig7mZ+N+fVOZS91V17H+M4N4= cosmossdk.io/math v1.0.0 h1:ro9w7eKx23om2tZz/VM2Pf+z2WAbGX1yDQQOJ6iGeJw= cosmossdk.io/math v1.0.0/go.mod h1:Ygz4wBHrgc7g0N+8+MrnTfS9LLn9aaTGa9hKopuym5k= +cosmossdk.io/x/tx v0.6.3 h1:B9uRBUYrjEuq972T0ma0BCDu5QDElqsQkJuM+UZlDhA= +cosmossdk.io/x/tx v0.6.3/go.mod h1:Fm+6hJnc0Zivgy90sPbAHaDnucg1qyo8MtA7h3qJHP0= dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= filippo.io/edwards25519 v1.0.0 h1:0wAIcmJUqRdI8IJ/3eGi5/HwXZWPujYXXlkrQogz0Ek= filippo.io/edwards25519 v1.0.0/go.mod h1:N1IkdkCkiLB6tki+MYJoSx2JTY9NUlxZE7eHn5EwJns= diff --git a/types/simulation/types.go b/types/simulation/types.go index 34d29d04e323..4d1da924f149 100644 --- a/types/simulation/types.go +++ b/types/simulation/types.go @@ -2,14 +2,20 @@ package simulation import ( "encoding/json" + "fmt" "math/rand" "time" + gogoproto "github.com/cosmos/gogoproto/proto" + "google.golang.org/protobuf/proto" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + "google.golang.org/protobuf/types/dynamicpb" + + "cosmossdk.io/x/tx/signing/aminojson" "github.com/cosmos/cosmos-sdk/baseapp" "github.com/cosmos/cosmos-sdk/codec" sdk "github.com/cosmos/cosmos-sdk/types" "github.com/cosmos/cosmos-sdk/types/kv" - "github.com/cosmos/cosmos-sdk/x/auth/migrations/legacytx" ) // Deprecated: Use WeightedProposalMsg instead. @@ -95,11 +101,26 @@ func NewOperationMsg(msg sdk.Msg, ok bool, comment string, cdc *codec.ProtoCodec moduleName = msgType } - if legacyMsg, okType := msg.(legacytx.LegacyMsg); okType { - return NewOperationMsgBasic(moduleName, msgType, comment, ok, legacyMsg.GetSignBytes()) + resolver := gogoproto.HybridResolver + desc, err := resolver.FindDescriptorByName(protoreflect.FullName(gogoproto.MessageName(msg))) + if err != nil { + panic(fmt.Errorf("failed to find proto descriptor for %s: %w", msgType, err)) + } + + dynamicMsg := dynamicpb.NewMessageType(desc.(protoreflect.MessageDescriptor)).New().Interface() + gogoBytes, err := gogoproto.Marshal(msg) + if err != nil { + panic(fmt.Errorf("failed to marshal msg: %w", err)) + } + err = proto.Unmarshal(gogoBytes, dynamicMsg) + + encoder := aminojson.NewEncoder() + jsonBytes, err := encoder.Marshal(dynamicMsg) + if err != nil { + panic(fmt.Errorf("failed to marshal msg: %w", err)) } - return NewOperationMsgBasic(moduleName, msgType, comment, ok, cdc.MustMarshalJSON(msg)) + return NewOperationMsgBasic(moduleName, msgType, comment, ok, jsonBytes) } // NoOpMsg - create a no-operation message