From 1e03aaee59ef8e3885c7d2baad9e4a4e5ddbd56a Mon Sep 17 00:00:00 2001 From: the-frey Date: Thu, 6 Oct 2022 18:14:11 +0100 Subject: [PATCH] ICA Genesis State x Docker builds x Wasmd 0.29-rc1 (#297) * hotfix: wasmvm 1.0.0 -> 1.1.0 * hotfix: update shasums * hotfix: enable cosmwasm_1_1 in app.go * Add genica command to instantiate default ICA params, and add that to docker build * wasmd 0.29.0-rc0 -> 0.29.0-rc1 * chore: tidy * tooling: Dockerfile libwasm 1.1.0 -> 1.1.1 * ci: update to new refs that account for changes in rc * chore: add ICA changes from v10 * chore: also update compose file * chore: update ICA allowed messages to match v10.0.2 * fix: multisend isn't actually in v10.0.2, msgvoteweighted is * feat: separate upgrade handlers out so they remain documented * chore: add instantiate2 msg to match wasmd 0.29 * chore: add placeholders for messages that will be added in v11 * chore: shut up the pendantic linter * ci: remove superlinter as it adds no value * deps: wasmd 0.29.0-rc1 -> rc2 --- .github/dependabot.yml | 1 + .github/workflows/build.yml | 9 +-- .github/workflows/build_docker.yml | 1 + .github/workflows/codeql.yml | 3 +- .github/workflows/docker.yml | 1 + .github/workflows/golangci-lint.yml | 1 + .github/workflows/gov_deploy.yml | 2 +- .github/workflows/gov_submit.yml | 2 +- .github/workflows/integration.yml | 2 +- .github/workflows/release.yml | 1 + .github/workflows/superlinter.yml | 28 -------- Dockerfile | 8 +-- app/app.go | 2 +- app/upgrades/upgrade_handlers.go | 100 ++++++++++++++++++++++++++++ cmd/junod/genica.go | 99 +++++++++++++++++++++++++++ cmd/junod/root.go | 1 + docker-compose.yml | 3 +- docker/setup_junod.sh | 1 + go.mod | 4 +- go.sum | 8 +-- 20 files changed, 229 insertions(+), 48 deletions(-) delete mode 100644 .github/workflows/superlinter.yml create mode 100644 app/upgrades/upgrade_handlers.go create mode 100644 cmd/junod/genica.go diff --git a/.github/dependabot.yml b/.github/dependabot.yml index bc9503bd3..613da7cf0 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -1,3 +1,4 @@ +--- version: 2 updates: - package-ecosystem: github-actions diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 0feb36bf6..6127cf44f 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -1,3 +1,4 @@ +--- on: [push, pull_request] name: every commit jobs: @@ -10,7 +11,7 @@ jobs: - name: Setup go uses: actions/setup-go@v3 with: - go-version: 1.19 + go-version: 1.18 - run: go build ./... test: @@ -20,13 +21,13 @@ jobs: - name: Install Go uses: actions/setup-go@v3 with: - go-version: 1.19 + go-version: 1.18 - name: Checkout code uses: actions/checkout@v3 - name: Test run: go test ./... -# Use --check or --exit-code when available (Go 1.19?) +# Use --check or --exit-code when available (Go 1.18?) # https://github.com/golang/go/issues/27005 tidy: runs-on: ubuntu-latest @@ -36,7 +37,7 @@ jobs: - name: Setup go uses: actions/setup-go@v3 with: - go-version: 1.19 + go-version: 1.18 - run: | go mod tidy CHANGES_IN_REPO=$(git status --porcelain) diff --git a/.github/workflows/build_docker.yml b/.github/workflows/build_docker.yml index de84082aa..c01f154f4 100644 --- a/.github/workflows/build_docker.yml +++ b/.github/workflows/build_docker.yml @@ -1,3 +1,4 @@ +--- name: Build Docker Image on PR on: diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml index 2dd51bd95..45b58209e 100644 --- a/.github/workflows/codeql.yml +++ b/.github/workflows/codeql.yml @@ -1,3 +1,4 @@ +--- # THIS GITHUB ACTION LIFTED WITH LOVE FROM THE COSMOS-SDK name: "CodeQL" @@ -26,7 +27,7 @@ jobs: uses: actions/checkout@v3 - uses: actions/setup-go@v3 with: - go-version: 1.19 + go-version: 1.18 # Initializes the CodeQL tools for scanning. - name: Initialize CodeQL uses: github/codeql-action/init@v2 diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index 308c97bb8..bd928e8f2 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -1,3 +1,4 @@ +--- name: Build and Push Docker Image on: diff --git a/.github/workflows/golangci-lint.yml b/.github/workflows/golangci-lint.yml index a4d4d335d..a0a4571ff 100644 --- a/.github/workflows/golangci-lint.yml +++ b/.github/workflows/golangci-lint.yml @@ -1,3 +1,4 @@ +--- name: golangci-lint on: push: diff --git a/.github/workflows/gov_deploy.yml b/.github/workflows/gov_deploy.yml index d2398c7a4..6cbf4de62 100644 --- a/.github/workflows/gov_deploy.yml +++ b/.github/workflows/gov_deploy.yml @@ -19,7 +19,7 @@ jobs: uses: actions/checkout@v3 with: repository: 'CosmosContracts/cw-unity-prop' - ref: 'v0.3.3' + ref: 'v0.3.4-alpha' - name: Test gov deploy run: | chmod a+x ./scripts/deploy_ci.sh diff --git a/.github/workflows/gov_submit.yml b/.github/workflows/gov_submit.yml index 7ab4b3bf0..38c9f1bcc 100644 --- a/.github/workflows/gov_submit.yml +++ b/.github/workflows/gov_submit.yml @@ -19,7 +19,7 @@ jobs: uses: actions/checkout@v3 with: repository: 'CosmosContracts/cw-unity-prop' - ref: 'v0.3.3' + ref: 'v0.3.4-alpha' - name: Test smart contract gov prop run: | chmod a+x ./scripts/submit_gov_ci.sh diff --git a/.github/workflows/integration.yml b/.github/workflows/integration.yml index e9d0d3717..d33ee8a96 100644 --- a/.github/workflows/integration.yml +++ b/.github/workflows/integration.yml @@ -19,7 +19,7 @@ jobs: uses: actions/checkout@v3 with: repository: 'envoylabs/whoami' - ref: 'v0.7.0' + ref: 'v0.7.1-alpha' - name: Run deploy script run: | chmod a+x ./scripts/deploy_ci.sh diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index c5d929b7e..149f556a2 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -1,3 +1,4 @@ +--- name: release binary on: diff --git a/.github/workflows/superlinter.yml b/.github/workflows/superlinter.yml deleted file mode 100644 index 10fa62f4e..000000000 --- a/.github/workflows/superlinter.yml +++ /dev/null @@ -1,28 +0,0 @@ -name: Lint Code Base - -on: - push: - branches: [ "main" ] - pull_request: - branches: [ "main" ] -jobs: - run-lint: - runs-on: ubuntu-latest - steps: - - name: Checkout code - uses: actions/checkout@v3 - with: - # Full git history is needed to get a proper list of changed files within `super-linter` - fetch-depth: 0 - - - name: Lint Code Base - uses: github/super-linter@v4 - env: - VALIDATE_ALL_CODEBASE: false - VALIDATE_GO: false - VALIDATE_BASH: false - VALIDATE_GITHUB_ACTIONS: false - IGNORE_GENERATED_FILES: true - FILTER_REGEX_EXCLUDE: .*.pb.go - DEFAULT_BRANCH: "main" - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/Dockerfile b/Dockerfile index 0b3241443..637036e10 100644 --- a/Dockerfile +++ b/Dockerfile @@ -20,10 +20,10 @@ WORKDIR /code COPY . /code/ # See https://github.com/CosmWasm/wasmvm/releases -ADD https://github.com/CosmWasm/wasmvm/releases/download/v1.0.0/libwasmvm_muslc.aarch64.a /lib/libwasmvm_muslc.aarch64.a -ADD https://github.com/CosmWasm/wasmvm/releases/download/v1.0.0/libwasmvm_muslc.x86_64.a /lib/libwasmvm_muslc.x86_64.a -RUN sha256sum /lib/libwasmvm_muslc.aarch64.a | grep 7d2239e9f25e96d0d4daba982ce92367aacf0cbd95d2facb8442268f2b1cc1fc -RUN sha256sum /lib/libwasmvm_muslc.x86_64.a | grep f6282df732a13dec836cda1f399dd874b1e3163504dbd9607c6af915b2740479 +ADD https://github.com/CosmWasm/wasmvm/releases/download/v1.1.1/libwasmvm_muslc.aarch64.a /lib/libwasmvm_muslc.aarch64.a +ADD https://github.com/CosmWasm/wasmvm/releases/download/v1.1.1/libwasmvm_muslc.x86_64.a /lib/libwasmvm_muslc.x86_64.a +RUN sha256sum /lib/libwasmvm_muslc.aarch64.a | grep 9ecb037336bd56076573dc18c26631a9d2099a7f2b40dc04b6cae31ffb4c8f9a +RUN sha256sum /lib/libwasmvm_muslc.x86_64.a | grep 6e4de7ba9bad4ae9679c7f9ecf7e283dd0160e71567c6a7be6ae47c81ebe7f32 # Copy the library you want to the final location that will be found by the linker flag `-lwasmvm_muslc` RUN cp "/lib/libwasmvm_muslc.$(uname -m).a" /lib/libwasmvm_muslc.a diff --git a/app/app.go b/app/app.go index 2e5c6c94d..2bc468099 100644 --- a/app/app.go +++ b/app/app.go @@ -455,7 +455,7 @@ func New( // The last arguments can contain custom message handlers, and custom query handlers, // if we want to allow any custom callbacks - supportedFeatures := "iterator,staking,stargate" + supportedFeatures := "iterator,staking,stargate,cosmwasm_1_1" app.wasmKeeper = wasm.NewKeeper( appCodec, keys[wasm.StoreKey], diff --git a/app/upgrades/upgrade_handlers.go b/app/upgrades/upgrade_handlers.go new file mode 100644 index 000000000..1a452ea87 --- /dev/null +++ b/app/upgrades/upgrade_handlers.go @@ -0,0 +1,100 @@ +package upgrades + +import ( + wasmtypes "github.com/CosmWasm/wasmd/x/wasm/types" + sdk "github.com/cosmos/cosmos-sdk/types" + "github.com/cosmos/cosmos-sdk/types/module" + "github.com/cosmos/cosmos-sdk/x/authz" + banktypes "github.com/cosmos/cosmos-sdk/x/bank/types" + distrtypes "github.com/cosmos/cosmos-sdk/x/distribution/types" + govtypes "github.com/cosmos/cosmos-sdk/x/gov/types" + stakingtypes "github.com/cosmos/cosmos-sdk/x/staking/types" + upgradetypes "github.com/cosmos/cosmos-sdk/x/upgrade/types" + icahostkeeper "github.com/cosmos/ibc-go/v3/modules/apps/27-interchain-accounts/host/keeper" + ibctransfertypes "github.com/cosmos/ibc-go/v3/modules/apps/transfer/types" + + icahosttypes "github.com/cosmos/ibc-go/v3/modules/apps/27-interchain-accounts/host/types" +) + +// CreateV10UpgradeHandler makes an upgrade handler for v11 of Juno +func CreateV10UpgradeHandler(mm *module.Manager, cfg module.Configurator, icahostkeeper *icahostkeeper.Keeper) upgradetypes.UpgradeHandler { + return func(ctx sdk.Context, _ upgradetypes.Plan, vm module.VersionMap) (module.VersionMap, error) { + + // update ICA Host to catch missed msg + // enumerate all because it's easier to reason about + newIcaHostParams := icahosttypes.Params{ + HostEnabled: true, + AllowMessages: []string{ + sdk.MsgTypeURL(&ibctransfertypes.MsgTransfer{}), // missed but asked for + + sdk.MsgTypeURL(&banktypes.MsgSend{}), + sdk.MsgTypeURL(&stakingtypes.MsgDelegate{}), + sdk.MsgTypeURL(&stakingtypes.MsgUndelegate{}), // this was missed last time + sdk.MsgTypeURL(&stakingtypes.MsgBeginRedelegate{}), + sdk.MsgTypeURL(&stakingtypes.MsgCreateValidator{}), + sdk.MsgTypeURL(&stakingtypes.MsgEditValidator{}), + sdk.MsgTypeURL(&distrtypes.MsgWithdrawDelegatorReward{}), + sdk.MsgTypeURL(&distrtypes.MsgSetWithdrawAddress{}), + sdk.MsgTypeURL(&distrtypes.MsgWithdrawValidatorCommission{}), + sdk.MsgTypeURL(&distrtypes.MsgFundCommunityPool{}), + sdk.MsgTypeURL(&govtypes.MsgVote{}), + sdk.MsgTypeURL(&govtypes.MsgVoteWeighted{}), // required by quick + sdk.MsgTypeURL(&authz.MsgExec{}), + sdk.MsgTypeURL(&authz.MsgGrant{}), + sdk.MsgTypeURL(&authz.MsgRevoke{}), + // wasm msgs here + // note we only support these three for now + sdk.MsgTypeURL(&wasmtypes.MsgStoreCode{}), + sdk.MsgTypeURL(&wasmtypes.MsgInstantiateContract{}), + sdk.MsgTypeURL(&wasmtypes.MsgExecuteContract{}), + }, + } + icahostkeeper.SetParams(ctx, newIcaHostParams) + + // mint module consensus version bumped + return mm.RunMigrations(ctx, cfg, vm) + + } +} + +// CreateV11UpgradeHandler makes an upgrade handler for v11 of Juno +func CreateV11UpgradeHandler(mm *module.Manager, cfg module.Configurator, icahostkeeper *icahostkeeper.Keeper) upgradetypes.UpgradeHandler { + return func(ctx sdk.Context, _ upgradetypes.Plan, vm module.VersionMap) (module.VersionMap, error) { + + // update ICA Host to add new messages available + // enumerate all because it's easier to reason about + newIcaHostParams := icahosttypes.Params{ + HostEnabled: true, + AllowMessages: []string{ + sdk.MsgTypeURL(&ibctransfertypes.MsgTransfer{}), // added in v10 + + sdk.MsgTypeURL(&banktypes.MsgSend{}), + sdk.MsgTypeURL(&banktypes.MsgMultiSend{}), // this was missed last time + sdk.MsgTypeURL(&stakingtypes.MsgDelegate{}), + sdk.MsgTypeURL(&stakingtypes.MsgUndelegate{}), // added in v10 + sdk.MsgTypeURL(&stakingtypes.MsgBeginRedelegate{}), + sdk.MsgTypeURL(&stakingtypes.MsgCreateValidator{}), + sdk.MsgTypeURL(&stakingtypes.MsgEditValidator{}), + sdk.MsgTypeURL(&distrtypes.MsgWithdrawDelegatorReward{}), + sdk.MsgTypeURL(&distrtypes.MsgSetWithdrawAddress{}), + sdk.MsgTypeURL(&distrtypes.MsgWithdrawValidatorCommission{}), + sdk.MsgTypeURL(&distrtypes.MsgFundCommunityPool{}), + sdk.MsgTypeURL(&govtypes.MsgVote{}), + sdk.MsgTypeURL(&govtypes.MsgVoteWeighted{}), // added in v10 + sdk.MsgTypeURL(&authz.MsgExec{}), + sdk.MsgTypeURL(&authz.MsgGrant{}), + sdk.MsgTypeURL(&authz.MsgRevoke{}), + // wasm msgs here + // note we only support three atm + sdk.MsgTypeURL(&wasmtypes.MsgStoreCode{}), + sdk.MsgTypeURL(&wasmtypes.MsgInstantiateContract{}), + sdk.MsgTypeURL(&wasmtypes.MsgInstantiateContract2{}), // added in wasmd 0.29.0 + sdk.MsgTypeURL(&wasmtypes.MsgExecuteContract{}), + }, + } + icahostkeeper.SetParams(ctx, newIcaHostParams) + + return mm.RunMigrations(ctx, cfg, vm) + + } +} diff --git a/cmd/junod/genica.go b/cmd/junod/genica.go new file mode 100644 index 000000000..28f0cc194 --- /dev/null +++ b/cmd/junod/genica.go @@ -0,0 +1,99 @@ +package main + +import ( + "encoding/json" + "fmt" + "github.com/spf13/cobra" + + icacontrollertypes "github.com/cosmos/ibc-go/v3/modules/apps/27-interchain-accounts/controller/types" + icahosttypes "github.com/cosmos/ibc-go/v3/modules/apps/27-interchain-accounts/host/types" + icatypes "github.com/cosmos/ibc-go/v3/modules/apps/27-interchain-accounts/types" + + "github.com/cosmos/cosmos-sdk/client" + "github.com/cosmos/cosmos-sdk/client/flags" + "github.com/cosmos/cosmos-sdk/server" + "github.com/cosmos/cosmos-sdk/x/genutil" + genutiltypes "github.com/cosmos/cosmos-sdk/x/genutil/types" +) + +// AddGenesisAccountCmd returns add-genesis-account cobra Command. +func AddGenesisIcaCmd(defaultNodeHome string) *cobra.Command { + cmd := &cobra.Command{ + Use: "add-ica-config", + Short: "Add ICA config to genesis.json", + Long: `Add default ICA configuration to genesis.json`, + Args: cobra.ExactArgs(0), + RunE: func(cmd *cobra.Command, args []string) error { + clientCtx := client.GetClientContextFromCmd(cmd) + serverCtx := server.GetServerContextFromCmd(cmd) + config := serverCtx.Config + + config.SetRoot(clientCtx.HomeDir) + + genFile := config.GenesisFile() + appState, genDoc, err := genutiltypes.GenesisStateFromGenFile(genFile) + if err != nil { + return fmt.Errorf("failed to unmarshal genesis state: %w", err) + } + + controllerGenesisState := icatypes.DefaultControllerGenesis() + // no params set in upgrade handler, no params set here + controllerGenesisState.Params = icacontrollertypes.Params{} + + hostGenesisState := icatypes.DefaultHostGenesis() + // add the messages we want + hostGenesisState.Params = icahosttypes.Params{ + HostEnabled: true, + AllowMessages: []string{ + "/cosmos.bank.v1beta1.MsgSend", + // uncomment this after v11 ships + // "/cosmos.bank.v1beta1.MsgMultiSend", + "/cosmos.staking.v1beta1.MsgDelegate", + "/cosmos.staking.v1beta1.MsgUndelegate", + "/cosmos.staking.v1beta1.MsgBeginRedelegate", + "/cosmos.staking.v1beta1.MsgCreateValidator", + "/cosmos.staking.v1beta1.MsgEditValidator", + "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward", + "/cosmos.distribution.v1beta1.MsgSetWithdrawAddress", + "/cosmos.distribution.v1beta1.MsgWithdrawValidatorCommission", + "/cosmos.distribution.v1beta1.MsgFundCommunityPool", + "/cosmos.gov.v1beta1.MsgVote", + "/cosmos.gov.v1beta1.MsgVoteWeighted", + "/cosmos.authz.v1beta1.MsgExec", + "/cosmos.authz.v1beta1.MsgGrant", + "/cosmos.authz.v1beta1.MsgRevoke", + "/cosmwasm.wasm.v1.MsgStoreCode", + "/cosmwasm.wasm.v1.MsgInstantiateContract", + // uncomment this after v11 ships + // "/cosmwasm.wasm.v1.InstantiateContract2", + "/cosmwasm.wasm.v1.MsgExecuteContract", + "/ibc.applications.transfer.v1.MsgTransfer", + }, + } + + newIcaGenState := icatypes.NewGenesisState(controllerGenesisState, hostGenesisState) + + icaGenStateBz, err := clientCtx.Codec.MarshalJSON(newIcaGenState) + if err != nil { + return fmt.Errorf("failed to marshal auth genesis state: %w", err) + } + + appState[icatypes.ModuleName] = icaGenStateBz + + appStateJSON, err := json.Marshal(appState) + if err != nil { + return fmt.Errorf("failed to marshal application genesis state: %w", err) + } + + genDoc.AppState = appStateJSON + return genutil.ExportGenesisFile(genDoc, genFile) + }, + } + + cmd.Flags().String(flags.FlagHome, defaultNodeHome, "The application home directory") + cmd.Flags().String(flags.FlagKeyringBackend, flags.DefaultKeyringBackend, "Select keyring's backend (os|file|kwallet|pass|test)") + + flags.AddQueryFlagsToCmd(cmd) + + return cmd +} diff --git a/cmd/junod/root.go b/cmd/junod/root.go index 0d40d24ac..542837191 100644 --- a/cmd/junod/root.go +++ b/cmd/junod/root.go @@ -99,6 +99,7 @@ func initRootCmd(rootCmd *cobra.Command, encodingConfig params.EncodingConfig) { genutilcli.GenTxCmd(app.ModuleBasics, encodingConfig.TxConfig, banktypes.GenesisBalancesIterator{}, app.DefaultNodeHome), genutilcli.ValidateGenesisCmd(app.ModuleBasics), AddGenesisAccountCmd(app.DefaultNodeHome), + AddGenesisIcaCmd(app.DefaultNodeHome), AddGenesisWasmMsgCmd(app.DefaultNodeHome), tmcli.NewCompletionCmd(rootCmd, true), // testnetCmd(app.ModuleBasics, banktypes.GenesisBalancesIterator{}), diff --git a/docker-compose.yml b/docker-compose.yml index d2e674ccc..c76de2166 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,3 +1,4 @@ +--- version: "3" services: node: @@ -11,5 +12,5 @@ services: - 26656:26656 # p2p - 26657:26657 # rpc environment: - - GAS_LIMIT=${GAS_LIMIT:-100000000} + - GAS_LIMIT=${GAS_LIMIT:-10000000} - STAKE_TOKEN=${STAKE_TOKEN:-ujunox} diff --git a/docker/setup_junod.sh b/docker/setup_junod.sh index 724512db9..babf6dfd7 100644 --- a/docker/setup_junod.sh +++ b/docker/setup_junod.sh @@ -19,6 +19,7 @@ else echo "$GENESIS_FILE does not exist. Generating..." junod init --chain-id "$CHAIN_ID" "$MONIKER" + junod add-ica-config # staking/governance token is hardcoded in config, change this sed -i "s/\"stake\"/\"$STAKE\"/" "$GENESIS_FILE" # this is essential for sub-1s block times (or header times go crazy) diff --git a/go.mod b/go.mod index 972f51681..40a1ff9f4 100644 --- a/go.mod +++ b/go.mod @@ -3,7 +3,7 @@ module github.com/CosmosContracts/juno/v10 go 1.18 require ( - github.com/CosmWasm/wasmd v0.29.0-rc0 + github.com/CosmWasm/wasmd v0.29.0-rc2 github.com/cosmos/cosmos-sdk v0.45.8 github.com/cosmos/ibc-go/v3 v3.3.0 github.com/gogo/protobuf v1.3.3 @@ -27,7 +27,7 @@ require ( 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.1.0 // indirect + github.com/CosmWasm/wasmvm v1.1.1 // indirect github.com/Workiva/go-datastructures v1.0.53 // indirect github.com/armon/go-metrics v0.4.0 // indirect github.com/beorn7/perks v1.0.1 // indirect diff --git a/go.sum b/go.sum index 3a3609567..b81ca12f3 100644 --- a/go.sum +++ b/go.sum @@ -59,10 +59,10 @@ github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03 github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= github.com/ChainSafe/go-schnorrkel v0.0.0-20200405005733-88cbf1b4c40d h1:nalkkPQcITbvhmL4+C4cKA87NW0tfm3Kl9VXRoPywFg= github.com/ChainSafe/go-schnorrkel v0.0.0-20200405005733-88cbf1b4c40d/go.mod h1:URdX5+vg25ts3aCh8H5IFZybJYKWhJHYMTnf+ULtoC4= -github.com/CosmWasm/wasmd v0.29.0-rc0 h1:eY/tC5tS0C7DJ+AT8nS2M/DNPe8lvKaM/3tB7dq5m4s= -github.com/CosmWasm/wasmd v0.29.0-rc0/go.mod h1:2rlBUuIRTZxVbllwUH0GYHV1ZEJtBakSftbidKeDED0= -github.com/CosmWasm/wasmvm v1.1.0 h1:FLd2njaJcZPgq/yLrXtQdndg0oG/QySKpWyVP2tBCnQ= -github.com/CosmWasm/wasmvm v1.1.0/go.mod h1:ei0xpvomwSdONsxDuONzV7bL1jSET1M8brEx0FCXc+A= +github.com/CosmWasm/wasmd v0.29.0-rc2 h1:fVDze+hS7S+eUsmeAOiqQjolKZ2q2byrnbsIk0Anl4k= +github.com/CosmWasm/wasmd v0.29.0-rc2/go.mod h1:eRrfjYNj8/PhyA2wdIuHeR/Czjy9/1UGuIr0NJocleA= +github.com/CosmWasm/wasmvm v1.1.1 h1:0xtdrmmsP9fibe+x42WcMkp5aQ738BICgcH3FNVLzm4= +github.com/CosmWasm/wasmvm v1.1.1/go.mod h1:ei0xpvomwSdONsxDuONzV7bL1jSET1M8brEx0FCXc+A= github.com/DataDog/datadog-go v3.2.0+incompatible/go.mod h1:LButxg5PwREeZtORoXG3tL4fMGNddJ+vMq1mwgfaqoQ= github.com/DataDog/zstd v1.4.1/go.mod h1:1jcaCB/ufaK+sKp1NBhlGmpz41jOoPQ35bpF36t7BBo= github.com/DataDog/zstd v1.4.5/go.mod h1:1jcaCB/ufaK+sKp1NBhlGmpz41jOoPQ35bpF36t7BBo=