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

Using old sorting function signature #555

Open
raserhin opened this issue Mar 6, 2024 · 0 comments
Open

Using old sorting function signature #555

raserhin opened this issue Mar 6, 2024 · 0 comments

Comments

@raserhin
Copy link

raserhin commented Mar 6, 2024

Summary of Bug

In line

slices.SortFunc(fds.File, func(x, y *descriptorpb.FileDescriptorProto) bool {
I could find the use of SortFunc

This slices sorting was introduced from the experimental package (the one you are using) to the std library, on doing so they decided to change the actual signature of the function from func(a, b E) bool to func(a, b E) int, you can check the PR

Now this break the SDK for my build process using Go version 1.21 (also tried 1.20)

Maybe I may be doing something wrong but I see this as possible point of failure in the future

Version

v0.47.5

Steps to Reproduce

I created a small snippet, to try to query a pool:

package osmosis_client

import (
	"context"
	"fmt"

	"github.com/cosmos/cosmos-sdk/codec"
	poolmanager "github.com/osmosis-labs/osmosis/v23/x/poolmanager/client/queryproto"
	"google.golang.org/grpc"
)

func QueryPool() error {
	// Create a connection to the gRPC server.
	grpcConn, err := grpc.Dial(
		"grpc.osmosis.zone:9090",
		grpc.WithInsecure(),
		grpc.WithDefaultCallOptions(grpc.ForceCodec(codec.NewProtoCodec(nil).GRPCCodec())),
	)
	if err != nil {
		return err
	}
	defer grpcConn.Close()

	querier := poolmanager.NewQueryClient(grpcConn)
	resp, err := querier.Pool(context.Background(), &poolmanager.PoolRequest{PoolId: 1})
	if err != nil {
		fmt.Errorf("Error retrieving pool: %s", err)
	}
	fmt.Println(resp)
	return nil
}

This break giving the following error:

# github.com/cosmos/cosmos-sdk/runtime/services
../../go/pkg/mod/github.com/osmosis-labs/cosmos-sdk@v0.47.5-v23-osmo-2-iavl-v1/runtime/services/reflection.go:60:28: type func(x *descriptorpb.FileDescriptorProto, y *descriptorpb.FileDescriptorProto) bool of func(x, y *descriptorpb.FileDescriptorProto) bool {…} does not match inferred type func(a *descriptorpb.FileDescriptorProto, b *descriptorpb.FileDescriptorProto) int for func(a E, b E) int

my go.mod after go mod tidy

module github.com/raserhin/test

go 1.20


require (
   github.com/cosmos/cosmos-sdk v0.50.4
   google.golang.org/grpc v1.62.0
)

require (
   cosmossdk.io/api v0.3.1 // indirect
   cosmossdk.io/core v0.10.0 // indirect
   cosmossdk.io/depinject v1.0.0-alpha.4 // indirect
   cosmossdk.io/errors v1.0.1 // indirect
   cosmossdk.io/log v1.3.1 // indirect
   cosmossdk.io/math v1.3.0 // indirect
   cosmossdk.io/tools/rosetta v0.2.1 // 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
   github.com/ChainSafe/go-schnorrkel v1.0.0 // indirect
   github.com/CosmWasm/wasmvm v1.5.2 // indirect
   github.com/DataDog/zstd v1.5.5 // indirect
   github.com/antihax/optional v1.0.0 // indirect
   github.com/armon/go-metrics v0.4.1 // indirect
   github.com/beorn7/perks v1.0.1 // indirect
   github.com/bgentry/speakeasy v0.1.1-0.20220910012023-760eaf8b6816 // indirect
   github.com/btcsuite/btcd/btcec/v2 v2.3.2 // indirect
   github.com/cenkalti/backoff/v4 v4.2.1 // indirect
   github.com/cespare/xxhash v1.1.0 // indirect
   github.com/cespare/xxhash/v2 v2.2.0 // indirect
   github.com/chzyer/readline v1.5.1 // indirect
   github.com/cockroachdb/errors v1.11.1 // indirect
   github.com/cockroachdb/logtags v0.0.0-20230118201751-21c54148d20b // indirect
   github.com/cockroachdb/pebble v1.1.0 // indirect
   github.com/cockroachdb/redact v1.1.5 // indirect
   github.com/cockroachdb/tokenbucket v0.0.0-20230807174530-cc333fc44b06 // indirect
   github.com/coinbase/rosetta-sdk-go/types v1.0.0 // indirect
   github.com/cometbft/cometbft v0.38.0 // indirect
   github.com/cometbft/cometbft-db v0.10.0 // indirect
   github.com/confio/ics23/go v0.9.1 // indirect
   github.com/cosmos/btcutil v1.0.5 // indirect
   github.com/cosmos/cosmos-db v1.0.0 // indirect
   github.com/cosmos/cosmos-proto v1.0.0-beta.4 // indirect
   github.com/cosmos/go-bip39 v1.0.0 // indirect
   github.com/cosmos/gogogateway v1.2.0 // indirect
   github.com/cosmos/gogoproto v1.4.11 // indirect
   github.com/cosmos/iavl v1.0.2-0.20240221171955-e019f7411ec7 // indirect
   github.com/cosmos/ibc-go/v7 v7.3.2 // indirect
   github.com/cosmos/ics23/go v0.10.0 // indirect
   github.com/cosmos/ledger-cosmos-go v0.13.3 // indirect
   github.com/cosmos/rosetta-sdk-go v0.10.0 // indirect
   github.com/creachadair/taskgroup v0.4.2 // indirect
   github.com/danieljoos/wincred v1.1.2 // indirect
   github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect
   github.com/decred/dcrd/dcrec/secp256k1/v4 v4.2.0 // indirect
   github.com/desertbit/timer v0.0.0-20180107155436-c41aec40b27f // indirect
   github.com/dgraph-io/badger/v2 v2.2007.4 // indirect
   github.com/dgraph-io/ristretto v0.1.1 // indirect
   github.com/dgryski/go-farm v0.0.0-20200201041132-a6ae2369ad13 // indirect
   github.com/dustin/go-humanize v1.0.1 // indirect
   github.com/dvsekhvalnov/jose2go v1.6.0 // indirect
   github.com/emicklei/dot v1.6.1 // indirect
   github.com/felixge/httpsnoop v1.0.2 // indirect
   github.com/fsnotify/fsnotify v1.7.0 // indirect
   github.com/getsentry/sentry-go v0.27.0 // indirect
   github.com/go-kit/kit v0.12.0 // indirect
   github.com/go-kit/log v0.2.1 // indirect
   github.com/go-logfmt/logfmt v0.6.0 // indirect
   github.com/go-playground/locales v0.14.1 // indirect
   github.com/godbus/dbus v0.0.0-20190726142602-4481cbc300e2 // indirect
   github.com/gogo/googleapis v1.4.1 // indirect
   github.com/gogo/protobuf v1.3.3 // indirect
   github.com/golang/glog v1.2.0 // indirect
   github.com/golang/mock v1.6.0 // indirect
   github.com/golang/protobuf v1.5.3 // indirect
   github.com/golang/snappy v0.0.4 // indirect
   github.com/google/btree v1.1.2 // indirect
   github.com/google/go-cmp v0.6.0 // indirect
   github.com/google/orderedcode v0.0.1 // indirect
   github.com/gorilla/handlers v1.5.1 // indirect
   github.com/gorilla/mux v1.8.1 // indirect
   github.com/gorilla/websocket v1.5.0 // indirect
   github.com/grpc-ecosystem/go-grpc-middleware v1.4.0 // indirect
   github.com/grpc-ecosystem/grpc-gateway v1.16.0 // indirect
   github.com/gsterjov/go-libsecret v0.0.0-20161001094733-a6f4afe4910c // indirect
   github.com/gtank/merlin v0.1.1 // indirect
   github.com/gtank/ristretto255 v0.1.2 // indirect
   github.com/hashicorp/go-immutable-radix v1.3.1 // indirect
   github.com/hashicorp/golang-lru v1.0.2 // indirect
   github.com/hashicorp/hcl v1.0.0 // indirect
   github.com/hdevalence/ed25519consensus v0.1.0 // indirect
   github.com/huandu/skiplist v1.2.0 // indirect
   github.com/improbable-eng/grpc-web v0.15.0 // indirect
   github.com/inconshreveable/mousetrap v1.1.0 // indirect
   github.com/jmhodges/levigo v1.0.0 // indirect
   github.com/klauspost/compress v1.17.6 // indirect
   github.com/kr/pretty v0.3.1 // indirect
   github.com/kr/text v0.2.0 // indirect
   github.com/lib/pq v1.10.9 // indirect
   github.com/libp2p/go-buffer-pool v0.1.0 // indirect
   github.com/linxGnu/grocksdb v1.8.12 // indirect
   github.com/magiconair/properties v1.8.7 // indirect
   github.com/manifoldco/promptui v0.9.0 // indirect
   github.com/mattn/go-colorable v0.1.13 // indirect
   github.com/mattn/go-isatty v0.0.20 // indirect
   github.com/mimoo/StrobeGo v0.0.0-20210601165009-122bf33a46e0 // indirect
   github.com/minio/highwayhash v1.0.2 // indirect
   github.com/mitchellh/mapstructure v1.5.0 // indirect
   github.com/mtibben/percent v0.2.1 // indirect
   github.com/osmosis-labs/osmosis/osmomath v0.0.9-0.20240222171503-685566578734 // indirect
   github.com/osmosis-labs/osmosis/osmoutils v0.0.9-0.20240222004208-b602d1901059 // indirect
   github.com/osmosis-labs/osmosis/v23 v23.0.3
   github.com/pelletier/go-toml/v2 v2.1.0 // indirect
   github.com/petermattis/goid v0.0.0-20230904192822-1876fd5063bc // indirect
   github.com/pkg/errors v0.9.1 // indirect
   github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect
   github.com/prometheus/client_golang v1.18.0 // indirect
   github.com/prometheus/client_model v0.6.0 // indirect
   github.com/prometheus/common v0.47.0 // indirect
   github.com/prometheus/procfs v0.12.0 // indirect
   github.com/rakyll/statik v0.1.7 // indirect
   github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475 // indirect
   github.com/rogpeppe/go-internal v1.12.0 // indirect
   github.com/rs/cors v1.9.0 // indirect
   github.com/rs/zerolog v1.32.0 // indirect
   github.com/sagikazarmark/locafero v0.4.0 // indirect
   github.com/sagikazarmark/slog-shim v0.1.0 // indirect
   github.com/sasha-s/go-deadlock v0.3.1 // indirect
   github.com/sourcegraph/conc v0.3.0 // indirect
   github.com/spf13/afero v1.11.0 // indirect
   github.com/spf13/cast v1.6.0 // indirect
   github.com/spf13/cobra v1.8.0 // indirect
   github.com/spf13/pflag v1.0.5 // indirect
   github.com/spf13/viper v1.18.2 // indirect
   github.com/stretchr/testify v1.8.4 // indirect
   github.com/subosito/gotenv v1.6.0 // indirect
   github.com/syndtr/goleveldb v1.0.1-0.20220721030215-126854af5e6d // indirect
   github.com/tendermint/go-amino v0.16.0 // indirect
   github.com/tidwall/btree v1.7.0 // indirect
   github.com/twitchyliquid64/golang-asm v0.15.1 // indirect
   github.com/zondax/hid v0.9.2 // indirect
   github.com/zondax/ledger-go v0.14.3 // indirect
   go.etcd.io/bbolt v1.3.8 // indirect
   go.uber.org/multierr v1.11.0 // indirect
   golang.org/x/crypto v0.19.0 // indirect
   golang.org/x/exp v0.0.0-20230905200255-921286631fa9 // indirect
   golang.org/x/net v0.20.0 // indirect
   golang.org/x/sync v0.6.0 // indirect
   golang.org/x/sys v0.17.0 // indirect
   golang.org/x/term v0.17.0 // indirect
   golang.org/x/text v0.14.0 // indirect
   google.golang.org/genproto v0.0.0-20240123012728-ef4313101c80 // indirect
   google.golang.org/genproto/googleapis/api v0.0.0-20240123012728-ef4313101c80 // indirect
   google.golang.org/genproto/googleapis/rpc v0.0.0-20240123012728-ef4313101c80 // indirect
   google.golang.org/protobuf v1.31.0 // indirect
   gopkg.in/ini.v1 v1.67.0 // indirect
   gopkg.in/yaml.v3 v3.0.1 // indirect
   nhooyr.io/websocket v1.8.7 // indirect
   pgregory.net/rapid v1.1.0 // indirect
   sigs.k8s.io/yaml v1.4.0 // indirect
)

replace (
   github.com/CosmWasm/wasmd => github.com/osmosis-labs/wasmd v0.45.0-osmo
   github.com/cometbft/cometbft => github.com/osmosis-labs/cometbft v0.37.4-v23-osmo-2
   github.com/cosmos/cosmos-sdk => github.com/osmosis-labs/cosmos-sdk v0.47.5-v23-osmo-2-iavl-v1
   github.com/gogo/protobuf => github.com/regen-network/protobuf v1.3.3-alpha.regen.1
)

exclude github.com/coinbase/rosetta-sdk-go v0.7.9

exclude github.com/cosmos/cosmos-sdk v0.50.1

exclude cosmossdk.io/api v0.7.0

exclude github.com/cometbft/cometbft v0.38.5

exclude google.golang.org/protobuf v1.32.0

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant