Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

x/upgrade gRPC methods for VersionMap #9073

Merged
merged 71 commits into from
May 19, 2021
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
71 commits
Select commit Hold shift + click to select a range
11e8a8d
setup version map query
technicallyty Mar 27, 2021
c66a53f
Merge branch 'master' into ty-8941-grpc_vm
technicallyty Mar 29, 2021
0f01311
query methods
technicallyty Mar 30, 2021
c539eb5
grpc methods
technicallyty Mar 30, 2021
7dc8c58
Merge branch 'master' into ty-8941-grpc_vm
technicallyty Mar 30, 2021
21ce91f
cleanup
technicallyty Mar 30, 2021
8dd1f67
Merge branch 'master' into ty-8941-grpc_vm
technicallyty Mar 31, 2021
9c902df
grpc for VersionMap
technicallyty Mar 31, 2021
e967b8b
swagger update
technicallyty Apr 1, 2021
e610a69
swagger sync
technicallyty Apr 1, 2021
abaaf3f
cleanup
technicallyty Apr 1, 2021
89f742a
reset docs
technicallyty Apr 1, 2021
d5191d2
clean
technicallyty Apr 1, 2021
e462738
grpc with field
technicallyty Apr 2, 2021
f29fe4a
Merge branch 'master' into ty-8941-grpc_vm
technicallyty Apr 2, 2021
5542d8b
daily
technicallyty Apr 5, 2021
9002a9f
Merge branch 'master' into ty-8941-grpc_vm
technicallyty Apr 6, 2021
cca9b64
-add grpc methods
technicallyty Apr 7, 2021
be052ef
Merge branch 'master' into ty-8941-grpc_vm
technicallyty Apr 7, 2021
b123771
-consolidate grpc test to one test function
technicallyty Apr 7, 2021
7af53dc
consolidate tests
technicallyty Apr 7, 2021
7123308
swagger update
technicallyty Apr 7, 2021
05c853b
Merge branch 'master' into ty-8941-grpc_vm
technicallyty Apr 8, 2021
ead0214
this breaks
technicallyty Apr 8, 2021
447ab60
Try stringer on individual msgs
amaury1093 Apr 8, 2021
0fbf033
change map to slice in proto
technicallyty Apr 8, 2021
4ddc351
cleanup
technicallyty Apr 9, 2021
b68619f
Merge branch 'master' into ty-8941-grpc_vm
technicallyty Apr 12, 2021
09b2049
Merge branch 'master' into ty-8941-grpc_vm
technicallyty Apr 15, 2021
329991c
Merge branch 'master' into ty-8941-grpc_vm
technicallyty Apr 19, 2021
2dac103
Merge branch 'master' into ty-8941-grpc_vm
technicallyty Apr 21, 2021
1d5aef9
Merge branch 'master' into ty-8941-grpc_vm
technicallyty Apr 23, 2021
a2508bf
Merge branch 'master' into ty-8941-grpc_vm_v2
technicallyty Apr 23, 2021
139794f
add comments to proto fields
technicallyty Apr 23, 2021
4355b6d
Merge branch 'ty-8941-grpc_vm_v2' into ty-8941-grpc_vm
technicallyty Apr 23, 2021
c63d47a
cleanup
technicallyty Apr 23, 2021
894a6ea
regen proto files
technicallyty Apr 23, 2021
f1543cf
Merge branch 'master' into ty-8941-grpc_vm
technicallyty Apr 29, 2021
7008733
Merge branch 'master' into ty-8941-grpc_vm
technicallyty May 6, 2021
6212d45
jsoncodec
technicallyty May 6, 2021
8b0b4fb
Merge branch 'master' into ty-8941-grpc_vm
technicallyty May 7, 2021
8abe0b1
Merge branch 'master' into ty-8941-grpc_vm
technicallyty May 7, 2021
f7783ad
Merge branch 'master' into ty-8941-grpc_vm
technicallyty May 7, 2021
3f2ba9e
Merge branch 'master' into ty-8941-grpc_vm
technicallyty May 10, 2021
1e6dca2
Merge branch 'master' into ty-8941-grpc_vm
technicallyty May 10, 2021
2db4d84
Merge branch 'master' into ty-8941-grpc_vm
technicallyty May 11, 2021
15f6968
Merge branch 'master' into ty-8941-grpc_vm
technicallyty May 11, 2021
65c8de5
rename gRPC methods
technicallyty May 11, 2021
5b86316
Merge branch 'master' into ty-8941-grpc_vm
technicallyty May 11, 2021
76cb874
Merge branch 'master' into ty-8941-grpc_vm
technicallyty May 12, 2021
ca45602
* add fetch method for module version slice
technicallyty May 12, 2021
fb8b5bb
lint
technicallyty May 12, 2021
2d5f4e1
Merge branch 'master' into ty-8941-grpc_vm
technicallyty May 12, 2021
3d0c62a
Update proto/cosmos/upgrade/v1beta1/query.proto
technicallyty May 13, 2021
5fea65c
Update proto/cosmos/upgrade/v1beta1/upgrade.proto
technicallyty May 13, 2021
ec2a14b
Merge branch 'master' into ty-8941-grpc_vm
technicallyty May 13, 2021
1e85e9e
Merge branch 'ty-8941-grpc_vm' of https://github.com/cosmos/cosmos-sd…
technicallyty May 13, 2021
5ba15d5
fix up comments and regen proto/swagger
technicallyty May 13, 2021
f243aa0
Merge branch 'master' into ty-8941-grpc_vm
technicallyty May 14, 2021
67d5e54
Merge branch 'master' into ty-8941-grpc_vm
technicallyty May 14, 2021
7b66d99
Merge branch 'ty-8941-grpc_vm' of https://github.com/cosmos/cosmos-sd…
technicallyty May 14, 2021
d765070
Merge branch 'master' into ty-8941-grpc_vm
technicallyty May 14, 2021
934d351
Merge branch 'master' into ty-8941-grpc_vm
technicallyty May 16, 2021
ec7de4b
Update x/upgrade/client/cli/query.go
technicallyty May 17, 2021
70c093e
Merge branch 'master' into ty-8941-grpc_vm
technicallyty May 17, 2021
9906312
Merge branch 'master' into ty-8941-grpc_vm
technicallyty May 17, 2021
418a455
Merge branch 'master' into ty-8941-grpc_vm
technicallyty May 18, 2021
e05c9c9
Merge branch 'master' into ty-8941-grpc_vm
amaury1093 May 19, 2021
c29959e
Merge branch 'master' into ty-8941-grpc_vm
technicallyty May 19, 2021
2e399db
conform to pr 6711
technicallyty May 19, 2021
40749ce
lint
technicallyty May 19, 2021
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
query methods
  • Loading branch information
technicallyty committed Mar 30, 2021
commit 0f013110fc0511c4382168f6ecfc22b66a7b6c3b
34 changes: 34 additions & 0 deletions x/upgrade/client/cli/query.go
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ func GetQueryCmd() *cobra.Command {
cmd.AddCommand(
GetCurrentPlanCmd(),
GetAppliedPlanCmd(),
GetVersionMapCmd(),
)

return cmd
Expand Down Expand Up @@ -110,3 +111,36 @@ func GetAppliedPlanCmd() *cobra.Command {

return cmd
}

// GetVersionMapCmd returns the version map from state
func GetVersionMapCmd() *cobra.Command {
cmd := &cobra.Command{
Use: "versionmap",
Short: "get the version map",
Long: "Gets the map of module names to consensus versions",
Args: cobra.ExactArgs(0),
RunE: func(cmd *cobra.Command, args []string) error {
clientCtx, err := client.GetClientQueryContext(cmd)
if err != nil {
return err
}
queryClient := types.NewQueryClient(clientCtx)

params := types.QueryVersionMap{}
res, err := queryClient.VersionMap(cmd.Context(), &params)
if err != nil {
return err
}

if res.VersionMap == nil {
return fmt.Errorf("no version map in state")
}

return clientCtx.PrintProto(res)
},
}

flags.AddQueryFlagsToCmd(cmd)

return cmd
}
34 changes: 34 additions & 0 deletions x/upgrade/client/rest/query.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,14 @@ package rest

import (
"encoding/binary"
"encoding/json"
"fmt"
"net/http"

"github.com/gorilla/mux"

"github.com/cosmos/cosmos-sdk/client"
"github.com/cosmos/cosmos-sdk/types/module"
"github.com/cosmos/cosmos-sdk/types/rest"
"github.com/cosmos/cosmos-sdk/x/upgrade/types"
)
Expand All @@ -19,6 +21,9 @@ func registerQueryRoutes(clientCtx client.Context, r *mux.Router) {
r.HandleFunc(
"/upgrade/applied/{name}", getDonePlanHandler(clientCtx),
).Methods("GET")
r.HandleFunc(
"/upgrade/versionmap", getVersionMap(clientCtx),
)
}

func getCurrentPlanHandler(clientCtx client.Context) func(http.ResponseWriter, *http.Request) {
Expand Down Expand Up @@ -71,3 +76,32 @@ func getDonePlanHandler(clientCtx client.Context) func(http.ResponseWriter, *htt
rest.PostProcessResponse(w, clientCtx, applied)
}
}

func getVersionMap(clientCtx client.Context) func(http.ResponseWriter, *http.Request) {
return func(w http.ResponseWriter, r *http.Request) {

req := types.QueryVersionMap{}
bz, err := clientCtx.LegacyAmino.MarshalJSON(req)
if rest.CheckBadRequestError(w, err) {
return
}

res, _, err := clientCtx.QueryWithData(fmt.Sprintf("custom/%s/%s", types.QuerierKey, types.QueryVM), bz)
if rest.CheckBadRequestError(w, err) {
return
}

if len(res) == 0 {
http.NotFound(w, r)
return
}
if len(res) != 8 {
rest.WriteErrorResponse(w, http.StatusInternalServerError, "unknown format for applied-upgrade")
}

vm := make(module.VersionMap)
err = json.Unmarshal(res, &vm)
fmt.Println(vm)
rest.PostProcessResponse(w, clientCtx, vm)
}
}
17 changes: 17 additions & 0 deletions x/upgrade/keeper/grpc_query_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ import (
"fmt"
"testing"

"github.com/stretchr/testify/require"
"github.com/stretchr/testify/suite"
tmproto "github.com/tendermint/tendermint/proto/tendermint/types"

Expand Down Expand Up @@ -141,6 +142,22 @@ func (suite *UpgradeTestSuite) TestAppliedCurrentPlan() {
}
}

func (suite *UpgradeTestSuite) TestVersionMap() {

var req *types.QueryVersionMap

req = &types.QueryVersionMap{}

suite.SetupTest() // reset
res, err := suite.queryClient.VersionMap(gocontext.Background(), req)
require.NoError(suite.T(), err)
appVM := suite.app.UpgradeKeeper.GetModuleVersionMap(suite.ctx)
require.Equal(suite.T(), len(appVM), len(res.VersionMap))
for module := range res.VersionMap {
require.Equal(suite.T(), appVM[module], res.VersionMap[module])
}
}

func TestUpgradeTestSuite(t *testing.T) {
suite.Run(t, new(UpgradeTestSuite))
}
1 change: 1 addition & 0 deletions x/upgrade/types/querier.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,4 +4,5 @@ package types
const (
QueryCurrent = "current"
QueryApplied = "applied"
QueryVM = "versionmap"
)