-
Notifications
You must be signed in to change notification settings - Fork 18
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
feat: upgrade ibc-go from v2 to v4.3.0 (with cosmos-sdk v0.45.12) #630
Changes from all commits
f9221e3
3af4330
63dd61d
006a9cb
f9ee85f
4a0987f
c1a3e90
9d8a67e
fb3ccbc
5f4ffe0
05588de
340fb96
278089f
3408a59
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -93,15 +93,15 @@ import ( | |
upgradeclient "github.com/cosmos/cosmos-sdk/x/upgrade/client" | ||
upgradekeeper "github.com/cosmos/cosmos-sdk/x/upgrade/keeper" | ||
upgradetypes "github.com/cosmos/cosmos-sdk/x/upgrade/types" | ||
"github.com/cosmos/ibc-go/v2/modules/apps/transfer" | ||
ibctransferkeeper "github.com/cosmos/ibc-go/v2/modules/apps/transfer/keeper" | ||
ibctransfertypes "github.com/cosmos/ibc-go/v2/modules/apps/transfer/types" | ||
ibc "github.com/cosmos/ibc-go/v2/modules/core" | ||
ibcclient "github.com/cosmos/ibc-go/v2/modules/core/02-client" | ||
ibcconnectiontypes "github.com/cosmos/ibc-go/v2/modules/core/03-connection/types" | ||
porttypes "github.com/cosmos/ibc-go/v2/modules/core/05-port/types" | ||
ibchost "github.com/cosmos/ibc-go/v2/modules/core/24-host" | ||
ibckeeper "github.com/cosmos/ibc-go/v2/modules/core/keeper" | ||
"github.com/cosmos/ibc-go/v4/modules/apps/transfer" | ||
ibctransferkeeper "github.com/cosmos/ibc-go/v4/modules/apps/transfer/keeper" | ||
ibctransfertypes "github.com/cosmos/ibc-go/v4/modules/apps/transfer/types" | ||
ibc "github.com/cosmos/ibc-go/v4/modules/core" | ||
ibcclient "github.com/cosmos/ibc-go/v4/modules/core/02-client" | ||
ibcconnectiontypes "github.com/cosmos/ibc-go/v4/modules/core/03-connection/types" | ||
porttypes "github.com/cosmos/ibc-go/v4/modules/core/05-port/types" | ||
ibchost "github.com/cosmos/ibc-go/v4/modules/core/24-host" | ||
ibckeeper "github.com/cosmos/ibc-go/v4/modules/core/keeper" | ||
appparams "github.com/medibloc/panacea-core/v2/app/params" | ||
tmjson "github.com/tendermint/tendermint/libs/json" | ||
tmproto "github.com/tendermint/tendermint/proto/tendermint/types" | ||
|
@@ -408,10 +408,10 @@ func New( | |
// Create Transfer Keepers | ||
app.TransferKeeper = ibctransferkeeper.NewKeeper( | ||
appCodec, keys[ibctransfertypes.StoreKey], app.GetSubspace(ibctransfertypes.ModuleName), | ||
app.IBCKeeper.ChannelKeeper, // may be replaced with middleware such as ics29 fee | ||
app.IBCKeeper.ChannelKeeper, &app.IBCKeeper.PortKeeper, | ||
app.AccountKeeper, app.BankKeeper, scopedTransferKeeper, | ||
) | ||
Comment on lines
408
to
414
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Since IBC v3, IBC middleware has been introduced. As above, if we don't want to use any middleware for now, we can just pass the Later, when we want to use any IBC middleware such as IBC Fee middleware, we can modify this code to pass a Still, both Cosmos Hub and Osmosis don't use IBC Fee middleware yet. |
||
transferModule := transfer.NewAppModule(app.TransferKeeper) | ||
|
||
// Create evidence Keeper for to register the IBC light client misbehaviour evidence route | ||
evidenceKeeper := evidencekeeper.NewKeeper( | ||
|
@@ -492,8 +492,8 @@ func New( | |
|
||
// Create static IBC router, add transfer route, then set and seal it | ||
ibcRouter := porttypes.NewRouter() | ||
ibcRouter.AddRoute(ibctransfertypes.ModuleName, transferModule) | ||
ibcRouter.AddRoute(wasm.ModuleName, wasm.NewIBCHandler(app.wasmKeeper, app.IBCKeeper.ChannelKeeper)) | ||
ibcRouter.AddRoute(ibctransfertypes.ModuleName, transfer.NewIBCModule(app.TransferKeeper)) | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Regarding the use of |
||
ibcRouter.AddRoute(wasm.ModuleName, wasm.NewIBCHandler(app.wasmKeeper, app.IBCKeeper.ChannelKeeper, app.IBCKeeper.ChannelKeeper)) | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Regarding the last new parameter of |
||
// this line is used by starport scaffolding # ibc/app/router | ||
app.IBCKeeper.SetRouter(ibcRouter) | ||
|
||
|
@@ -527,12 +527,12 @@ func New( | |
feegrantmodule.NewAppModule(appCodec, app.AccountKeeper, app.BankKeeper, app.FeeGrantKeeper, app.interfaceRegistry), | ||
ibc.NewAppModule(app.IBCKeeper), | ||
params.NewAppModule(app.ParamsKeeper), | ||
transferModule, | ||
transfer.NewAppModule(app.TransferKeeper), | ||
aol.NewAppModule(appCodec, app.aolKeeper), | ||
did.NewAppModule(appCodec, app.didKeeper), | ||
burn.NewAppModule(appCodec, app.burnKeeper), | ||
oracle.NewAppModule(appCodec, app.oracleKeeper), | ||
wasm.NewAppModule(appCodec, &app.wasmKeeper, app.StakingKeeper), | ||
wasm.NewAppModule(appCodec, &app.wasmKeeper, app.StakingKeeper, app.AccountKeeper, app.BankKeeper), | ||
datadeal.NewAppModule(appCodec, app.datadealKeeper), | ||
) | ||
|
||
|
@@ -648,7 +648,7 @@ func New( | |
SignModeHandler: encodingConfig.TxConfig.SignModeHandler(), | ||
SigGasConsumer: ante.DefaultSigVerificationGasConsumer, | ||
}, | ||
IBCChannelkeeper: app.IBCKeeper.ChannelKeeper, | ||
IBCKeeper: app.IBCKeeper, | ||
WasmConfig: &wasmConfig, | ||
TXCounterStoreKey: keys[wasm.StoreKey], | ||
}, | ||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -3,72 +3,74 @@ module github.com/medibloc/panacea-core/v2 | |
go 1.19 | ||
|
||
require ( | ||
github.com/CosmWasm/wasmd v0.24.0 | ||
github.com/btcsuite/btcd v0.22.1 | ||
github.com/CosmWasm/wasmd v0.30.0 | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. For IBC v4, Anyway, we have to upgrade cosmos-sdk to v0.45.12, as ibc-go v4.3.0 requires it. |
||
github.com/btcsuite/btcd v0.22.2 | ||
github.com/btcsuite/btcutil v1.0.3-0.20201208143702-a53e38424cce | ||
github.com/cosmos/cosmos-sdk v0.45.9 | ||
github.com/cosmos/cosmos-sdk v0.45.12 | ||
github.com/cosmos/go-bip39 v1.0.0 | ||
github.com/cosmos/ibc-go/v2 v2.0.3 | ||
github.com/cosmos/ibc-go/v4 v4.3.0 | ||
github.com/gogo/protobuf v1.3.3 | ||
github.com/golang/protobuf v1.5.2 | ||
github.com/gorilla/mux v1.8.0 | ||
github.com/grpc-ecosystem/grpc-gateway v1.16.0 | ||
github.com/lestrrat-go/jwx/v2 v2.0.8 | ||
github.com/pborman/uuid v1.2.0 | ||
github.com/prometheus/client_golang v1.12.2 | ||
github.com/prometheus/client_golang v1.14.0 | ||
github.com/rakyll/statik v0.1.7 | ||
github.com/spf13/cast v1.5.0 | ||
github.com/spf13/cobra v1.5.0 | ||
github.com/spf13/cobra v1.6.0 | ||
github.com/spf13/pflag v1.0.5 | ||
github.com/spf13/viper v1.12.0 | ||
github.com/spf13/viper v1.14.0 | ||
github.com/stretchr/testify v1.8.1 | ||
github.com/tendermint/tendermint v0.34.21 | ||
github.com/tendermint/tendermint v0.34.24 | ||
github.com/tendermint/tm-db v0.6.7 | ||
golang.org/x/crypto v0.0.0-20220525230936-793ad666bf5e | ||
google.golang.org/genproto v0.0.0-20220725144611-272f38e5d71b | ||
google.golang.org/grpc v1.48.0 | ||
google.golang.org/protobuf v1.28.0 | ||
golang.org/x/crypto v0.2.0 | ||
google.golang.org/genproto v0.0.0-20221024183307-1bc688fe9f3e | ||
google.golang.org/grpc v1.50.1 | ||
) | ||
|
||
require ( | ||
filippo.io/edwards25519 v1.0.0-beta.2 // indirect | ||
github.com/99designs/keyring v1.1.6 // 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 v0.0.0-20200405005733-88cbf1b4c40d // indirect | ||
github.com/CosmWasm/wasmvm v1.0.0-beta7 // indirect | ||
github.com/DataDog/zstd v1.4.5 // indirect | ||
github.com/CosmWasm/wasmvm v1.1.1 // indirect | ||
github.com/Workiva/go-datastructures v1.0.53 // indirect | ||
github.com/armon/go-metrics v0.3.10 // indirect | ||
github.com/armon/go-metrics v0.4.0 // indirect | ||
github.com/beorn7/perks v1.0.1 // indirect | ||
github.com/bgentry/speakeasy v0.1.0 // indirect | ||
github.com/bgentry/speakeasy v0.1.1-0.20220910012023-760eaf8b6816 // indirect | ||
github.com/cespare/xxhash v1.1.0 // indirect | ||
github.com/cespare/xxhash/v2 v2.1.2 // indirect | ||
github.com/coinbase/rosetta-sdk-go v0.7.0 // indirect | ||
github.com/confio/ics23/go v0.7.0 // indirect | ||
github.com/confio/ics23/go v0.9.0 // indirect | ||
github.com/cosmos/btcutil v1.0.4 // indirect | ||
github.com/cosmos/cosmos-proto v1.0.0-alpha8 // indirect | ||
github.com/cosmos/gogoproto v1.4.3 // indirect | ||
github.com/cosmos/gorocksdb v1.2.0 // indirect | ||
github.com/cosmos/iavl v0.19.3 // indirect | ||
github.com/cosmos/ledger-cosmos-go v0.11.1 // indirect | ||
github.com/cosmos/ledger-go v0.9.2 // indirect | ||
github.com/cosmos/iavl v0.19.4 // indirect | ||
github.com/cosmos/ledger-cosmos-go v0.12.2 // indirect | ||
github.com/creachadair/taskgroup v0.3.2 // indirect | ||
github.com/danieljoos/wincred v1.1.0 // indirect | ||
github.com/danieljoos/wincred v1.1.2 // indirect | ||
github.com/davecgh/go-spew v1.1.1 // indirect | ||
github.com/decred/dcrd/dcrec/secp256k1/v4 v4.1.0 // indirect | ||
github.com/desertbit/timer v0.0.0-20180107155436-c41aec40b27f // indirect | ||
github.com/dgraph-io/badger/v2 v2.2007.2 // indirect | ||
github.com/dgraph-io/ristretto v0.0.3 // indirect | ||
github.com/dgraph-io/badger/v2 v2.2007.4 // indirect | ||
github.com/dgraph-io/ristretto v0.1.0 // indirect | ||
github.com/dgryski/go-farm v0.0.0-20200201041132-a6ae2369ad13 // indirect | ||
github.com/docker/distribution v2.8.1+incompatible // indirect | ||
github.com/dustin/go-humanize v1.0.0 // indirect | ||
github.com/dvsekhvalnov/jose2go v0.0.0-20200901110807-248326c1351b // indirect | ||
github.com/dvsekhvalnov/jose2go v1.5.0 // indirect | ||
github.com/felixge/httpsnoop v1.0.2 // indirect | ||
github.com/fsnotify/fsnotify v1.5.4 // indirect | ||
github.com/fsnotify/fsnotify v1.6.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.5.1 // indirect | ||
github.com/goccy/go-json v0.9.11 // indirect | ||
github.com/godbus/dbus v0.0.0-20190726142602-4481cbc300e2 // indirect | ||
github.com/gogo/gateway v1.1.0 // indirect | ||
github.com/golang/snappy v0.0.3 // indirect | ||
github.com/google/btree v1.0.1 // indirect | ||
github.com/golang/glog v1.0.0 // indirect | ||
github.com/golang/snappy v0.0.4 // indirect | ||
github.com/google/btree v1.1.2 // indirect | ||
github.com/google/gofuzz v1.2.0 // indirect | ||
github.com/google/orderedcode v0.0.1 // indirect | ||
github.com/google/uuid v1.3.0 // indirect | ||
|
@@ -83,10 +85,9 @@ require ( | |
github.com/hashicorp/hcl v1.0.0 // indirect | ||
github.com/hdevalence/ed25519consensus v0.0.0-20210204194344-59a8610d2b87 // indirect | ||
github.com/improbable-eng/grpc-web v0.14.1 // indirect | ||
github.com/inconshreveable/mousetrap v1.0.0 // indirect | ||
github.com/inconshreveable/mousetrap v1.0.1 // indirect | ||
github.com/jmhodges/levigo v1.0.0 // indirect | ||
github.com/keybase/go-keychain v0.0.0-20190712205309-48d3d31d256d // indirect | ||
github.com/klauspost/compress v1.15.9 // indirect | ||
github.com/klauspost/compress v1.15.11 // indirect | ||
github.com/lestrrat-go/blackmagic v1.0.1 // indirect | ||
github.com/lestrrat-go/httpcc v1.0.1 // indirect | ||
github.com/lestrrat-go/httprc v1.0.4 // indirect | ||
|
@@ -95,51 +96,50 @@ require ( | |
github.com/lib/pq v1.10.6 // indirect | ||
github.com/libp2p/go-buffer-pool v0.1.0 // indirect | ||
github.com/magiconair/properties v1.8.6 // indirect | ||
github.com/mattn/go-colorable v0.1.12 // indirect | ||
github.com/mattn/go-isatty v0.0.14 // indirect | ||
github.com/mattn/go-colorable v0.1.13 // indirect | ||
github.com/mattn/go-isatty v0.0.16 // indirect | ||
github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369 // indirect | ||
github.com/mimoo/StrobeGo v0.0.0-20181016162300-f8f6d4d2b643 // indirect | ||
github.com/mimoo/StrobeGo v0.0.0-20210601165009-122bf33a46e0 // indirect | ||
github.com/minio/highwayhash v1.0.2 // indirect | ||
github.com/mitchellh/go-homedir v1.1.0 // indirect | ||
github.com/mitchellh/mapstructure v1.5.0 // indirect | ||
github.com/mtibben/percent v0.2.1 // indirect | ||
github.com/opencontainers/go-digest v1.0.0 // indirect | ||
github.com/pelletier/go-toml v1.9.5 // indirect | ||
github.com/pelletier/go-toml/v2 v2.0.2 // indirect | ||
github.com/pelletier/go-toml/v2 v2.0.5 // indirect | ||
github.com/petermattis/goid v0.0.0-20180202154549-b0b1615b78e5 // indirect | ||
github.com/pkg/errors v0.9.1 // indirect | ||
github.com/pmezard/go-difflib v1.0.0 // indirect | ||
github.com/prometheus/client_model v0.2.0 // indirect | ||
github.com/prometheus/common v0.34.0 // indirect | ||
github.com/prometheus/procfs v0.7.3 // indirect | ||
github.com/rcrowley/go-metrics v0.0.0-20200313005456-10cdbea86bc0 // indirect | ||
github.com/prometheus/client_model v0.3.0 // indirect | ||
github.com/prometheus/common v0.37.0 // indirect | ||
github.com/prometheus/procfs v0.8.0 // indirect | ||
github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475 // indirect | ||
github.com/regen-network/cosmos-proto v0.3.1 // indirect | ||
github.com/rs/cors v1.8.2 // indirect | ||
github.com/rs/zerolog v1.27.0 // indirect | ||
github.com/sasha-s/go-deadlock v0.2.1-0.20190427202633-1595213edefa // indirect | ||
github.com/spf13/afero v1.8.2 // indirect | ||
github.com/sasha-s/go-deadlock v0.3.1 // indirect | ||
github.com/spf13/afero v1.9.2 // indirect | ||
github.com/spf13/jwalterweatherman v1.1.0 // indirect | ||
github.com/subosito/gotenv v1.4.0 // indirect | ||
github.com/syndtr/goleveldb v1.0.1-0.20200815110645-5c35d600f0ca // indirect | ||
github.com/tendermint/btcd v0.1.1 // indirect | ||
github.com/tendermint/crypto v0.0.0-20191022145703-50d29ede1e15 // indirect | ||
github.com/subosito/gotenv v1.4.1 // indirect | ||
github.com/syndtr/goleveldb v1.0.1-0.20210819022825-2ae1ddf74ef7 // indirect | ||
github.com/tendermint/go-amino v0.16.0 // indirect | ||
github.com/zondax/hid v0.9.0 // indirect | ||
github.com/tidwall/btree v1.5.0 // indirect | ||
github.com/zondax/hid v0.9.1 // indirect | ||
github.com/zondax/ledger-go v0.14.1 // indirect | ||
go.etcd.io/bbolt v1.3.6 // indirect | ||
golang.org/x/exp v0.0.0-20220722155223-a9213eeb770e // indirect | ||
golang.org/x/net v0.0.0-20220726230323-06994584191e // indirect | ||
golang.org/x/sys v0.0.0-20220727055044-e65921a090b8 // indirect | ||
golang.org/x/term v0.0.0-20220722155259-a9ba230a4035 // indirect | ||
golang.org/x/text v0.3.7 // indirect | ||
gopkg.in/ini.v1 v1.66.6 // indirect | ||
golang.org/x/net v0.2.0 // indirect | ||
golang.org/x/sys v0.2.0 // indirect | ||
golang.org/x/term v0.2.0 // indirect | ||
golang.org/x/text v0.4.0 // indirect | ||
google.golang.org/protobuf v1.28.2-0.20220831092852-f930b1dc76e8 // indirect | ||
gopkg.in/ini.v1 v1.67.0 // indirect | ||
gopkg.in/yaml.v2 v2.4.0 // indirect | ||
gopkg.in/yaml.v3 v3.0.1 // indirect | ||
nhooyr.io/websocket v1.8.6 // indirect | ||
) | ||
|
||
replace ( | ||
github.com/confio/ics23/go => github.com/cosmos/cosmos-sdk/ics23/go v0.8.0 | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This replace directive can be deleted as described in the release note of cosmos-sdk v0.45.12. https://github.com/cosmos/cosmos-sdk/releases/tag/v0.45.12 There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. we don't need this redirection anymore 👍 There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. nice |
||
github.com/cosmos/cosmos-sdk => github.com/medibloc/cosmos-sdk v0.45.9-panacea.1 | ||
github.com/cosmos/ledger-go => github.com/cosmos/ledger-go v0.9.3 | ||
github.com/cosmos/cosmos-sdk => github.com/medibloc/cosmos-sdk v0.45.12-panacea.1 | ||
github.com/gogo/protobuf => github.com/regen-network/protobuf v1.3.3-alpha.regen.1 | ||
google.golang.org/grpc => google.golang.org/grpc v1.33.2 | ||
) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
https://ibc.cosmos.network/main/migrations/v2-to-v3.html#ante-decorator