diff --git a/client/v2/go.mod b/client/v2/go.mod index f138520f3858..015cf4d8b100 100644 --- a/client/v2/go.mod +++ b/client/v2/go.mod @@ -165,7 +165,10 @@ require ( pgregory.net/rapid v1.1.0 // indirect ) -replace github.com/cosmos/cosmos-sdk => ./../../ +replace ( + cosmossdk.io/core/testing => ../../core/testing + github.com/cosmos/cosmos-sdk => ./../../ +) // TODO remove post spinning out all modules replace ( diff --git a/client/v2/go.sum b/client/v2/go.sum index 45b01dc40ec4..215e026bb0d5 100644 --- a/client/v2/go.sum +++ b/client/v2/go.sum @@ -10,8 +10,6 @@ cosmossdk.io/collections v1.0.0 h1:YCYIe/pIMtc1iLDD0OrVdfWCnIkpwdy7k9NSQpaR5mg= cosmossdk.io/collections v1.0.0/go.mod h1:mFfLxnYT1fV+B3Lx9GLap1qxmffIPqQCND4xBExerps= cosmossdk.io/core v1.0.0 h1:e7XBbISOytLBOXMVwpRPixThXqEkeLGlg8no/qpgS8U= cosmossdk.io/core v1.0.0/go.mod h1:mKIp3RkoEmtqdEdFHxHwWAULRe+79gfdOvmArrLDbDc= -cosmossdk.io/core/testing v0.0.1 h1:gYCTaftcRrz+HoNXmK7r9KgbG1jgBJ8pNzm/Pa/erFQ= -cosmossdk.io/core/testing v0.0.1/go.mod h1:2VDNz/25qtxgPa0+j8LW5e8Ev/xObqoJA7QuJS9/wIQ= cosmossdk.io/depinject v1.1.0 h1:wLan7LG35VM7Yo6ov0jId3RHWCGRhe8E8bsuARorl5E= cosmossdk.io/depinject v1.1.0/go.mod h1:kkI5H9jCGHeKeYWXTqYdruogYrEeWvBQCw1Pj4/eCFI= cosmossdk.io/errors v1.0.1 h1:bzu+Kcr0kS/1DuPBtUFdWjzLqyUuCiyHjyJB6srBV/0= diff --git a/core/testing/go.mod b/core/testing/go.mod index bf1a75ff6c40..aceffa4a560d 100644 --- a/core/testing/go.mod +++ b/core/testing/go.mod @@ -1,11 +1,23 @@ module cosmossdk.io/core/testing -go 1.23 +go 1.23.1 + +toolchain go1.23.4 require ( cosmossdk.io/core v1.0.0 + github.com/cosmos/gogoproto v1.7.0 github.com/tidwall/btree v1.7.0 go.uber.org/mock v0.5.0 + google.golang.org/grpc v1.69.4 ) -require cosmossdk.io/schema v1.0.0 // indirect +require ( + cosmossdk.io/schema v1.0.0 // indirect + github.com/google/go-cmp v0.6.0 // indirect + golang.org/x/net v0.33.0 // indirect + golang.org/x/sys v0.28.0 // indirect + golang.org/x/text v0.21.0 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20241015192408-796eee8c2d53 // indirect + google.golang.org/protobuf v1.35.1 // indirect +) diff --git a/core/testing/go.sum b/core/testing/go.sum index fc93e3af390e..123a046f5817 100644 --- a/core/testing/go.sum +++ b/core/testing/go.sum @@ -2,7 +2,41 @@ cosmossdk.io/core v1.0.0 h1:e7XBbISOytLBOXMVwpRPixThXqEkeLGlg8no/qpgS8U= cosmossdk.io/core v1.0.0/go.mod h1:mKIp3RkoEmtqdEdFHxHwWAULRe+79gfdOvmArrLDbDc= cosmossdk.io/schema v1.0.0 h1:/diH4XJjpV1JQwuIozwr+A4uFuuwanFdnw2kKeiXwwQ= cosmossdk.io/schema v1.0.0/go.mod h1:RDAhxIeNB4bYqAlF4NBJwRrgtnciMcyyg0DOKnhNZQQ= +github.com/cosmos/gogoproto v1.7.0 h1:79USr0oyXAbxg3rspGh/m4SWNyoz/GLaAh0QlCe2fro= +github.com/cosmos/gogoproto v1.7.0/go.mod h1:yWChEv5IUEYURQasfyBW5ffkMHR/90hiHgbNgrtp4j0= +github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY= +github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= +github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= +github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= +github.com/golang/protobuf v1.5.4 h1:i7eJL8qZTpSEXOPTxNKhASYpMn+8e5Q6AdndVa1dWek= +github.com/golang/protobuf v1.5.4/go.mod h1:lnTiLA8Wa4RWRcIUkrtSVa5nRhsEGBg48fD6rSs7xps= +github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= +github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= +github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= +github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/tidwall/btree v1.7.0 h1:L1fkJH/AuEh5zBnnBbmTwQ5Lt+bRJ5A8EWecslvo9iI= github.com/tidwall/btree v1.7.0/go.mod h1:twD9XRA5jj9VUQGELzDO4HPQTNJsoWWfYEL+EUQ2cKY= +go.opentelemetry.io/otel v1.31.0 h1:NsJcKPIW0D0H3NgzPDHmo0WW6SptzPdqg/L1zsIm2hY= +go.opentelemetry.io/otel v1.31.0/go.mod h1:O0C14Yl9FgkjqcCZAsE053C13OaddMYr/hz6clDkEJE= +go.opentelemetry.io/otel/metric v1.31.0 h1:FSErL0ATQAmYHUIzSezZibnyVlft1ybhy4ozRPcF2fE= +go.opentelemetry.io/otel/metric v1.31.0/go.mod h1:C3dEloVbLuYoX41KpmAhOqNriGbA+qqH6PQ5E5mUfnY= +go.opentelemetry.io/otel/sdk v1.31.0 h1:xLY3abVHYZ5HSfOg3l2E5LUj2Cwva5Y7yGxnSW9H5Gk= +go.opentelemetry.io/otel/sdk v1.31.0/go.mod h1:TfRbMdhvxIIr/B2N2LQW2S5v9m3gOQ/08KsbbO5BPT0= +go.opentelemetry.io/otel/sdk/metric v1.31.0 h1:i9hxxLJF/9kkvfHppyLL55aW7iIJz4JjxTeYusH7zMc= +go.opentelemetry.io/otel/sdk/metric v1.31.0/go.mod h1:CRInTMVvNhUKgSAMbKyTMxqOBC0zgyxzW55lZzX43Y8= +go.opentelemetry.io/otel/trace v1.31.0 h1:ffjsj1aRouKewfr85U2aGagJ46+MvodynlQ1HYdmJys= +go.opentelemetry.io/otel/trace v1.31.0/go.mod h1:TXZkRk7SM2ZQLtR6eoAWQFIHPvzQ06FJAsO1tJg480A= go.uber.org/mock v0.5.0 h1:KAMbZvZPyBPWgD14IrIQ38QCyjwpvVVV6K/bHl1IwQU= go.uber.org/mock v0.5.0/go.mod h1:ge71pBPLYDk7QIi1LupWxdAykm7KIEFchiOqd6z7qMM= +golang.org/x/net v0.33.0 h1:74SYHlV8BIgHIFC/LrYkOGIwL19eTYXQ5wc6TBuO36I= +golang.org/x/net v0.33.0/go.mod h1:HXLR5J+9DxmrqMwG9qjGCxZ+zKXxBru04zlTvWlWuN4= +golang.org/x/sys v0.28.0 h1:Fksou7UEQUWlKvIdsqzJmUmCX3cZuD2+P3XyyzwMhlA= +golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/text v0.21.0 h1:zyQAAkrwaneQ066sspRyJaG9VNi/YJ1NfzcGB3hZ/qo= +golang.org/x/text v0.21.0/go.mod h1:4IBbMaMmOPCJ8SecivzSH54+73PCFmPWxNTLm+vZkEQ= +google.golang.org/genproto/googleapis/rpc v0.0.0-20241015192408-796eee8c2d53 h1:X58yt85/IXCx0Y3ZwN6sEIKZzQtDEYaBWrDvErdXrRE= +google.golang.org/genproto/googleapis/rpc v0.0.0-20241015192408-796eee8c2d53/go.mod h1:GX3210XPVPUjJbTUbvwI8f2IpZDMZuPJWDzDuebbviI= +google.golang.org/grpc v1.69.4 h1:MF5TftSMkd8GLw/m0KM6V8CMOCY6NZ1NQDPGFgbTt4A= +google.golang.org/grpc v1.69.4/go.mod h1:vyjdE6jLBI76dgpDojsFGNaHlxdjXN9ghpnd2o7JGZ4= +google.golang.org/protobuf v1.35.1 h1:m3LfL6/Ca+fqnjnlqQXNpFPABW1UD7mjh8KO2mKFytA= +google.golang.org/protobuf v1.35.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= diff --git a/core/testing/msgrouter/msgrouter.go b/core/testing/msgrouter/msgrouter.go new file mode 100644 index 000000000000..c73fae4bbc6e --- /dev/null +++ b/core/testing/msgrouter/msgrouter.go @@ -0,0 +1,50 @@ +package msgrouter + +import ( + "context" + "fmt" + + gogoproto "github.com/cosmos/gogoproto/proto" + + "cosmossdk.io/core/router" + "cosmossdk.io/core/transaction" +) + +// msgTypeURL returns the TypeURL of a proto message. +func msgTypeURL(msg gogoproto.Message) string { + return gogoproto.MessageName(msg) +} + +type routerHandler func(context.Context, transaction.Msg) (transaction.Msg, error) + +var _ router.Service = &RouterService{} + +// custom router service for integration tests +type RouterService struct { + handlers map[string]routerHandler +} + +func NewRouterService() *RouterService { + return &RouterService{ + handlers: make(map[string]routerHandler), + } +} + +func (rs *RouterService) RegisterHandler(handler routerHandler, typeUrl string) { + rs.handlers[typeUrl] = handler +} + +func (rs RouterService) CanInvoke(ctx context.Context, typeUrl string) error { + if rs.handlers[typeUrl] == nil { + return fmt.Errorf("no handler for typeURL %s", typeUrl) + } + return nil +} + +func (rs RouterService) Invoke(ctx context.Context, req transaction.Msg) (transaction.Msg, error) { + typeUrl := msgTypeURL(req) + if rs.handlers[typeUrl] == nil { + return nil, fmt.Errorf("no handler for typeURL %s", typeUrl) + } + return rs.handlers[typeUrl](ctx, req) +} diff --git a/testutil/queryclient/queryclient.go b/core/testing/queryclient/queryclient.go similarity index 74% rename from testutil/queryclient/queryclient.go rename to core/testing/queryclient/queryclient.go index 8502fcb5d5bd..9e11a29c8234 100644 --- a/testutil/queryclient/queryclient.go +++ b/core/testing/queryclient/queryclient.go @@ -4,14 +4,9 @@ import ( "context" "fmt" - abci "github.com/cometbft/cometbft/api/cometbft/abci/v1" gogogrpc "github.com/cosmos/gogoproto/grpc" "google.golang.org/grpc" "google.golang.org/grpc/encoding" - - "github.com/cosmos/cosmos-sdk/client/grpc/reflection" - "github.com/cosmos/cosmos-sdk/codec" - codectypes "github.com/cosmos/cosmos-sdk/codec/types" ) var ( @@ -19,25 +14,34 @@ var ( _ gogogrpc.Server = &QueryHelper{} ) +// GRPCQueryHandler defines a function type which handles mocked ABCI Query requests +// using gRPC +type GRPCQueryHandler = func(ctx context.Context, req *QueryRequest) (*QueryResponse, error) + +// QueryRequest is a light mock of cometbft abci.QueryRequest. +type QueryRequest struct { + Data []byte + Height int64 +} + +// QueryResponse is a light mock of cometbft abci.QueryResponse. +type QueryResponse struct { + Value []byte + Height int64 +} + // QueryHelper is a test utility for building a query client from a proto interface registry. type QueryHelper struct { cdc encoding.Codec routes map[string]GRPCQueryHandler } -func NewQueryHelper(interfaceRegistry codectypes.InterfaceRegistry) *QueryHelper { - // instantiate the codec - cdc := codec.NewProtoCodec(interfaceRegistry).GRPCCodec() - // Once we have an interface registry, we can register the interface - // registry reflection gRPC service. - +func NewQueryHelper(cdc encoding.Codec) *QueryHelper { qh := &QueryHelper{ cdc: cdc, routes: map[string]GRPCQueryHandler{}, } - reflection.RegisterReflectionServiceServer(qh, reflection.NewReflectionServiceServer(interfaceRegistry)) - return qh } @@ -52,7 +56,7 @@ func (q *QueryHelper) Invoke(ctx context.Context, method string, args, reply int return err } - res, err := querier(ctx, &abci.QueryRequest{Data: reqBz}) + res, err := querier(ctx, &QueryRequest{Data: reqBz}) if err != nil { return err } @@ -70,10 +74,6 @@ func (q *QueryHelper) NewStream(context.Context, *grpc.StreamDesc, string, ...gr panic("not implemented") } -// GRPCQueryHandler defines a function type which handles ABCI Query requests -// using gRPC -type GRPCQueryHandler = func(ctx context.Context, req *abci.QueryRequest) (*abci.QueryResponse, error) - // Route returns the GRPCQueryHandler for a given query route path or nil // if not found func (q *QueryHelper) Route(path string) GRPCQueryHandler { @@ -105,7 +105,7 @@ func (q *QueryHelper) registerABCIQueryHandler(sd *grpc.ServiceDesc, method grpc panic(fmt.Sprintf("handler for %s already registered", fqName)) } - q.routes[fqName] = func(ctx context.Context, req *abci.QueryRequest) (*abci.QueryResponse, error) { + q.routes[fqName] = func(ctx context.Context, req *QueryRequest) (*QueryResponse, error) { // call the method handler from the service description with the handler object, // a wrapped sdk.Context with proto-unmarshaled data from the ABCI request data res, err := methodHandler(handler, ctx, func(i interface{}) error { @@ -123,7 +123,7 @@ func (q *QueryHelper) registerABCIQueryHandler(sd *grpc.ServiceDesc, method grpc } // return the result bytes as the response value - return &abci.QueryResponse{ + return &QueryResponse{ Height: req.Height, Value: resBytes, }, nil diff --git a/simapp/v2/go.mod b/simapp/v2/go.mod index eeec74b21519..82ac2aea3964 100644 --- a/simapp/v2/go.mod +++ b/simapp/v2/go.mod @@ -297,6 +297,7 @@ replace ( // server v2 integration replace ( + cosmossdk.io/core/testing => ../../core/testing cosmossdk.io/indexer/postgres => ../../indexer/postgres cosmossdk.io/runtime/v2 => ../../runtime/v2 cosmossdk.io/server/v2 => ../../server/v2 @@ -304,4 +305,5 @@ replace ( cosmossdk.io/server/v2/cometbft => ../../server/v2/cometbft cosmossdk.io/server/v2/stf => ../../server/v2/stf cosmossdk.io/store/v2 => ../../store/v2 + ) diff --git a/simapp/v2/go.sum b/simapp/v2/go.sum index 12e6a3531a8b..c599ccdac5ce 100644 --- a/simapp/v2/go.sum +++ b/simapp/v2/go.sum @@ -616,8 +616,6 @@ cosmossdk.io/collections v1.0.0 h1:YCYIe/pIMtc1iLDD0OrVdfWCnIkpwdy7k9NSQpaR5mg= cosmossdk.io/collections v1.0.0/go.mod h1:mFfLxnYT1fV+B3Lx9GLap1qxmffIPqQCND4xBExerps= cosmossdk.io/core v1.0.0 h1:e7XBbISOytLBOXMVwpRPixThXqEkeLGlg8no/qpgS8U= cosmossdk.io/core v1.0.0/go.mod h1:mKIp3RkoEmtqdEdFHxHwWAULRe+79gfdOvmArrLDbDc= -cosmossdk.io/core/testing v0.0.1 h1:gYCTaftcRrz+HoNXmK7r9KgbG1jgBJ8pNzm/Pa/erFQ= -cosmossdk.io/core/testing v0.0.1/go.mod h1:2VDNz/25qtxgPa0+j8LW5e8Ev/xObqoJA7QuJS9/wIQ= cosmossdk.io/depinject v1.1.0 h1:wLan7LG35VM7Yo6ov0jId3RHWCGRhe8E8bsuARorl5E= cosmossdk.io/depinject v1.1.0/go.mod h1:kkI5H9jCGHeKeYWXTqYdruogYrEeWvBQCw1Pj4/eCFI= cosmossdk.io/errors v1.0.1 h1:bzu+Kcr0kS/1DuPBtUFdWjzLqyUuCiyHjyJB6srBV/0= diff --git a/tests/go.mod b/tests/go.mod index 7c93a98a4adc..9f8cf901bf8d 100644 --- a/tests/go.mod +++ b/tests/go.mod @@ -6,6 +6,7 @@ require ( cosmossdk.io/api v0.8.2-0.20250114014050-e279d7cec391 cosmossdk.io/collections v1.0.0 cosmossdk.io/core v1.0.0 + cosmossdk.io/core/testing v0.0.1 cosmossdk.io/depinject v1.1.0 cosmossdk.io/log v1.5.0 cosmossdk.io/math v1.5.0 @@ -24,7 +25,6 @@ require ( ) require ( - cosmossdk.io/core/testing v0.0.1 cosmossdk.io/runtime/v2 v2.0.0-20240911143651-72620a577660 cosmossdk.io/server/v2/stf v1.0.0-beta.2 cosmossdk.io/store/v2 v2.0.0-beta.1 @@ -270,6 +270,7 @@ replace ( // Below are the long-lived replace for tests. replace ( + cosmossdk.io/core/testing => ../core/testing github.com/99designs/keyring => github.com/cosmos/keyring v1.2.0 // We always want to test against the latest version of the SDK. github.com/cosmos/cosmos-sdk => ../. diff --git a/tests/go.sum b/tests/go.sum index 7e65c67718c5..65cc36dfee2f 100644 --- a/tests/go.sum +++ b/tests/go.sum @@ -616,8 +616,6 @@ cosmossdk.io/collections v1.0.0 h1:YCYIe/pIMtc1iLDD0OrVdfWCnIkpwdy7k9NSQpaR5mg= cosmossdk.io/collections v1.0.0/go.mod h1:mFfLxnYT1fV+B3Lx9GLap1qxmffIPqQCND4xBExerps= cosmossdk.io/core v1.0.0 h1:e7XBbISOytLBOXMVwpRPixThXqEkeLGlg8no/qpgS8U= cosmossdk.io/core v1.0.0/go.mod h1:mKIp3RkoEmtqdEdFHxHwWAULRe+79gfdOvmArrLDbDc= -cosmossdk.io/core/testing v0.0.1 h1:gYCTaftcRrz+HoNXmK7r9KgbG1jgBJ8pNzm/Pa/erFQ= -cosmossdk.io/core/testing v0.0.1/go.mod h1:2VDNz/25qtxgPa0+j8LW5e8Ev/xObqoJA7QuJS9/wIQ= cosmossdk.io/depinject v1.1.0 h1:wLan7LG35VM7Yo6ov0jId3RHWCGRhe8E8bsuARorl5E= cosmossdk.io/depinject v1.1.0/go.mod h1:kkI5H9jCGHeKeYWXTqYdruogYrEeWvBQCw1Pj4/eCFI= cosmossdk.io/errors v1.0.1 h1:bzu+Kcr0kS/1DuPBtUFdWjzLqyUuCiyHjyJB6srBV/0= diff --git a/tests/integration/v2/accounts/fixture_test.go b/tests/integration/v2/accounts/fixture_test.go index 2a9a5c9aada7..54627a688046 100644 --- a/tests/integration/v2/accounts/fixture_test.go +++ b/tests/integration/v2/accounts/fixture_test.go @@ -8,6 +8,7 @@ import ( "github.com/stretchr/testify/require" "cosmossdk.io/core/router" + "cosmossdk.io/core/testing/msgrouter" "cosmossdk.io/core/transaction" "cosmossdk.io/depinject" "cosmossdk.io/log" @@ -144,14 +145,14 @@ func initFixture(t *testing.T, f authentiacteFunc) *fixture { var err error startupCfg := integration.DefaultStartUpConfig(t) - msgRouterService := integration.NewRouterService() + msgRouterService := msgrouter.NewRouterService() fixture.registerMsgRouterService(msgRouterService) var routerFactory runtime.RouterServiceFactory = func(_ []byte) router.Service { return msgRouterService } - queryRouterService := integration.NewRouterService() + queryRouterService := msgrouter.NewRouterService() fixture.registerQueryRouterService(queryRouterService) serviceBuilder := runtime.NewRouterBuilder(routerFactory, queryRouterService) @@ -188,7 +189,7 @@ func initFixture(t *testing.T, f authentiacteFunc) *fixture { return fixture } -func (f *fixture) registerMsgRouterService(router *integration.RouterService) { +func (f *fixture) registerMsgRouterService(router *msgrouter.RouterService) { // register custom router service bankSendHandler := func(ctx context.Context, req transaction.Msg) (transaction.Msg, error) { msg, ok := req.(*banktypes.MsgSend) @@ -203,7 +204,7 @@ func (f *fixture) registerMsgRouterService(router *integration.RouterService) { router.RegisterHandler(bankSendHandler, "cosmos.bank.v1beta1.MsgSend") } -func (f *fixture) registerQueryRouterService(router *integration.RouterService) { +func (f *fixture) registerQueryRouterService(router *msgrouter.RouterService) { // register custom router service queryHandler := func(ctx context.Context, msg transaction.Msg) (transaction.Msg, error) { req, ok := msg.(*accountsv1.AccountNumberRequest) diff --git a/tests/integration/v2/accounts/lockup/utils.go b/tests/integration/v2/accounts/lockup/utils.go index e5e50c21682c..b186c0756365 100644 --- a/tests/integration/v2/accounts/lockup/utils.go +++ b/tests/integration/v2/accounts/lockup/utils.go @@ -8,6 +8,7 @@ import ( "github.com/stretchr/testify/suite" "cosmossdk.io/core/router" + "cosmossdk.io/core/testing/msgrouter" "cosmossdk.io/core/transaction" "cosmossdk.io/depinject" "cosmossdk.io/log" @@ -78,14 +79,14 @@ func (s *IntegrationTestSuite) SetupSuite() { var err error startupCfg := integration.DefaultStartUpConfig(s.T()) - msgRouterService := integration.NewRouterService() + msgRouterService := msgrouter.NewRouterService() s.registerMsgRouterService(msgRouterService) var routerFactory runtime.RouterServiceFactory = func(_ []byte) router.Service { return msgRouterService } - queryRouterService := integration.NewRouterService() + queryRouterService := msgrouter.NewRouterService() s.registerQueryRouterService(queryRouterService) serviceBuilder := runtime.NewRouterBuilder(routerFactory, queryRouterService) @@ -113,7 +114,7 @@ func (s *IntegrationTestSuite) SetupSuite() { s.ctx = s.app.StateLatestContext(s.T()) } -func (s *IntegrationTestSuite) registerMsgRouterService(router *integration.RouterService) { +func (s *IntegrationTestSuite) registerMsgRouterService(router *msgrouter.RouterService) { // register custom router service bankSendHandler := func(ctx context.Context, req transaction.Msg) (transaction.Msg, error) { msg, ok := req.(*banktypes.MsgSend) @@ -161,7 +162,7 @@ func (s *IntegrationTestSuite) registerMsgRouterService(router *integration.Rout router.RegisterHandler(distrWithdrawRewardHandler, "cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward") } -func (s *IntegrationTestSuite) registerQueryRouterService(router *integration.RouterService) { +func (s *IntegrationTestSuite) registerQueryRouterService(router *msgrouter.RouterService) { // register custom router service stakingParamsQueryHandler := func(ctx context.Context, msg transaction.Msg) (transaction.Msg, error) { req, ok := msg.(*stakingtypes.QueryParamsRequest) diff --git a/tests/integration/v2/accounts/multisig/test_suite.go b/tests/integration/v2/accounts/multisig/test_suite.go index e71c432f7495..da998b1bae30 100644 --- a/tests/integration/v2/accounts/multisig/test_suite.go +++ b/tests/integration/v2/accounts/multisig/test_suite.go @@ -6,6 +6,7 @@ import ( "github.com/stretchr/testify/suite" "cosmossdk.io/core/router" + "cosmossdk.io/core/testing/msgrouter" "cosmossdk.io/core/transaction" "cosmossdk.io/depinject" "cosmossdk.io/log" @@ -73,14 +74,14 @@ func (s *IntegrationTestSuite) SetupSuite() { var err error startupCfg := integration.DefaultStartUpConfig(s.T()) - msgRouterService := integration.NewRouterService() + msgRouterService := msgrouter.NewRouterService() s.registerMsgRouterService(msgRouterService) var routerFactory runtime.RouterServiceFactory = func(_ []byte) router.Service { return msgRouterService } - queryRouterService := integration.NewRouterService() + queryRouterService := msgrouter.NewRouterService() s.registerQueryRouterService(queryRouterService) serviceBuilder := runtime.NewRouterBuilder(routerFactory, queryRouterService) @@ -115,7 +116,7 @@ func (s *IntegrationTestSuite) SetupSuite() { } } -func (s *IntegrationTestSuite) registerMsgRouterService(router *integration.RouterService) { +func (s *IntegrationTestSuite) registerMsgRouterService(router *msgrouter.RouterService) { // register custom router service bankSendHandler := func(ctx context.Context, req transaction.Msg) (transaction.Msg, error) { msg, ok := req.(*banktypes.MsgSend) @@ -142,7 +143,7 @@ func (s *IntegrationTestSuite) registerMsgRouterService(router *integration.Rout router.RegisterHandler(accountsExeccHandler, "cosmos.accounts.v1.MsgExecute") } -func (s *IntegrationTestSuite) registerQueryRouterService(router *integration.RouterService) { +func (s *IntegrationTestSuite) registerQueryRouterService(router *msgrouter.RouterService) { // register custom router service bankBalanceQueryHandler := func(ctx context.Context, msg transaction.Msg) (transaction.Msg, error) { req, ok := msg.(*banktypes.QueryBalanceRequest) diff --git a/tests/integration/v2/auth/app_test.go b/tests/integration/v2/auth/app_test.go index 6331492b014c..6a20e9eef797 100644 --- a/tests/integration/v2/auth/app_test.go +++ b/tests/integration/v2/auth/app_test.go @@ -7,6 +7,7 @@ import ( "github.com/stretchr/testify/require" "cosmossdk.io/core/router" + "cosmossdk.io/core/testing/msgrouter" "cosmossdk.io/core/transaction" "cosmossdk.io/depinject" "cosmossdk.io/log" @@ -65,14 +66,14 @@ func createTestSuite(t *testing.T) *suite { var err error startupCfg := integration.DefaultStartUpConfig(t) - msgRouterService := integration.NewRouterService() + msgRouterService := msgrouter.NewRouterService() res.registerMsgRouterService(msgRouterService) var routerFactory runtime.RouterServiceFactory = func(_ []byte) router.Service { return msgRouterService } - queryRouterService := integration.NewRouterService() + queryRouterService := msgrouter.NewRouterService() res.registerQueryRouterService(queryRouterService) serviceBuilder := runtime.NewRouterBuilder(routerFactory, queryRouterService) @@ -103,7 +104,7 @@ func createTestSuite(t *testing.T) *suite { return &res } -func (s *suite) registerMsgRouterService(router *integration.RouterService) { +func (s *suite) registerMsgRouterService(router *msgrouter.RouterService) { // register custom router service bankSendHandler := func(ctx context.Context, req transaction.Msg) (transaction.Msg, error) { msg, ok := req.(*banktypes.MsgSend) @@ -118,7 +119,7 @@ func (s *suite) registerMsgRouterService(router *integration.RouterService) { router.RegisterHandler(bankSendHandler, "cosmos.bank.v1beta1.MsgSend") } -func (s *suite) registerQueryRouterService(router *integration.RouterService) { +func (s *suite) registerQueryRouterService(router *msgrouter.RouterService) { // register custom router service queryHandler := func(ctx context.Context, msg transaction.Msg) (transaction.Msg, error) { req, ok := msg.(*accountsv1.AccountNumberRequest) diff --git a/tests/integration/v2/distribution/fixture_test.go b/tests/integration/v2/distribution/fixture_test.go index f84278be5555..efd7dcefa676 100644 --- a/tests/integration/v2/distribution/fixture_test.go +++ b/tests/integration/v2/distribution/fixture_test.go @@ -9,6 +9,7 @@ import ( "cosmossdk.io/core/comet" corecontext "cosmossdk.io/core/context" "cosmossdk.io/core/router" + "cosmossdk.io/core/testing/msgrouter" "cosmossdk.io/core/transaction" "cosmossdk.io/depinject" "cosmossdk.io/log" @@ -88,14 +89,14 @@ func createTestFixture(t *testing.T) *fixture { var err error startupCfg := integration.DefaultStartUpConfig(t) - msgRouterService := integration.NewRouterService() + msgRouterService := msgrouter.NewRouterService() res.registerMsgRouterService(msgRouterService) var routerFactory runtime.RouterServiceFactory = func(_ []byte) router.Service { return msgRouterService } - queryRouterService := integration.NewRouterService() + queryRouterService := msgrouter.NewRouterService() res.registerQueryRouterService(queryRouterService) serviceBuilder := runtime.NewRouterBuilder(routerFactory, queryRouterService) @@ -139,7 +140,7 @@ func createTestFixture(t *testing.T) *fixture { return &res } -func (s *fixture) registerMsgRouterService(router *integration.RouterService) { +func (s *fixture) registerMsgRouterService(router *msgrouter.RouterService) { // register custom router service bankSendHandler := func(ctx context.Context, req transaction.Msg) (transaction.Msg, error) { msg, ok := req.(*banktypes.MsgSend) @@ -154,6 +155,6 @@ func (s *fixture) registerMsgRouterService(router *integration.RouterService) { router.RegisterHandler(bankSendHandler, "cosmos.bank.v1beta1.MsgSend") } -func (s *fixture) registerQueryRouterService(router *integration.RouterService) { +func (s *fixture) registerQueryRouterService(_ *msgrouter.RouterService) { // register custom router service } diff --git a/tests/integration/v2/gov/common_test.go b/tests/integration/v2/gov/common_test.go index 176a0589b0e0..fe6dee347806 100644 --- a/tests/integration/v2/gov/common_test.go +++ b/tests/integration/v2/gov/common_test.go @@ -11,6 +11,7 @@ import ( "gotest.tools/v3/assert" "cosmossdk.io/core/router" + "cosmossdk.io/core/testing/msgrouter" "cosmossdk.io/core/transaction" "cosmossdk.io/depinject" sdklog "cosmossdk.io/log" @@ -144,14 +145,14 @@ func createTestSuite(t *testing.T, genesisBehavior int) suite { startupCfg := integration.DefaultStartUpConfig(t) - msgRouterService := integration.NewRouterService() + msgRouterService := msgrouter.NewRouterService() res.registerMsgRouterService(msgRouterService) var routerFactory runtime.RouterServiceFactory = func(_ []byte) router.Service { return msgRouterService } - queryRouterService := integration.NewRouterService() + queryRouterService := msgrouter.NewRouterService() res.registerQueryRouterService(queryRouterService) serviceBuilder := runtime.NewRouterBuilder(routerFactory, queryRouterService) @@ -173,7 +174,7 @@ func createTestSuite(t *testing.T, genesisBehavior int) suite { return res } -func (s *suite) registerMsgRouterService(router *integration.RouterService) { +func (s *suite) registerMsgRouterService(router *msgrouter.RouterService) { // register custom router service bankSendHandler := func(ctx context.Context, req transaction.Msg) (transaction.Msg, error) { msg, ok := req.(*banktypes.MsgSend) @@ -202,5 +203,5 @@ func (s *suite) registerMsgRouterService(router *integration.RouterService) { router.RegisterHandler(govSubmitProposalHandler, "/cosmos.gov.v1.MsgExecLegacyContent") } -func (f *suite) registerQueryRouterService(router *integration.RouterService) { +func (f *suite) registerQueryRouterService(_ *msgrouter.RouterService) { } diff --git a/tests/integration/v2/gov/keeper/fixture_test.go b/tests/integration/v2/gov/keeper/fixture_test.go index dc15c9e6737c..da032125dece 100644 --- a/tests/integration/v2/gov/keeper/fixture_test.go +++ b/tests/integration/v2/gov/keeper/fixture_test.go @@ -7,6 +7,7 @@ import ( "github.com/stretchr/testify/require" "cosmossdk.io/core/router" + "cosmossdk.io/core/testing/msgrouter" "cosmossdk.io/core/transaction" "cosmossdk.io/depinject" "cosmossdk.io/log" @@ -59,14 +60,14 @@ func initFixture(t *testing.T) *fixture { startupCfg := integration.DefaultStartUpConfig(t) - msgRouterService := integration.NewRouterService() + msgRouterService := msgrouter.NewRouterService() res.registerMsgRouterService(msgRouterService) var routerFactory runtime.RouterServiceFactory = func(_ []byte) router.Service { return msgRouterService } - queryRouterService := integration.NewRouterService() + queryRouterService := msgrouter.NewRouterService() res.registerQueryRouterService(queryRouterService) serviceBuilder := runtime.NewRouterBuilder(routerFactory, queryRouterService) @@ -88,7 +89,7 @@ func initFixture(t *testing.T) *fixture { return &res } -func (f *fixture) registerMsgRouterService(router *integration.RouterService) { +func (f *fixture) registerMsgRouterService(router *msgrouter.RouterService) { // register custom router service govSubmitProposalHandler := func(ctx context.Context, req transaction.Msg) (transaction.Msg, error) { @@ -104,5 +105,5 @@ func (f *fixture) registerMsgRouterService(router *integration.RouterService) { router.RegisterHandler(govSubmitProposalHandler, "/cosmos.gov.v1.MsgExecLegacyContent") } -func (f *fixture) registerQueryRouterService(router *integration.RouterService) { +func (f *fixture) registerQueryRouterService(_ *msgrouter.RouterService) { } diff --git a/tests/integration/v2/services.go b/tests/integration/v2/services.go index 96891da0b1ad..0232de648544 100644 --- a/tests/integration/v2/services.go +++ b/tests/integration/v2/services.go @@ -16,7 +16,6 @@ import ( "cosmossdk.io/core/event" "cosmossdk.io/core/gas" "cosmossdk.io/core/header" - "cosmossdk.io/core/router" "cosmossdk.io/core/server" corestore "cosmossdk.io/core/store" "cosmossdk.io/core/transaction" @@ -316,45 +315,6 @@ func applyStateChanges(dst, src corestore.WriterMap) error { return dst.ApplyStateChanges(changes) } -// msgTypeURL returns the TypeURL of a proto message. -func msgTypeURL(msg gogoproto.Message) string { - return gogoproto.MessageName(msg) -} - -type routerHandler func(context.Context, transaction.Msg) (transaction.Msg, error) - -var _ router.Service = &RouterService{} - -// custom router service for integration tests -type RouterService struct { - handlers map[string]routerHandler -} - -func NewRouterService() *RouterService { - return &RouterService{ - handlers: make(map[string]routerHandler), - } -} - -func (rs *RouterService) RegisterHandler(handler routerHandler, typeUrl string) { - rs.handlers[typeUrl] = handler -} - -func (rs RouterService) CanInvoke(ctx context.Context, typeUrl string) error { - if rs.handlers[typeUrl] == nil { - return fmt.Errorf("no handler for typeURL %s", typeUrl) - } - return nil -} - -func (rs RouterService) Invoke(ctx context.Context, req transaction.Msg) (transaction.Msg, error) { - typeUrl := msgTypeURL(req) - if rs.handlers[typeUrl] == nil { - return nil, fmt.Errorf("no handler for typeURL %s", typeUrl) - } - return rs.handlers[typeUrl](ctx, req) -} - var _ header.Service = &HeaderService{} type HeaderService struct{} diff --git a/x/accounts/go.mod b/x/accounts/go.mod index 0b421ab1eb6c..f37073b21064 100644 --- a/x/accounts/go.mod +++ b/x/accounts/go.mod @@ -165,7 +165,10 @@ require ( sigs.k8s.io/yaml v1.4.0 // indirect ) -replace github.com/cosmos/cosmos-sdk => ../../. +replace ( + cosmossdk.io/core/testing => ../../core/testing + github.com/cosmos/cosmos-sdk => ../../. +) // TODO remove post spinning out all modules replace ( diff --git a/x/accounts/go.sum b/x/accounts/go.sum index db1c4cc7f6a2..04c44eca92da 100644 --- a/x/accounts/go.sum +++ b/x/accounts/go.sum @@ -10,8 +10,6 @@ cosmossdk.io/collections v1.0.0 h1:YCYIe/pIMtc1iLDD0OrVdfWCnIkpwdy7k9NSQpaR5mg= cosmossdk.io/collections v1.0.0/go.mod h1:mFfLxnYT1fV+B3Lx9GLap1qxmffIPqQCND4xBExerps= cosmossdk.io/core v1.0.0 h1:e7XBbISOytLBOXMVwpRPixThXqEkeLGlg8no/qpgS8U= cosmossdk.io/core v1.0.0/go.mod h1:mKIp3RkoEmtqdEdFHxHwWAULRe+79gfdOvmArrLDbDc= -cosmossdk.io/core/testing v0.0.1 h1:gYCTaftcRrz+HoNXmK7r9KgbG1jgBJ8pNzm/Pa/erFQ= -cosmossdk.io/core/testing v0.0.1/go.mod h1:2VDNz/25qtxgPa0+j8LW5e8Ev/xObqoJA7QuJS9/wIQ= cosmossdk.io/depinject v1.1.0 h1:wLan7LG35VM7Yo6ov0jId3RHWCGRhe8E8bsuARorl5E= cosmossdk.io/depinject v1.1.0/go.mod h1:kkI5H9jCGHeKeYWXTqYdruogYrEeWvBQCw1Pj4/eCFI= cosmossdk.io/errors v1.0.1 h1:bzu+Kcr0kS/1DuPBtUFdWjzLqyUuCiyHjyJB6srBV/0= diff --git a/x/accounts/utils_test.go b/x/accounts/utils_test.go index abe494f69b42..d8a52ca7588e 100644 --- a/x/accounts/utils_test.go +++ b/x/accounts/utils_test.go @@ -9,18 +9,18 @@ import ( "google.golang.org/protobuf/reflect/protoregistry" bankv1beta1 "cosmossdk.io/api/cosmos/bank/v1beta1" - basev1beta1 "cosmossdk.io/api/cosmos/base/v1beta1" "cosmossdk.io/core/address" - "cosmossdk.io/core/event" coretesting "cosmossdk.io/core/testing" - coretransaction "cosmossdk.io/core/transaction" + "cosmossdk.io/core/testing/msgrouter" + "cosmossdk.io/core/transaction" + "cosmossdk.io/math" "cosmossdk.io/x/accounts/internal/implementation" + banktypes "cosmossdk.io/x/bank/types" "cosmossdk.io/x/tx/signing" - "github.com/cosmos/cosmos-sdk/baseapp" "github.com/cosmos/cosmos-sdk/codec" codectypes "github.com/cosmos/cosmos-sdk/codec/types" - "github.com/cosmos/cosmos-sdk/runtime" + sdk "github.com/cosmos/cosmos-sdk/types" ) var _ address.Codec = (*addressCodec)(nil) @@ -30,16 +30,6 @@ type addressCodec struct{} func (a addressCodec) StringToBytes(text string) ([]byte, error) { return []byte(text), nil } func (a addressCodec) BytesToString(bz []byte) (string, error) { return string(bz), nil } -type eventService struct{} - -func (e eventService) Emit(event gogoproto.Message) error { return nil } - -func (e eventService) EmitKV(eventType string, attrs ...event.Attribute) error { - return nil -} - -func (e eventService) EventManager(ctx context.Context) event.Manager { return e } - func newKeeper(t *testing.T, accounts ...implementation.AccountCreatorFunc) (Keeper, context.Context) { t.Helper() @@ -56,45 +46,40 @@ func newKeeper(t *testing.T, accounts ...implementation.AccountCreatorFunc) (Kee if err != nil { t.Fatal(err) } - msgRouter := baseapp.NewMsgServiceRouter() - msgRouter.SetInterfaceRegistry(ir) - queryRouter := baseapp.NewGRPCQueryRouter() - queryRouter.SetInterfaceRegistry(ir) - ir.RegisterImplementations((*coretransaction.Msg)(nil), + ir.RegisterImplementations((*transaction.Msg)(nil), &bankv1beta1.MsgSend{}, &bankv1beta1.MsgBurn{}, &bankv1beta1.MsgSetSendEnabled{}, &bankv1beta1.MsgMultiSend{}, &bankv1beta1.MsgUpdateParams{}, ) - queryRouter.RegisterService(&bankv1beta1.Query_ServiceDesc, &bankQueryServer{}) - msgRouter.RegisterService(&bankv1beta1.Msg_ServiceDesc, &bankMsgServer{}) - - ctx := coretesting.Context() - ss := coretesting.KVStoreService(ctx, "test") - env := runtime.NewEnvironment(ss, coretesting.NewNopLogger(), runtime.EnvWithQueryRouterService(queryRouter), runtime.EnvWithMsgRouterService(msgRouter)) - env.EventService = eventService{} - m, err := NewKeeper(codec.NewProtoCodec(ir), env, addressCodec, ir, nil, accounts...) - require.NoError(t, err) - return m, ctx -} -type bankQueryServer struct { - bankv1beta1.UnimplementedQueryServer -} + msgRouter := msgrouter.NewRouterService() + msgRouter.RegisterHandler(Send, gogoproto.MessageName(&banktypes.MsgSend{})) -type bankMsgServer struct { - bankv1beta1.UnimplementedMsgServer + queryRouter := msgrouter.NewRouterService() + queryRouter.RegisterHandler(Balance, gogoproto.MessageName(&banktypes.QueryBalanceRequest{})) + + ctx, env := coretesting.NewTestEnvironment(coretesting.TestEnvironmentConfig{ + ModuleName: "test", + Logger: coretesting.NewNopLogger(), + MsgRouter: msgRouter, + QueryRouter: queryRouter, + }) + + m, err := NewKeeper(codec.NewProtoCodec(ir), env.Environment, addressCodec, ir, nil, accounts...) + require.NoError(t, err) + return m, ctx } -func (b bankQueryServer) Balance(context.Context, *bankv1beta1.QueryBalanceRequest) (*bankv1beta1.QueryBalanceResponse, error) { - return &bankv1beta1.QueryBalanceResponse{Balance: &basev1beta1.Coin{ +func Balance(context.Context, transaction.Msg) (transaction.Msg, error) { + return &banktypes.QueryBalanceResponse{Balance: &sdk.Coin{ Denom: "atom", - Amount: "1000", + Amount: math.NewInt(1000), }}, nil } -func (b bankMsgServer) Send(context.Context, *bankv1beta1.MsgSend) (*bankv1beta1.MsgSendResponse, error) { +func Send(context.Context, transaction.Msg) (transaction.Msg, error) { return &bankv1beta1.MsgSendResponse{}, nil } diff --git a/x/authz/go.mod b/x/authz/go.mod index 4ec97b688e00..ee0430de3cc9 100644 --- a/x/authz/go.mod +++ b/x/authz/go.mod @@ -168,7 +168,10 @@ require ( golang.org/x/arch v0.12.0 // indirect ) -replace github.com/cosmos/cosmos-sdk => ../../. +replace ( + cosmossdk.io/core/testing => ../../core/testing + github.com/cosmos/cosmos-sdk => ../../ +) // TODO remove post spinning out all modules replace ( diff --git a/x/authz/go.sum b/x/authz/go.sum index db1c4cc7f6a2..04c44eca92da 100644 --- a/x/authz/go.sum +++ b/x/authz/go.sum @@ -10,8 +10,6 @@ cosmossdk.io/collections v1.0.0 h1:YCYIe/pIMtc1iLDD0OrVdfWCnIkpwdy7k9NSQpaR5mg= cosmossdk.io/collections v1.0.0/go.mod h1:mFfLxnYT1fV+B3Lx9GLap1qxmffIPqQCND4xBExerps= cosmossdk.io/core v1.0.0 h1:e7XBbISOytLBOXMVwpRPixThXqEkeLGlg8no/qpgS8U= cosmossdk.io/core v1.0.0/go.mod h1:mKIp3RkoEmtqdEdFHxHwWAULRe+79gfdOvmArrLDbDc= -cosmossdk.io/core/testing v0.0.1 h1:gYCTaftcRrz+HoNXmK7r9KgbG1jgBJ8pNzm/Pa/erFQ= -cosmossdk.io/core/testing v0.0.1/go.mod h1:2VDNz/25qtxgPa0+j8LW5e8Ev/xObqoJA7QuJS9/wIQ= cosmossdk.io/depinject v1.1.0 h1:wLan7LG35VM7Yo6ov0jId3RHWCGRhe8E8bsuARorl5E= cosmossdk.io/depinject v1.1.0/go.mod h1:kkI5H9jCGHeKeYWXTqYdruogYrEeWvBQCw1Pj4/eCFI= cosmossdk.io/errors v1.0.1 h1:bzu+Kcr0kS/1DuPBtUFdWjzLqyUuCiyHjyJB6srBV/0= diff --git a/x/bank/keeper/keeper_test.go b/x/bank/keeper/keeper_test.go index 284129e3eeed..186cc9c83983 100644 --- a/x/bank/keeper/keeper_test.go +++ b/x/bank/keeper/keeper_test.go @@ -17,6 +17,7 @@ import ( coreevent "cosmossdk.io/core/event" "cosmossdk.io/core/header" coretesting "cosmossdk.io/core/testing" + "cosmossdk.io/core/testing/queryclient" errorsmod "cosmossdk.io/errors" "cosmossdk.io/log" "cosmossdk.io/math" @@ -25,9 +26,9 @@ import ( banktestutil "cosmossdk.io/x/bank/testutil" banktypes "cosmossdk.io/x/bank/types" + "github.com/cosmos/cosmos-sdk/codec" codectestutil "github.com/cosmos/cosmos-sdk/codec/testutil" "github.com/cosmos/cosmos-sdk/runtime" - "github.com/cosmos/cosmos-sdk/testutil/queryclient" sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" moduletestutil "github.com/cosmos/cosmos-sdk/types/module/testutil" @@ -186,7 +187,7 @@ func (suite *KeeperTestSuite) SetupTest() { DefaultSendEnabled: banktypes.DefaultDefaultSendEnabled, })) - queryHelper := queryclient.NewQueryHelper(encCfg.InterfaceRegistry) + queryHelper := queryclient.NewQueryHelper(codec.NewProtoCodec(encCfg.InterfaceRegistry).GRPCCodec()) banktypes.RegisterQueryServer(queryHelper, suite.bankKeeper) banktypes.RegisterInterfaces(encCfg.InterfaceRegistry) diff --git a/x/gov/go.mod b/x/gov/go.mod index 12c3f7d49928..e8ba6ab72fdb 100644 --- a/x/gov/go.mod +++ b/x/gov/go.mod @@ -172,7 +172,10 @@ require ( golang.org/x/arch v0.12.0 // indirect ) -replace github.com/cosmos/cosmos-sdk => ../../. +replace ( + cosmossdk.io/core/testing => ../../core/testing + github.com/cosmos/cosmos-sdk => ../../ +) // TODO remove post spinning out all modules replace ( diff --git a/x/gov/go.sum b/x/gov/go.sum index 45b01dc40ec4..215e026bb0d5 100644 --- a/x/gov/go.sum +++ b/x/gov/go.sum @@ -10,8 +10,6 @@ cosmossdk.io/collections v1.0.0 h1:YCYIe/pIMtc1iLDD0OrVdfWCnIkpwdy7k9NSQpaR5mg= cosmossdk.io/collections v1.0.0/go.mod h1:mFfLxnYT1fV+B3Lx9GLap1qxmffIPqQCND4xBExerps= cosmossdk.io/core v1.0.0 h1:e7XBbISOytLBOXMVwpRPixThXqEkeLGlg8no/qpgS8U= cosmossdk.io/core v1.0.0/go.mod h1:mKIp3RkoEmtqdEdFHxHwWAULRe+79gfdOvmArrLDbDc= -cosmossdk.io/core/testing v0.0.1 h1:gYCTaftcRrz+HoNXmK7r9KgbG1jgBJ8pNzm/Pa/erFQ= -cosmossdk.io/core/testing v0.0.1/go.mod h1:2VDNz/25qtxgPa0+j8LW5e8Ev/xObqoJA7QuJS9/wIQ= cosmossdk.io/depinject v1.1.0 h1:wLan7LG35VM7Yo6ov0jId3RHWCGRhe8E8bsuARorl5E= cosmossdk.io/depinject v1.1.0/go.mod h1:kkI5H9jCGHeKeYWXTqYdruogYrEeWvBQCw1Pj4/eCFI= cosmossdk.io/errors v1.0.1 h1:bzu+Kcr0kS/1DuPBtUFdWjzLqyUuCiyHjyJB6srBV/0= diff --git a/x/group/go.mod b/x/group/go.mod index 29eba7887b49..5b2a2422fc44 100644 --- a/x/group/go.mod +++ b/x/group/go.mod @@ -166,7 +166,10 @@ require ( sigs.k8s.io/yaml v1.4.0 // indirect ) -replace github.com/cosmos/cosmos-sdk => ../../ +replace ( + cosmossdk.io/core/testing => ../../core/testing + github.com/cosmos/cosmos-sdk => ../../ +) // TODO remove post spinning out all modules replace ( diff --git a/x/group/go.sum b/x/group/go.sum index 1ca9336a711b..910277e90208 100644 --- a/x/group/go.sum +++ b/x/group/go.sum @@ -10,8 +10,6 @@ cosmossdk.io/collections v1.0.0 h1:YCYIe/pIMtc1iLDD0OrVdfWCnIkpwdy7k9NSQpaR5mg= cosmossdk.io/collections v1.0.0/go.mod h1:mFfLxnYT1fV+B3Lx9GLap1qxmffIPqQCND4xBExerps= cosmossdk.io/core v1.0.0 h1:e7XBbISOytLBOXMVwpRPixThXqEkeLGlg8no/qpgS8U= cosmossdk.io/core v1.0.0/go.mod h1:mKIp3RkoEmtqdEdFHxHwWAULRe+79gfdOvmArrLDbDc= -cosmossdk.io/core/testing v0.0.1 h1:gYCTaftcRrz+HoNXmK7r9KgbG1jgBJ8pNzm/Pa/erFQ= -cosmossdk.io/core/testing v0.0.1/go.mod h1:2VDNz/25qtxgPa0+j8LW5e8Ev/xObqoJA7QuJS9/wIQ= cosmossdk.io/depinject v1.1.0 h1:wLan7LG35VM7Yo6ov0jId3RHWCGRhe8E8bsuARorl5E= cosmossdk.io/depinject v1.1.0/go.mod h1:kkI5H9jCGHeKeYWXTqYdruogYrEeWvBQCw1Pj4/eCFI= cosmossdk.io/errors v1.0.1 h1:bzu+Kcr0kS/1DuPBtUFdWjzLqyUuCiyHjyJB6srBV/0=