diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS
index f6569b64ddd..13e9c5c254c 100644
--- a/.github/CODEOWNERS
+++ b/.github/CODEOWNERS
@@ -13,23 +13,23 @@
# CODEOWNERS for the core IBC module
-/modules/core/ @colin-axner @fedekunze @AdityaSripal
-/proto/ibc/core/ @colin-axner @fedekunze @AdityaSripal
+/modules/core/ @colin-axner @AdityaSripal
+/proto/ibc/core/ @colin-axner @AdityaSripal
## CODEOWNERS for core/02-client
-/modules/core/02-client @seantking @damiannolan
-/proto/ibc/core/client @seantking @damiannolan
+/modules/core/02-client @colin-axner @AdityaSripal @seantking @damiannolan
+/proto/ibc/core/client @colin-axner @AdityaSripal @seantking @damiannolan
# CODEOWNERS for the light-clients
-/modules/light-clients/ @colin-axner @fedekunze @AdityaSripal @seantking @damiannolan
-/proto/ibc/lightclients/ @colin-axner @fedekunze @AdityaSripal @seantking @damiannolan
+/modules/light-clients/ @colin-axner @AdityaSripal @seantking @damiannolan
+/proto/ibc/lightclients/ @colin-axner @AdityaSripal @seantking @damiannolan
# CODEOWNERS for ICS 20
-/modules/apps/transfer/ @colin-axner @fedekunze @AdityaSripal
-/proto/ibc/applications/transfer/ @colin-axner @fedekunze @AdityaSripal
+/modules/apps/transfer/ @colin-axner @AdityaSripal
+/proto/ibc/applications/transfer/ @colin-axner @AdityaSripal
# CODEOWNERS for interchain-accounts module
diff --git a/.github/ISSUE_TEMPLATE/bug-report.md b/.github/ISSUE_TEMPLATE/bug-report.md
index 5bdfad7c29a..9cb089d1f23 100644
--- a/.github/ISSUE_TEMPLATE/bug-report.md
+++ b/.github/ISSUE_TEMPLATE/bug-report.md
@@ -20,6 +20,10 @@ through the appropriate channels won't receive any bounty.
+## Expected Behaviour
+
+
+
## Version
diff --git a/.github/ISSUE_TEMPLATE/epic-tracker.md b/.github/ISSUE_TEMPLATE/epic-tracker.md
new file mode 100644
index 00000000000..df3f553ff49
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/epic-tracker.md
@@ -0,0 +1,64 @@
+---
+name: Epic Tracker
+about: Create an issue to track feature epic progress
+
+---
+
+
+
+## Requirements document
+
+
+
+## IBC spec
+
+
+
+## ADRs
+
+
+
+## Milestones
+
+
+
+## Implementation issues
+
+
+
+## QA scenarios
+
+
+
+## Automated e2e tests
+
+
+
+## Pre-releases
+
+
+
+## Checklist
+
+
+
+- [ ] Internal audit(s)
+- [ ] External audit(s)
+- [ ] Documentation
+- [ ] Swagger
+- [ ] Integration with relayers:
+ - [ ] Hermes
+ - [ ] Rly
+
+____
+
+#### For Admin Use
+
+- [ ] Not duplicate issue
+- [ ] Appropriate labels applied
+- [ ] Appropriate contributors tagged/assigned
diff --git a/.github/ISSUE_TEMPLATE/release-tracker.md b/.github/ISSUE_TEMPLATE/release-tracker.md
new file mode 100644
index 00000000000..873f4e487ab
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/release-tracker.md
@@ -0,0 +1,66 @@
+---
+name: Release tracker
+about: Create an issue to track release progress
+
+---
+
+
+
+## Milestones
+
+
+
+### IBC spec compatibility
+
+
+
+### QA
+
+#### Backwards compatibility
+
+
+
+- [ ] Fungible token transfers over a non-incentivised channel works with a counterparty chain running each previous major version.
+- [ ] Fungible token transfers over an incentivised channel works with a counterparty chain running each previous major version that supports ICS-29 Fee Middleware.
+- [ ] Interchain Accounts over a non-incentivised channel works with a counterparty chain running each previous major version that supports ICS-27 Interchain Accounts over non-incentivised channels.
+- [ ] Interchain Accounts over an incentivised channel works with a counterparty chain running each previous major version that supports ICS-27 Interchain Accounts over incentivised channels.
+
+### Migration
+
+
+
+## Checklist
+
+
+
+- [ ] Bump [go package version](https://github.com/cosmos/ibc-go/blob/main/go.mod#L3).
+- [ ] Change all imports starting with `github.com/cosmos/ibc-go/v{x}` to `github.com/cosmos/ibc-go/v{x+1}`.
+- [ ] Branch off main to create release branch in the form of `release/vx.y.z`.
+- [ ] Add branch protection rules to new release branch.
+- [ ] Add backport task to [`mergify.yml`](https://github.com/cosmos/ibc-go/blob/main/.github/mergify.yml)
+- [ ] Upgrade ibc-go version in [ibctest](https://github.com/strangelove-ventures/ibctest).
+- [ ] Check Swagger is up-to-date.
+
+## Post-release checklist
+
+- [ ] Update [`CHANGELOG.md`](https://github.com/cosmos/ibc-go/blob/main/CHANGELOG.md)
+- [ ] Update the table of supported release lines (and End of Life dates) in [`RELEASES.md`](https://github.com/cosmos/ibc-go/blob/main/RELEASES.md).
+- [ ] Update [version matrix](https://github.com/cosmos/ibc-go/blob/main/RELEASES.md#version-matrix) in `RELEASES.md`.
+- [ ] Update docs site:
+ - [ ] Add new release branch to [`docs/versions`](https://github.com/cosmos/ibc-go/blob/main/docs/versions) file.
+ - [ ] Add `label` and `key` to `versions` array in [`config.js`](https://github.com/cosmos/ibc-go/blob/main/docs/.vuepress/config.js#L33).
+- [ ] After changes to docs site are deployed, check [ibc.cosmos.network](https://ibc.cosmos.network) is updated.
+
+____
+
+#### For Admin Use
+
+- [ ] Not duplicate issue
+- [ ] Appropriate labels applied
+- [ ] Appropriate contributors tagged/assigned
diff --git a/.github/mergify.yml b/.github/mergify.yml
index 868594d1d57..2dfc4653a7d 100644
--- a/.github/mergify.yml
+++ b/.github/mergify.yml
@@ -18,67 +18,67 @@ pull_request_rules:
commit_message_template: |
{{ title }} (#{{ number }})
{{ body }}
- - name: backport patches to v1.3.x branch
+ - name: backport patches to v2.1.x branch
conditions:
- base=main
- - label=backport-to-v1.3.x
+ - label=backport-to-v2.1.x
actions:
backport:
branches:
- - release/v1.3.x
- - name: backport patches to v1.4.x branch
+ - release/v2.1.x
+ - name: backport patches to v2.2.x branch
conditions:
- base=main
- - label=backport-to-v1.4.x
+ - label=backport-to-v2.2.x
actions:
backport:
branches:
- - release/v1.4.x
- - name: backport patches to v1.5.x branch
+ - release/v2.2.x
+ - name: backport patches to v2.3.x branch
conditions:
- base=main
- - label=backport-to-v1.5.x
+ - label=backport-to-v2.3.x
actions:
backport:
branches:
- - release/v1.5.x
- - name: backport patches to v2.1.x branch
+ - release/v2.3.x
+ - name: backport patches to v2.4.x branch
conditions:
- base=main
- - label=backport-to-v2.1.x
+ - label=backport-to-v2.4.x
actions:
backport:
branches:
- - release/v2.1.x
- - name: backport patches to v2.2.x branch
+ - release/v2.4.x
+ - name: backport patches to v3.0.x branch
conditions:
- base=main
- - label=backport-to-v2.2.x
+ - label=backport-to-v3.0.x
actions:
backport:
branches:
- - release/v2.2.x
- - name: backport patches to v2.3.x branch
+ - release/v3.0.x
+ - name: backport patches to v3.1.x branch
conditions:
- base=main
- - label=backport-to-v2.3.x
+ - label=backport-to-v3.1.x
actions:
backport:
branches:
- - release/v2.3.x
- - name: backport patches to v3.0.x branch
+ - release/v3.1.x
+ - name: backport patches to v3.2.x branch
conditions:
- base=main
- - label=backport-to-v3.0.x
+ - label=backport-to-v3.2.x
actions:
backport:
branches:
- - release/v3.0.x
- - name: backport patches to v3.1.x branch
+ - release/v3.2.x
+ - name: backport patches to v4.0.x branch
conditions:
- base=main
- - label=backport-to-v3.1.x
+ - label=backport-to-v4.0.x
actions:
backport:
branches:
- - release/v3.1.x
+ - release/v4.0.x
diff --git a/.github/scripts/go-imports.sh b/.github/scripts/go-imports.sh
new file mode 100755
index 00000000000..bc5e6db3f86
--- /dev/null
+++ b/.github/scripts/go-imports.sh
@@ -0,0 +1,20 @@
+#!/usr/bin/env bash
+formatted_files="$(docker run -v "$(pwd)":/ibc-go --rm -w "/ibc-go" --entrypoint="" cytopia/goimports goimports -l -local 'github.com/cosmos/ibc-go' /ibc-go)"
+
+exit_code=0
+for f in $formatted_files
+do
+ # we don't care about formatting in pb.go files.
+ if [ "${f: -5}" == "pb.go" ]; then
+ continue
+ fi
+ exit_code=1
+ echo "formatted file ${f}..."
+done
+
+if [ "${exit_code}" == 1 ]; then
+ echo "not all files were correctly formated, run the following:"
+ echo "make goimports"
+fi
+
+exit $exit_code
diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml
index aaf7c7b8db3..f9a7c4a9230 100644
--- a/.github/workflows/codeql-analysis.yml
+++ b/.github/workflows/codeql-analysis.yml
@@ -56,9 +56,25 @@ jobs:
# By default, queries listed here will override any specified in a config file.
# Prefix the list here with "+" to use these queries and those in the config file.
# queries: ./path/to/local/query, your-org/your-repo/queries@main
+ queries: crypto-com/cosmos-sdk-codeql@main,security-and-quality
if: env.GIT_DIFF
+ # Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
+ # If this step fails, then you should remove it and run the build manually (see below)
- - run: make build
+ - name: Autobuild
+ uses: github/codeql-action/autobuild@v2
+ if: env.GIT_DIFF
+
+ # ℹ️ Command-line programs to run using the OS shell.
+ # 📚 https://git.io/JvXDl
+
+ # ✏️ If the Autobuild fails above, remove it and uncomment the following three lines
+ # and modify them (or add more) to build your code if your project
+ # uses a compiled language
+
+ #- run: |
+ # make bootstrap
+ # make release
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v2
diff --git a/.github/workflows/e2e-fork.yml b/.github/workflows/e2e-fork.yml
new file mode 100644
index 00000000000..d3717d2c35a
--- /dev/null
+++ b/.github/workflows/e2e-fork.yml
@@ -0,0 +1,50 @@
+name: Tests / E2E Fork
+on:
+ workflow_dispatch:
+ pull_request:
+ branches:
+ - main
+ paths-ignore:
+ - docs/**
+
+jobs:
+ # dynamically build a matrix of test/test suite pairs to run
+ build-test-matrix:
+ if: ${{ github.event.pull_request.head.repo.fork || github.actor == 'dependabot[bot]' || github.event_name == 'workflow_dispatch' }}
+ runs-on: ubuntu-latest
+ outputs:
+ matrix: ${{ steps.set-matrix.outputs.matrix }}
+ steps:
+ - uses: actions/checkout@v3
+ - uses: actions/setup-go@v3
+ with:
+ go-version: 1.18
+ - id: set-matrix
+ run: echo "::set-output name=matrix::$(go run cmd/build_test_matrix/main.go)"
+
+ e2e:
+ env:
+ SIMD_TAG: latest
+ SIMD_IMAGE: ibc-go-simd-e2e
+ if: ${{ github.event.pull_request.head.repo.fork || github.actor == 'dependabot[bot]' || github.event_name == 'workflow_dispatch' }}
+ needs:
+ - build-test-matrix
+ runs-on: ubuntu-latest
+ strategy:
+ fail-fast: false
+ matrix: ${{ fromJSON(needs.build-test-matrix.outputs.matrix) }}
+ steps:
+ - uses: actions/checkout@v3
+ - name: Docker Build
+ run: docker build . -t "${SIMD_IMAGE}:${SIMD_TAG}"
+ - name: Setup Go
+ uses: actions/setup-go@v3
+ with:
+ go-version: 1.18
+ - name: Run e2e Test
+ env:
+ # see images here https://github.com/cosmos/relayer/pkgs/container/relayer/versions
+ RLY_TAG: "v2.0.0-rc2"
+ run: |
+ cd e2e
+ make e2e-test suite=${{ matrix.suite }} test=${{ matrix.test }}
diff --git a/.github/workflows/e2e.yaml b/.github/workflows/e2e.yaml
new file mode 100644
index 00000000000..ae4d29e7b51
--- /dev/null
+++ b/.github/workflows/e2e.yaml
@@ -0,0 +1,105 @@
+name: Tests / E2E
+on:
+ workflow_dispatch:
+ pull_request:
+ push:
+ branches:
+ - main
+ paths-ignore:
+ - docs/**
+
+env:
+ REGISTRY: ghcr.io
+ IMAGE_NAME: ibc-go-simd-e2e
+
+jobs:
+ docker-build:
+ if: ${{ !github.event.pull_request.head.repo.fork && github.actor != 'dependabot[bot]' }}
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v3
+ - name: Log in to the Container registry
+ uses: docker/login-action@49ed152c8eca782a232dede0303416e8f356c37b
+ with:
+ registry: ${{ env.REGISTRY }}
+ username: ${{ github.actor }}
+ password: ${{ secrets.GITHUB_TOKEN }}
+
+ - name: Extract metadata (tags, labels) for Docker
+ id: meta
+ uses: docker/metadata-action@69f6fc9d46f2f8bf0d5491e4aabe0bb8c6a4678a
+ with:
+ images: ${{ env.REGISTRY }}/cosmos/${{ env.IMAGE_NAME }}
+
+ - name: Build and push Docker image
+ uses: docker/build-push-action@1cb9d22b932e4832bb29793b7777ec860fc1cde0
+ with:
+ context: .
+ push: true
+ tags: ${{ steps.meta.outputs.tags }}
+ labels: ${{ steps.meta.outputs.labels }}
+
+ # dynamically build a matrix of test/test suite pairs to run
+ build-test-matrix:
+ if: ${{ !github.event.pull_request.head.repo.fork && github.actor != 'dependabot[bot]' }}
+ runs-on: ubuntu-latest
+ outputs:
+ matrix: ${{ steps.set-matrix.outputs.matrix }}
+ steps:
+ - uses: actions/checkout@v3
+ - uses: actions/setup-go@v3
+ with:
+ go-version: 1.18
+ - id: set-matrix
+ run: echo "::set-output name=matrix::$(go run cmd/build_test_matrix/main.go)"
+
+
+ # the tag of the image will differ if this is a PR or the branch is being merged into main.
+ # we store the tag as an environment variable and use it in the E2E tests to determine the tag.
+ determine-image-tag:
+ if: ${{ !github.event.pull_request.head.repo.fork && github.actor != 'dependabot[bot]' }}
+ runs-on: ubuntu-latest
+ outputs:
+ simd-tag: ${{ steps.get-tag.outputs.simd-tag }}
+ steps:
+ - uses: actions/checkout@v3
+ - uses: actions/setup-go@v3
+ with:
+ go-version: 1.18
+ - id: get-tag
+ run: |
+ tag=$(go run cmd/determine_simd_tag/main.go -pr "${{ github.event.pull_request.number }}" )
+ echo "Using tag $tag"
+ echo "::set-output name=simd-tag::$tag"
+
+
+ e2e:
+ if: ${{ !github.event.pull_request.head.repo.fork && github.actor != 'dependabot[bot]' }}
+ runs-on: ubuntu-latest
+ needs:
+ - build-test-matrix
+ - determine-image-tag
+ - docker-build
+ env:
+ SIMD_TAG: ${{ needs.determine-image-tag.outputs.simd-tag }}
+ SIMD_IMAGE: ghcr.io/cosmos/ibc-go-simd-e2e
+ # see images here https://github.com/cosmos/relayer/pkgs/container/relayer/versions
+ RLY_TAG: "v2.0.0-rc2"
+ strategy:
+ fail-fast: false
+ matrix: ${{ fromJSON(needs.build-test-matrix.outputs.matrix) }}
+ steps:
+ - uses: actions/checkout@v3
+ - uses: actions/setup-go@v3
+ with:
+ go-version: 1.18
+ - name: Log in to the Container registry
+ uses: docker/login-action@49ed152c8eca782a232dede0303416e8f356c37b
+ with:
+ registry: ${{ env.REGISTRY }}
+ username: ${{ github.actor }}
+ password: ${{ secrets.GITHUB_TOKEN }}
+ - name: Run e2e Test
+ run: |
+ cd e2e
+ make e2e-test suite=${{ matrix.suite }} test=${{ matrix.test }}
diff --git a/.github/workflows/goimports.yaml b/.github/workflows/goimports.yaml
new file mode 100644
index 00000000000..b951b17aa1d
--- /dev/null
+++ b/.github/workflows/goimports.yaml
@@ -0,0 +1,9 @@
+name: Goimports
+on: pull_request
+jobs:
+ goimports:
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v3
+ - name: "Go Imports"
+ run: .github/scripts/go-imports.sh
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
index f59f0c63d25..06b11e26d46 100644
--- a/.github/workflows/release.yml
+++ b/.github/workflows/release.yml
@@ -21,7 +21,7 @@ jobs:
- uses: actions/setup-go@v3
with:
- go-version: '1.17'
+ go-version: '1.18'
- name: Release
uses: goreleaser/goreleaser-action@v3
@@ -46,7 +46,7 @@ jobs:
images: ${{ env.REGISTRY }}/cosmos/${{ env.IMAGE_NAME }}
- name: Build and push Docker image
- uses: docker/build-push-action@e551b19e49efd4e98792db7592c17c09b89db8d8
+ uses: docker/build-push-action@1cb9d22b932e4832bb29793b7777ec860fc1cde0
with:
context: .
push: true
diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml
index d6e00030df0..09add80b02b 100644
--- a/.github/workflows/test.yml
+++ b/.github/workflows/test.yml
@@ -6,6 +6,7 @@ on:
push:
branches:
- main
+
jobs:
cleanup-runs:
runs-on: ubuntu-latest
@@ -20,12 +21,12 @@ jobs:
steps:
- uses: actions/setup-go@v3
with:
- go-version: 1.17
+ go-version: 1.18
- name: Display go version
run: go version
- name: install tparse
run: |
- export GO111MODULE="on" && go get github.com/mfridman/tparse@v0.8.3
+ go install github.com/mfridman/tparse@v0.8.3
- uses: actions/cache@v3
with:
path: ~/go/bin
@@ -40,7 +41,7 @@ jobs:
- uses: actions/checkout@v3
- uses: actions/setup-go@v3
with:
- go-version: 1.17
+ go-version: 1.18
- uses: technote-space/get-diff-action@v6.1.0
id: git_diff
with:
@@ -51,13 +52,6 @@ jobs:
- name: Build
run: GOARCH=${{ matrix.go-arch }} LEDGER_ENABLED=false make build
- docker-build:
- runs-on: ubuntu-latest
- steps:
- - uses: actions/checkout@v3
- - name: Docker Build
- run: docker build . --no-cache
-
split-test-files:
runs-on: ubuntu-latest
steps:
@@ -95,7 +89,7 @@ jobs:
- uses: actions/checkout@v3
- uses: actions/setup-go@v3
with:
- go-version: 1.17
+ go-version: 1.18
- uses: technote-space/get-diff-action@v6.1.0
with:
PATTERNS: |
@@ -108,7 +102,7 @@ jobs:
if: env.GIT_DIFF
- name: test & coverage report creation
run: |
- cat pkgs.txt.part.${{ matrix.part }} | xargs go test -race -mod=readonly -timeout 30m -coverprofile=${{ matrix.part }}profile.out -covermode=atomic -tags='ledger test_ledger_mock'
+ cat pkgs.txt.part.${{ matrix.part }} | xargs go test $(go list ./... | grep -v e2e) -race -mod=readonly -timeout 30m -coverprofile=${{ matrix.part }}profile.out -covermode=atomic -tags='ledger test_ledger_mock'
if: env.GIT_DIFF
- uses: actions/upload-artifact@v3
with:
diff --git a/CHANGELOG.md b/CHANGELOG.md
index cb6e080f5f4..41c31d738fa 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -38,26 +38,38 @@ Ref: https://keepachangelog.com/en/1.0.0/
### Dependencies
-* [\#1525](https://github.com/cosmos/ibc-go/pull/1525) Bump SDK version to v0.45.5
+* [\#1615](https://github.com/cosmos/ibc-go/pull/1615) Bump SDK version to v0.45.6
+* [\#1627](https://github.com/cosmos/ibc-go/pull/1627) Bump Go version to 1.18
### API Breaking
+* (modules/core/03-connection) [\#1672](https://github.com/cosmos/ibc-go/pull/1672) Remove crossing hellos from connection handshakes. The `PreviousConnectionId` in `MsgConnectionOpenTry` has been deprecated.
+* (modules/core/04-channel) [\#1317](https://github.com/cosmos/ibc-go/pull/1317) Remove crossing hellos from channel handshakes. The `PreviousChannelId` in `MsgChannelOpenTry` has been deprecated.
* (transfer) [\#1250](https://github.com/cosmos/ibc-go/pull/1250) Deprecate `GetTransferAccount` since the `transfer` module account is never used.
* (channel) [\#1283](https://github.com/cosmos/ibc-go/pull/1283) The `OnChanOpenInit` application callback now returns a version string in line with the latest [spec changes](https://github.com/cosmos/ibc/pull/629).
* (modules/29-fee)[\#1338](https://github.com/cosmos/ibc-go/pull/1338) Renaming `Result` field in `IncentivizedAcknowledgement` to `AppAcknowledgement`.
* (modules/29-fee)[\#1343](https://github.com/cosmos/ibc-go/pull/1343) Renaming `KeyForwardRelayerAddress` to `KeyRelayerAddressForAsyncAck`, and `ParseKeyForwardRelayerAddress` to `ParseKeyRelayerAddressForAsyncAck`.
* (apps/27-interchain-accounts)[\#1432](https://github.com/cosmos/ibc-go/pull/1432) Updating `RegisterInterchainAccount` to include an additional `version` argument, supporting ICS29 fee middleware functionality in ICS27 interchain accounts.
+* (apps/27-interchain-accounts)[\#1565](https://github.com/cosmos/ibc-go/pull/1565) Removing `NewErrorAcknowledgement` in favour of `channeltypes.NewErrorAcknowledgement`.
+* (transfer)[\#1565](https://github.com/cosmos/ibc-go/pull/1565) Removing `NewErrorAcknowledgement` in favour of `channeltypes.NewErrorAcknowledgement`.
+* (channel)[\#1565](https://github.com/cosmos/ibc-go/pull/1565) Updating `NewErrorAcknowledgement` to accept an error instead of a string and removing the possibility of non-deterministic writes to application state.
+* (core/04-channel)[\#1636](https://github.com/cosmos/ibc-go/pull/1636) Removing `SplitChannelVersion` and `MergeChannelVersions` functions since they are not used.
### State Machine Breaking
### Improvements
+* (app/20-transfer) [\#1680](https://github.com/cosmos/ibc-go/pull/1680) Adds migration to correct any malformed trace path information of tokens with denoms that contains slashes. The transfer module consensus version has been bumped to 2.
+* (app/20-transfer) [\#1730](https://github.com/cosmos/ibc-go/pull/1730) parse the ics20 denomination provided via a packet using the channel identifier format specified by ibc-go.
* (cleanup) [\#1335](https://github.com/cosmos/ibc-go/pull/1335/) `gofumpt -w -l .` to standardize the code layout more strictly than `go fmt ./...`
* (middleware) [\#1022](https://github.com/cosmos/ibc-go/pull/1022) Add `GetAppVersion` to the ICS4Wrapper interface. This function should be used by IBC applications to obtain their own version since the version set in the channel structure may be wrapped many times by middleware.
* (modules/core/04-channel) [\#1232](https://github.com/cosmos/ibc-go/pull/1232) Updating params on `NewPacketId` and moving to bottom of file.
* (app/29-fee) [\#1305](https://github.com/cosmos/ibc-go/pull/1305) Change version string for fee module to `ics29-1`
* (app/29-fee) [\#1341](https://github.com/cosmos/ibc-go/pull/1341) Check if the fee module is locked and if the fee module is enabled before refunding all fees
+* (transfer) [\#1414](https://github.com/cosmos/ibc-go/pull/1414) Emitting Sender address from `fungible_token_packet` events in `OnRecvPacket` and `OnAcknowledgementPacket`.
* (testing/simapp) [\#1397](https://github.com/cosmos/ibc-go/pull/1397) Adding mock module to maccperms and adding check to ensure mock module is not a blocked account address.
+* (core/02-client) [\#1570](https://github.com/cosmos/ibc-go/pull/1570) Emitting an event when handling an upgrade client proposal.
+* (modules/light-clients/07-tendermint) [\#1713](https://github.com/cosmos/ibc-go/pull/1713) Allow client upgrade proposals to update `TrustingPeriod`. See ADR-026 for context.
### Features
diff --git a/Dockerfile b/Dockerfile
index eb044d5eaf9..a193f54906e 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -1,4 +1,4 @@
-FROM golang:1.17 as builder
+FROM golang:1.18 as builder
ENV GOPATH=""
ENV GOMODULE="on"
diff --git a/Makefile b/Makefile
index 0ea7f0c10c5..eba4b5c2de2 100644
--- a/Makefile
+++ b/Makefile
@@ -2,6 +2,8 @@
PACKAGES_NOSIMULATION=$(shell go list ./... | grep -v '/simulation')
PACKAGES_SIMTEST=$(shell go list ./... | grep '/simulation')
+CHANGED_GO_FILES := $(shell git diff --name-only | grep .go$$ | grep -v pb.go)
+ALL_GO_FILES := $(shell find . -regex ".*\.go$$" | grep -v pb.go)
VERSION := $(shell echo $(shell git describe --always) | sed 's/^v//')
COMMIT := $(shell git log -1 --format='%H')
LEDGER_ENABLED ?= true
@@ -91,7 +93,7 @@ ifeq (,$(findstring nostrip,$(COSMOS_BUILD_OPTIONS)))
BUILD_FLAGS += -trimpath
endif
-all: tools build lint test
+all: build lint test
# The below include contains the tools and runsim targets.
#include contrib/devtools/Makefile
@@ -154,7 +156,7 @@ mocks: $(MOCKS_DIR)
$(MOCKS_DIR):
mkdir -p $(MOCKS_DIR)
-distclean: clean tools-clean
+distclean: clean
clean:
rm -rf \
$(BUILDDIR)/ \
@@ -335,12 +337,17 @@ lint-fix:
golangci-lint run --fix --out-format=tab --issues-exit-code=0
.PHONY: lint lint-fix
-format:
+format: goimports
find . -name '*.go' -type f -not -path "./vendor*" -not -path "*.git*" -not -path "./client/docs/statik/statik.go" -not -path "./tests/mocks/*" -not -name '*.pb.go' | xargs gofmt -w -s
find . -name '*.go' -type f -not -path "./vendor*" -not -path "*.git*" -not -path "./client/docs/statik/statik.go" -not -path "./tests/mocks/*" -not -name '*.pb.go' | xargs misspell -w
- find . -name '*.go' -type f -not -path "./vendor*" -not -path "*.git*" -not -path "./client/docs/statik/statik.go" -not -path "./tests/mocks/*" -not -name '*.pb.go' | xargs goimports -w -local github.com/cosmos/cosmos-sdk
.PHONY: format
+goimports:
+ $(DOCKER) run -v $(CURDIR):/ibc-go --rm -w "/ibc-go" cytopia/goimports -w -local 'github.com/cosmos/ibc-go' "$(CHANGED_GO_FILES)" &> /dev/null || echo "No changed go files to format"
+
+goimports-all:
+ $(DOCKER) run -v $(CURDIR):/ibc-go --rm -w "/ibc-go" cytopia/goimports -w -local 'github.com/cosmos/ibc-go' "$(ALL_GO_FILES)"
+
###############################################################################
### Devdoc ###
###############################################################################
diff --git a/RELEASES.md b/RELEASES.md
index cb8ccb18224..9adabdc61f9 100644
--- a/RELEASES.md
+++ b/RELEASES.md
@@ -97,6 +97,21 @@ As rule of thumb, the following changes will **NOT** be automatically accepted i
* **API-breaking changes**, i.e. changes that prevent client applications to *build without modifications* to the client application's source code.
* **CLI-breaking changes**, i.e. changes that require usage changes for CLI users.
+## Version matrix
+
+Versions of Golang, Cosmos SDK and Tendermint used by ibc-go in the currently active releases:
+
+| Go | ibc-go | Cosmos SDK | Tendermint |
+|----|--------|------------|------------|
+| 1.15 | v2.1.0 | v0.44.6 | v0.34.14 |
+| 1.15 | v2.1.1 | v0.44.8 | v0.34.19 |
+| 1.15 | v2.2.0 | v0.45.1 | v0.34.14 |
+| 1.15 | v2.2.1 | v0.45.1 | v0.34.14 |
+| 1.17 | v2.3.0 | v0.45.4 | v0.34.19 |
+| 1.17 | v3.0.0 | v0.45.1 | v0.34.14 |
+| 1.17 | v3.0.1 | v0.45.4 | v0.34.19 |
+| 1.17 | v3.1.0 | v0.45.4 | v0.34.19 |
+
## Graphics
The decision tree above was generated with the following code:
diff --git a/cmd/build_test_matrix/main.go b/cmd/build_test_matrix/main.go
new file mode 100644
index 00000000000..c86324b31f8
--- /dev/null
+++ b/cmd/build_test_matrix/main.go
@@ -0,0 +1,130 @@
+package main
+
+import (
+ "encoding/json"
+ "fmt"
+ "go/ast"
+ "go/parser"
+ "go/token"
+ "io/fs"
+ "os"
+ "path/filepath"
+ "strings"
+)
+
+const (
+ testNamePrefix = "Test"
+ testFileNameSuffix = "_test.go"
+ e2eTestDirectory = "e2e"
+)
+
+// GithubActionTestMatrix represents
+type GithubActionTestMatrix struct {
+ Include []TestSuitePair `json:"include"`
+}
+
+type TestSuitePair struct {
+ Test string `json:"test"`
+ Suite string `json:"suite"`
+}
+
+func main() {
+ githubActionMatrix, err := getGithubActionMatrixForTests(e2eTestDirectory)
+ if err != nil {
+ fmt.Printf("error generating github action json: %s", err)
+ os.Exit(1)
+ }
+
+ ghBytes, err := json.Marshal(githubActionMatrix)
+ if err != nil {
+ fmt.Printf("error marshalling github action json: %s", err)
+ os.Exit(1)
+ }
+ fmt.Println(string(ghBytes))
+}
+
+// getGithubActionMatrixForTests returns a json string representing the contents that should go in the matrix
+// field in a github action workflow. This string can be used with `fromJSON(str)` to dynamically build
+// the workflow matrix to include all E2E tests under the e2eRootDirectory directory.
+func getGithubActionMatrixForTests(e2eRootDirectory string) (GithubActionTestMatrix, error) {
+ testSuiteMapping := map[string][]string{}
+ fset := token.NewFileSet()
+ err := filepath.Walk(e2eRootDirectory, func(path string, info fs.FileInfo, err error) error {
+ // only look at test files
+ if !strings.HasSuffix(path, testFileNameSuffix) {
+ return nil
+ }
+
+ f, err := parser.ParseFile(fset, path, nil, 0)
+ if err != nil {
+ return fmt.Errorf("failed parsing file: %s", err)
+ }
+
+ suiteNameForFile, testCases, err := extractSuiteAndTestNames(f)
+ if err != nil {
+ return fmt.Errorf("failed extracting test suite name and test cases: %s", err)
+ }
+
+ testSuiteMapping[suiteNameForFile] = testCases
+
+ return nil
+ })
+
+ if err != nil {
+ return GithubActionTestMatrix{}, err
+ }
+
+ gh := GithubActionTestMatrix{
+ Include: []TestSuitePair{},
+ }
+
+ for testSuiteName, testCases := range testSuiteMapping {
+ for _, testCaseName := range testCases {
+ gh.Include = append(gh.Include, TestSuitePair{
+ Test: testCaseName,
+ Suite: testSuiteName,
+ })
+ }
+ }
+
+ return gh, nil
+}
+
+// extractSuiteAndTestNames extracts the name of the test suite function as well
+// as all tests associated with it in the same file.
+func extractSuiteAndTestNames(file *ast.File) (string, []string, error) {
+ var suiteNameForFile string
+ var testCases []string
+
+ for _, d := range file.Decls {
+ if f, ok := d.(*ast.FuncDecl); ok {
+ functionName := f.Name.Name
+ if isTestSuiteMethod(f) {
+ if suiteNameForFile != "" {
+ return "", nil, fmt.Errorf("found a second test function: %s when %s was already found", f.Name.Name, suiteNameForFile)
+ }
+ suiteNameForFile = functionName
+ continue
+ }
+ if isTestFunction(f) {
+ testCases = append(testCases, functionName)
+ }
+ }
+ }
+ if suiteNameForFile == "" {
+ return "", nil, fmt.Errorf("file %s had no test suite test case", file.Name.Name)
+ }
+ return suiteNameForFile, testCases, nil
+}
+
+// isTestSuiteMethod returns true if the function is a test suite function.
+// e.g. func TestFeeMiddlewareTestSuite(t *testing.T) { ... }
+func isTestSuiteMethod(f *ast.FuncDecl) bool {
+ return strings.HasPrefix(f.Name.Name, testNamePrefix) && len(f.Type.Params.List) == 1
+}
+
+// isTestFunction returns true if the function name starts with "Test" and has no parameters.
+// as test suite functions do not accept a *testing.T.
+func isTestFunction(f *ast.FuncDecl) bool {
+ return strings.HasPrefix(f.Name.Name, testNamePrefix) && len(f.Type.Params.List) == 0
+}
diff --git a/cmd/build_test_matrix/main_test.go b/cmd/build_test_matrix/main_test.go
new file mode 100644
index 00000000000..47de4d981c2
--- /dev/null
+++ b/cmd/build_test_matrix/main_test.go
@@ -0,0 +1,162 @@
+package main
+
+import (
+ "os"
+ "path"
+ "sort"
+ "strings"
+ "testing"
+
+ "github.com/stretchr/testify/assert"
+)
+
+const (
+ nonTestFile = "not_test_file.go"
+ goTestFileNameOne = "first_go_file_test.go"
+ goTestFileNameTwo = "second_go_file_test.go"
+)
+
+func TestGetGithubActionMatrixForTests(t *testing.T) {
+ t.Run("empty dir does not fail", func(t *testing.T) {
+ testingDir := t.TempDir()
+ _, err := getGithubActionMatrixForTests(testingDir)
+ assert.NoError(t, err)
+ })
+
+ t.Run("only test functions are picked up", func(t *testing.T) {
+ testingDir := t.TempDir()
+ createFileWithTestSuiteAndTests(t, "FeeMiddlewareTestSuite", "TestA", "TestB", testingDir, goTestFileNameOne)
+
+ gh, err := getGithubActionMatrixForTests(testingDir)
+ assert.NoError(t, err)
+
+ expected := GithubActionTestMatrix{
+ Include: []TestSuitePair{
+ {
+ Suite: "TestFeeMiddlewareTestSuite",
+ Test: "TestA",
+ },
+ {
+ Suite: "TestFeeMiddlewareTestSuite",
+ Test: "TestB",
+ },
+ },
+ }
+ assertGithubActionTestMatricesEqual(t, expected, gh)
+ })
+
+ t.Run("all files are picked up", func(t *testing.T) {
+ testingDir := t.TempDir()
+ createFileWithTestSuiteAndTests(t, "FeeMiddlewareTestSuite", "TestA", "TestB", testingDir, goTestFileNameOne)
+ createFileWithTestSuiteAndTests(t, "TransferTestSuite", "TestC", "TestD", testingDir, goTestFileNameTwo)
+
+ gh, err := getGithubActionMatrixForTests(testingDir)
+ assert.NoError(t, err)
+
+ expected := GithubActionTestMatrix{
+ Include: []TestSuitePair{
+ {
+ Suite: "TestTransferTestSuite",
+ Test: "TestC",
+ },
+ {
+ Suite: "TestFeeMiddlewareTestSuite",
+ Test: "TestA",
+ },
+ {
+ Suite: "TestFeeMiddlewareTestSuite",
+ Test: "TestB",
+ },
+ {
+ Suite: "TestTransferTestSuite",
+ Test: "TestD",
+ },
+ },
+ }
+
+ assertGithubActionTestMatricesEqual(t, expected, gh)
+ })
+
+ t.Run("non test files are not picked up", func(t *testing.T) {
+ testingDir := t.TempDir()
+ createFileWithTestSuiteAndTests(t, "FeeMiddlewareTestSuite", "TestA", "TestB", testingDir, nonTestFile)
+
+ gh, err := getGithubActionMatrixForTests(testingDir)
+ assert.NoError(t, err)
+ assert.Empty(t, gh.Include)
+ })
+
+ t.Run("fails when there are multiple suite runs", func(t *testing.T) {
+ testingDir := t.TempDir()
+ createFileWithTestSuiteAndTests(t, "FeeMiddlewareTestSuite", "TestA", "TestB", testingDir, nonTestFile)
+
+ fileWithTwoSuites := `package foo
+func SuiteOne(t *testing.T) {
+ suite.Run(t, new(FeeMiddlewareTestSuite))
+}
+
+func SuiteTwo(t *testing.T) {
+ suite.Run(t, new(FeeMiddlewareTestSuite))
+}
+
+type FeeMiddlewareTestSuite struct {}
+`
+
+ err := os.WriteFile(path.Join(testingDir, goTestFileNameOne), []byte(fileWithTwoSuites), os.FileMode(777))
+ assert.NoError(t, err)
+
+ _, err = getGithubActionMatrixForTests(testingDir)
+ assert.Error(t, err)
+ })
+}
+
+func assertGithubActionTestMatricesEqual(t *testing.T, expected, actual GithubActionTestMatrix) {
+ // sort by both suite and test as the order of the end result does not matter as
+ // all tests will be run.
+ sort.SliceStable(expected.Include, func(i, j int) bool {
+ memberI := expected.Include[i]
+ memberJ := expected.Include[j]
+ if memberI.Suite == memberJ.Suite {
+ return memberI.Test < memberJ.Test
+ }
+ return memberI.Suite < memberJ.Suite
+ })
+
+ sort.SliceStable(actual.Include, func(i, j int) bool {
+ memberI := actual.Include[i]
+ memberJ := actual.Include[j]
+ if memberI.Suite == memberJ.Suite {
+ return memberI.Test < memberJ.Test
+ }
+ return memberI.Suite < memberJ.Suite
+ })
+ assert.Equal(t, expected.Include, actual.Include)
+}
+
+func goTestFileContents(suiteName, fnName1, fnName2 string) string {
+
+ replacedSuiteName := strings.ReplaceAll(`package foo
+
+func TestSuiteName(t *testing.T) {
+ suite.Run(t, new(SuiteName))
+}
+
+type SuiteName struct {}
+
+func (s *SuiteName) fnName1() {}
+func (s *SuiteName) fnName2() {}
+
+func (s *SuiteName) suiteHelper() {}
+
+func helper() {}
+`, "SuiteName", suiteName)
+
+ replacedFn1Name := strings.ReplaceAll(replacedSuiteName, "fnName1", fnName1)
+ return strings.ReplaceAll(replacedFn1Name, "fnName2", fnName2)
+}
+
+func createFileWithTestSuiteAndTests(t *testing.T, suiteName, fn1Name, fn2Name, dir, filename string) {
+ goFileContents := goTestFileContents(suiteName, fn1Name, fn2Name)
+ err := os.WriteFile(path.Join(dir, filename), []byte(goFileContents), os.FileMode(777))
+ assert.NoError(t, err)
+}
diff --git a/cmd/determine_simd_tag/main.go b/cmd/determine_simd_tag/main.go
new file mode 100644
index 00000000000..af3a6281268
--- /dev/null
+++ b/cmd/determine_simd_tag/main.go
@@ -0,0 +1,26 @@
+package main
+
+import (
+ "flag"
+ "fmt"
+)
+
+var prNum string
+
+func init() {
+ flag.StringVar(&prNum, "pr", "", "the number of the pr")
+ flag.Parse()
+}
+
+// in the context of a GithubAction workflow, the PR is non empty if it is a pr. When
+// code is merged to main, it will be empty. In this case we just use the "main" tag.
+func main() {
+ fmt.Printf(getSimdTag(prNum))
+}
+
+func getSimdTag(prNum string) string {
+ if prNum == "" {
+ return "main"
+ }
+ return fmt.Sprintf("pr-%s", prNum)
+}
diff --git a/docs/.vuepress/config.js b/docs/.vuepress/config.js
index e748d200226..f459a997da6 100644
--- a/docs/.vuepress/config.js
+++ b/docs/.vuepress/config.js
@@ -3,19 +3,48 @@ module.exports = {
title: "IBC-Go",
locales: {
"/": {
- lang: "en-US"
+ lang: "en-US",
},
},
base: process.env.VUEPRESS_BASE || "/",
head: [
- ['link', { rel: "apple-touch-icon", sizes: "180x180", href: "/apple-touch-icon.png" }],
- ['link', { rel: "icon", type: "image/png", sizes: "32x32", href: "/favicon-32x32.png" }],
- ['link', { rel: "icon", type: "image/png", sizes: "16x16", href: "/favicon-16x16.png" }],
- ['link', { rel: "manifest", href: "/site.webmanifest" }],
- ['meta', { name: "msapplication-TileColor", content: "#2e3148" }],
- ['meta', { name: "theme-color", content: "#ffffff" }],
- ['link', { rel: "icon", type: "image/svg+xml", href: "/favicon-svg.svg" }],
- ['link', { rel: "apple-touch-icon-precomposed", href: "/apple-touch-icon-precomposed.png" }],
+ [
+ "link",
+ {
+ rel: "apple-touch-icon",
+ sizes: "180x180",
+ href: "/apple-touch-icon.png",
+ },
+ ],
+ [
+ "link",
+ {
+ rel: "icon",
+ type: "image/png",
+ sizes: "32x32",
+ href: "/favicon-32x32.png",
+ },
+ ],
+ [
+ "link",
+ {
+ rel: "icon",
+ type: "image/png",
+ sizes: "16x16",
+ href: "/favicon-16x16.png",
+ },
+ ],
+ ["link", { rel: "manifest", href: "/site.webmanifest" }],
+ ["meta", { name: "msapplication-TileColor", content: "#2e3148" }],
+ ["meta", { name: "theme-color", content: "#ffffff" }],
+ ["link", { rel: "icon", type: "image/svg+xml", href: "/favicon-svg.svg" }],
+ [
+ "link",
+ {
+ rel: "apple-touch-icon-precomposed",
+ href: "/apple-touch-icon-precomposed.png",
+ },
+ ],
],
themeConfig: {
repo: "cosmos/ibc-go",
@@ -32,109 +61,109 @@ module.exports = {
//},
versions: [
{
- "label": "main",
- "key": "main"
+ label: "main",
+ key: "main",
},
{
- "label": "v1.1.0",
- "key": "v1.1.0"
+ label: "v1.1.0",
+ key: "v1.1.0",
},
{
- "label": "v1.2.0",
- "key": "v1.2.0"
+ label: "v1.2.0",
+ key: "v1.2.0",
},
{
- "label": "v1.3.0",
- "key": "v1.3.0"
+ label: "v1.3.0",
+ key: "v1.3.0",
},
{
- "label": "v1.5.0",
- "key": "v1.5.0"
+ label: "v1.5.0",
+ key: "v1.5.0",
},
{
- "label": "v1.4.0",
- "key": "v1.4.0"
+ label: "v1.4.0",
+ key: "v1.4.0",
},
{
- "label": "v2.0.0",
- "key": "v2.0.0"
- } ,
+ label: "v2.0.0",
+ key: "v2.0.0",
+ },
{
- "label": "v2.1.0",
- "key": "v2.1.0"
- },
- {
- "label": "v2.2.0",
- "key": "v2.2.0"
+ label: "v2.1.0",
+ key: "v2.1.0",
},
- {
- "label": "v2.3.0",
- "key": "v2.3.0"
+ {
+ label: "v2.2.0",
+ key: "v2.2.0",
+ },
+ {
+ label: "v2.3.0",
+ key: "v2.3.0",
},
{
- "label": "v3.0.0",
- "key": "v3.0.0"
+ label: "v3.0.0",
+ key: "v3.0.0",
},
{
- "label": "v3.1.0",
- "key": "v3.1.0"
- }
+ label: "v3.1.0",
+ key: "v3.1.0",
+ },
],
topbar: {
- banner: true
+ banner: true,
},
- sidebar: {
+ sidebar: {
auto: false,
nav: [
- {
+ {
title: "Using IBC-Go",
children: [
{
title: "Overview",
directory: false,
- path: "/ibc/overview.html"
- },
+ path: "/ibc/overview.html",
+ },
{
title: "Integration",
directory: false,
- path: "/ibc/integration.html"
+ path: "/ibc/integration.html",
},
{
title: "Applications",
- directory: false,
- path: "/ibc/apps.html"
+ directory: true,
+ path: "/ibc/apps",
},
{
title: "Middleware",
directory: true,
- path: "/ibc/middleware"
+ path: "/ibc/middleware",
},
{
title: "Upgrades",
directory: true,
- path: "/ibc/upgrades"
+ path: "/ibc/upgrades",
},
{
title: "Governance Proposals",
directory: false,
- path: "/ibc/proposals.html"
+ path: "/ibc/proposals.html",
},
{
title: "Relayer",
directory: false,
- path: "/ibc/relayer.html"
+ path: "/ibc/relayer.html",
},
{
title: "Protobuf Documentation",
directory: false,
- path: "/ibc/proto-docs.html"
+ path: "/ibc/proto-docs.html",
},
{
title: "Roadmap",
directory: false,
- path: "/roadmap/roadmap.html"
+ path: "/roadmap/roadmap.html",
},
- ]
+ ],
},
{
title: "IBC Application Modules",
@@ -147,34 +176,34 @@ module.exports = {
{
title: "Overview",
directory: false,
- path: "/apps/interchain-accounts/overview.html"
- },
+ path: "/apps/interchain-accounts/overview.html",
+ },
{
title: "Authentication Modules",
directory: false,
- path: "/apps/interchain-accounts/auth-modules.html"
+ path: "/apps/interchain-accounts/auth-modules.html",
},
{
title: "Active Channels",
directory: false,
- path: "/apps/interchain-accounts/active-channels.html"
+ path: "/apps/interchain-accounts/active-channels.html",
},
{
title: "Integration",
directory: false,
- path: "/apps/interchain-accounts/integration.html"
+ path: "/apps/interchain-accounts/integration.html",
},
{
title: "Parameters",
directory: false,
- path: "/apps/interchain-accounts/parameters.html"
+ path: "/apps/interchain-accounts/parameters.html",
},
{
title: "Transactions",
directory: false,
- path: "/apps/interchain-accounts/transactions.html"
+ path: "/apps/interchain-accounts/transactions.html",
},
- ]
+ ],
},
{
title: "Transfer",
@@ -184,109 +213,125 @@ module.exports = {
{
title: "Overview",
directory: false,
- path: "/apps/transfer/overview.html"
- },
+ path: "/apps/transfer/overview.html",
+ },
{
title: "State",
directory: false,
- path: "/apps/transfer/state.html"
+ path: "/apps/transfer/state.html",
},
{
title: "State Transitions",
directory: false,
- path: "/apps/transfer/state-transitions.html"
+ path: "/apps/transfer/state-transitions.html",
},
{
title: "Messages",
directory: false,
- path: "/apps/transfer/messages.html"
+ path: "/apps/transfer/messages.html",
},
{
title: "Events",
directory: false,
- path: "/apps/transfer/events.html"
+ path: "/apps/transfer/events.html",
},
{
title: "Metrics",
directory: false,
- path: "/apps/transfer/metrics.html"
+ path: "/apps/transfer/metrics.html",
},
{
title: "Params",
directory: false,
- path: "/apps/transfer/params.html"
+ path: "/apps/transfer/params.html",
},
- ]
+ ],
},
- ]
+ ],
},
{
title: "IBC Middleware Modules",
children: [
{
- title: "ICS29 Fee Middleware",
+ title: "Fee Middleware",
directory: true,
path: "/middleware",
children: [
{
title: "Overview",
directory: false,
- path: "/middleware/ics29-fee/overview.html"
- },
+ path: "/middleware/ics29-fee/overview.html",
+ },
{
title: "Integration",
directory: false,
- path: "/middleware/ics29-fee/integration.html"
+ path: "/middleware/ics29-fee/integration.html",
+ },
+ {
+ title: "Fee Messages",
+ directory: false,
+ path: "/middleware/ics29-fee/msgs.html",
},
{
title: "Fee Distribution",
directory: false,
- path: "/middleware/ics29-fee/fee-distribution.html"
+ path: "/middleware/ics29-fee/fee-distribution.html",
},
- ]
+ {
+ title: "Events",
+ directory: false,
+ path: "/middleware/ics29-fee/events.html",
+ },
+ {
+ title: "End Users",
+ directory: false,
+ path: "/middleware/ics29-fee/end-users.html",
+ },
+ ],
},
- ]
+ ],
},
{
title: "Migrations",
children: [
{
- title: "Support transfer of coins whose base denom contains slashes",
+ title:
+ "Support transfer of coins whose base denom contains slashes",
directory: false,
- path: "/migrations/support-denoms-with-slashes.html"
+ path: "/migrations/support-denoms-with-slashes.html",
},
{
title: "SDK v0.43 to IBC-Go v1",
directory: false,
- path: "/migrations/sdk-to-v1.html"
+ path: "/migrations/sdk-to-v1.html",
},
{
title: "IBC-Go v1 to v2",
directory: false,
- path: "/migrations/v1-to-v2.html"
+ path: "/migrations/v1-to-v2.html",
},
{
title: "IBC-Go v2 to v3",
directory: false,
- path: "/migrations/v2-to-v3.html"
+ path: "/migrations/v2-to-v3.html",
},
{
title: "IBC-Go v3 to v4",
directory: false,
- path: "/migrations/v3-to-v4.html"
+ path: "/migrations/v3-to-v4.html",
},
- ]
+ ],
},
{
title: "Resources",
children: [
{
title: "IBC Specification",
- path: "https://github.com/cosmos/ibc"
+ path: "https://github.com/cosmos/ibc",
},
- ]
- }
- ]
+ ],
+ },
+ ],
},
gutter: {
title: "Help & Support",
@@ -295,46 +340,46 @@ module.exports = {
title: "Discord",
text: "Chat with IBC developers on Discord.",
url: "https://discordapp.com/channels/669268347736686612",
- bg: "linear-gradient(225.11deg, #2E3148 0%, #161931 95.68%)"
+ bg: "linear-gradient(225.11deg, #2E3148 0%, #161931 95.68%)",
},
github: {
title: "Found an Issue?",
- text: "Help us improve this page by suggesting edits on GitHub."
- }
+ text: "Help us improve this page by suggesting edits on GitHub.",
+ },
},
footer: {
question: {
- text: "Chat with IBC developers in Discord."
+ text: "Chat with IBC developers in Discord.",
},
textLink: {
text: "ibcprotocol.org",
- url: "https://ibcprotocol.org"
+ url: "https://ibcprotocol.org",
},
services: [
{
service: "medium",
- url: "https://blog.cosmos.network/"
+ url: "https://blog.cosmos.network/",
},
{
service: "twitter",
- url: "https://twitter.com/cosmos"
+ url: "https://twitter.com/cosmos",
},
{
service: "linkedin",
- url: "https://www.linkedin.com/company/interchain-gmbh"
+ url: "https://www.linkedin.com/company/interchain-gmbh",
},
{
service: "reddit",
- url: "https://reddit.com/r/cosmosnetwork"
+ url: "https://reddit.com/r/cosmosnetwork",
},
{
service: "telegram",
- url: "https://t.me/cosmosproject"
+ url: "https://t.me/cosmosproject",
},
{
service: "youtube",
- url: "https://www.youtube.com/c/CosmosProject"
- }
+ url: "https://www.youtube.com/c/CosmosProject",
+ },
],
smallprint:
"The development of IBC-Go is led primarily by [Interchain GmbH](https://interchain.berlin/). Funding for this development comes primarily from the Interchain Foundation, a Swiss non-profit.",
@@ -344,64 +389,63 @@ module.exports = {
children: [
{
title: "Cosmos SDK",
- url: "https://docs.cosmos.network"
+ url: "https://docs.cosmos.network",
},
{
title: "Cosmos Hub",
- url: "https://hub.cosmos.network"
+ url: "https://hub.cosmos.network",
},
{
title: "Tendermint Core",
- url: "https://docs.tendermint.com"
- }
- ]
+ url: "https://docs.tendermint.com",
+ },
+ ],
},
{
title: "Community",
children: [
{
title: "Cosmos blog",
- url: "https://blog.cosmos.network"
+ url: "https://blog.cosmos.network",
},
{
title: "Forum",
- url: "https://forum.cosmos.network"
+ url: "https://forum.cosmos.network",
},
{
title: "Chat",
- url: "https://discord.gg/W8trcGV"
- }
- ]
+ url: "https://discord.gg/W8trcGV",
+ },
+ ],
},
{
title: "Contributing",
children: [
{
title: "Contributing to the docs",
- url:
- "https://github.com/cosmos/ibc-go/blob/main/docs/DOCS_README.md"
+ url: "https://github.com/cosmos/ibc-go/blob/main/docs/DOCS_README.md",
},
{
title: "Source code on GitHub",
- url: "https://github.com/cosmos/ibc-go/"
- }
- ]
- }
- ]
- }
+ url: "https://github.com/cosmos/ibc-go/",
+ },
+ ],
+ },
+ ],
+ },
},
plugins: [
[
"@vuepress/google-analytics",
{
- ga: "UA-51029217-2"
- }
+ ga: "UA-51029217-2",
+ },
],
[
"sitemap",
{
- hostname: "https://ibc.cosmos.network"
- }
- ]
- ]
+ hostname: "https://ibc.cosmos.network",
+ },
+ ],
+ ],
};
diff --git a/docs/apps/interchain-accounts/active-channels.md b/docs/apps/interchain-accounts/active-channels.md
index c574ea87d85..d387bdea038 100644
--- a/docs/apps/interchain-accounts/active-channels.md
+++ b/docs/apps/interchain-accounts/active-channels.md
@@ -12,11 +12,11 @@ channel type that provides ordering of packets without the channel closing on ti
When an Interchain Account is registered using the `RegisterInterchainAccount` API, a new channel is created on a particular port. During the `OnChanOpenAck` and `OnChanOpenConfirm` steps (controller & host chain) the `Active Channel` for this interchain account
is stored in state.
-It is possible to create a new channel using the same controller chain portID if the previously set `Active Channel` is now in a `CLOSED` state. This channel creation can be initialized programatically by sending a new `OnChanOpenInit` message like so:
+It is possible to create a new channel using the same controller chain portID if the previously set `Active Channel` is now in a `CLOSED` state. This channel creation can be initialized programatically by sending a new `MsgChannelOpenInit` message like so:
```go
- msg := channeltypes.NewMsgChannelOpenInit(portID, string(versionBytes), channeltypes.ORDERED, []string{connectionID}, icatypes.PortID, icatypes.ModuleName)
- handler := k.msgRouter.Handler(msg)
+msg := channeltypes.NewMsgChannelOpenInit(portID, string(versionBytes), channeltypes.ORDERED, []string{connectionID}, icatypes.PortID, icatypes.ModuleName)
+handler := k.msgRouter.Handler(msg)
```
Alternatively, any relayer operator may initiate a new channel handshake for this interchain account once the previously set `Active Channel` is in a `CLOSED` state. This is done by initiating the channel handshake on the controller chain using the same portID associated with the interchain account in question.
diff --git a/docs/apps/interchain-accounts/auth-modules.md b/docs/apps/interchain-accounts/auth-modules.md
index fdff2385282..5d75409b3c4 100644
--- a/docs/apps/interchain-accounts/auth-modules.md
+++ b/docs/apps/interchain-accounts/auth-modules.md
@@ -38,15 +38,15 @@ func (im IBCModule) OnChanOpenInit(
chanCap *capabilitytypes.Capability,
counterparty channeltypes.Counterparty,
version string,
-) error {
+) (string, error) {
// the authentication module *must* claim the channel capability on OnChanOpenInit
if err := im.keeper.ClaimCapability(ctx, chanCap, host.ChannelCapabilityPath(portID, channelID)); err != nil {
- return err
+ return version, err
}
// perform custom logic
- return nil
+ return version, nil
}
// OnChanOpenAck implements the IBCModule interface
@@ -157,7 +157,7 @@ if err := keeper.icaControllerKeeper.RegisterInterchainAccount(ctx, connectionID
return nil
```
-The `version` argument is used to support ICS29 fee middleware for relayer incentivization of ICS27 packets. Consumers of the `RegisterInterchainAccount` are expected to build the appropriate JSON encoded version string themselves and pass it accordingly.
+The `version` argument is used to support ICS29 fee middleware for relayer incentivization of ICS27 packets. Consumers of the `RegisterInterchainAccount` are expected to build the appropriate JSON encoded version string themselves and pass it accordingly. If an empty string is passed in the `version` argument, then the version will be initialized to a default value in the `OnChanOpenInit` callback of the controller's handler, so that channel handshake can proceed.
The following code snippet illustrates how to construct an appropriate interchain accounts `Metadata` and encode it as a JSON bytestring:
diff --git a/docs/architecture/adr-002-go-module-versioning.md b/docs/architecture/adr-002-go-module-versioning.md
index 28207d5474d..a046792b142 100644
--- a/docs/architecture/adr-002-go-module-versioning.md
+++ b/docs/architecture/adr-002-go-module-versioning.md
@@ -72,7 +72,7 @@ This prevents the Go module version from being incremented with breaking changes
It also requires all extended functions to live in the same Go module, disrupting the existing code structure.
The version that implements this change will still be incompatible with previous versions, but future versions could be imported together without namespace collisions.
-For example, lets say this solution is implmented in v3. Then
+For example, lets say this solution is implemented in v3. Then
`github.com/cosmos/ibc-go/v2` cannot be imported with any other ibc-go version
diff --git a/docs/architecture/adr-026-ibc-client-recovery-mechanisms.md b/docs/architecture/adr-026-ibc-client-recovery-mechanisms.md
index 516002ed1b9..bec25a3aad9 100644
--- a/docs/architecture/adr-026-ibc-client-recovery-mechanisms.md
+++ b/docs/architecture/adr-026-ibc-client-recovery-mechanisms.md
@@ -7,6 +7,7 @@
- 2021/01/15: Revision to support substitute clients for unfreezing
- 2021/05/20: Revision to simplify consensus state copying, remove initial height
- 2022/04/08: Revision to deprecate AllowUpdateAfterExpiry and AllowUpdateAfterMisbehaviour
+- 2022/07/15: Revision to allow updating of TrustingPeriod
## Status
@@ -51,6 +52,9 @@ We elect not to deal with chains which have actually halted, which is necessaril
Previously, `AllowUpdateAfterExpiry` and `AllowUpdateAfterMisbehaviour` were used to signal the recovery options for an expired or frozen client, and governance proposals were not allowed to overwrite the client if these parameters were set to false. However, this has now been deprecated because a code migration can overwrite the client and consensus states regardless of the value of these parameters. If governance would vote to overwrite a client or consensus state, it is likely that governance would also be willing to perform a code migration to do the same.
+ In addition, `TrustingPeriod` was initally not allowed to be updated by a client upgrade proposal. However, due to the number of situations experienced in production where the `TrustingPeriod` of a client should be allowed to be updated because of ie: initial misconfiguration for a canonical channel, governance should be allowed to update this client parameter.
+
+ Note that this should NOT be lightly updated, as there may be a gap in time between when misbehaviour has occured and when the evidence of misbehaviour is submitted. For example, if the `UnbondingPeriod` is 2 weeks and the `TrustingPeriod` has also been set to two weeks, a validator could wait until right before `UnbondingPeriod` finishes, submit false information, then unbond and exit without being slashed for misbehaviour. Therefore, we recommend that the trusting period for the 07-tendermint client be set to 2/3 of the `UnbondingPeriod`.
Note that clients frozen due to misbehaviour must wait for the evidence to expire to avoid becoming refrozen.
diff --git a/docs/assets/fee-mw/feeflow.png b/docs/assets/fee-mw/feeflow.png
new file mode 100644
index 00000000000..ba02071f4d8
Binary files /dev/null and b/docs/assets/fee-mw/feeflow.png differ
diff --git a/docs/assets/fee-mw/msgpaypacket.png b/docs/assets/fee-mw/msgpaypacket.png
new file mode 100644
index 00000000000..1bd5deb01fd
Binary files /dev/null and b/docs/assets/fee-mw/msgpaypacket.png differ
diff --git a/docs/assets/fee-mw/paypacketfeeasync.png b/docs/assets/fee-mw/paypacketfeeasync.png
new file mode 100644
index 00000000000..27c486a6f82
Binary files /dev/null and b/docs/assets/fee-mw/paypacketfeeasync.png differ
diff --git a/docs/assets/fee-mw/registerrelayeraddr.png b/docs/assets/fee-mw/registerrelayeraddr.png
new file mode 100644
index 00000000000..29b01da9a7c
Binary files /dev/null and b/docs/assets/fee-mw/registerrelayeraddr.png differ
diff --git a/docs/ibc/apps.md b/docs/ibc/apps.md
index 267a2e5ca55..11fa1e84b7e 100644
--- a/docs/ibc/apps.md
+++ b/docs/ibc/apps.md
@@ -73,15 +73,9 @@ OnChanOpenTry(
counterparty channeltypes.Counterparty,
counterpartyVersion string,
) (string, error) {
- // Module may have already claimed capability in OnChanOpenInit in the case of crossing hellos
- // (ie chainA and chainB both call ChanOpenInit before one of them calls ChanOpenTry)
- // If the module can already authenticate the capability then the module already owns it so we don't need to claim
- // Otherwise, module does not have channel capability and we must claim it from IBC
- if !k.AuthenticateCapability(ctx, chanCap, host.ChannelCapabilityPath(portID, channelID)) {
- // Only claim channel capability passed back by IBC module if we do not already own it
- if err := k.scopedKeeper.ClaimCapability(ctx, chanCap, host.ChannelCapabilityPath(portID, channelID)); err != nil {
- return err
- }
+ // OpenTry must claim the channelCapability that IBC passes into the callback
+ if err := k.scopedKeeper.ClaimCapability(ctx, chanCap, host.ChannelCapabilityPath(portID, channelID)); err != nil {
+ return err
}
// ... do custom initialization logic
diff --git a/docs/ibc/apps/apps.md b/docs/ibc/apps/apps.md
new file mode 100644
index 00000000000..a24032168aa
--- /dev/null
+++ b/docs/ibc/apps/apps.md
@@ -0,0 +1,51 @@
+
+
+# IBC Applications
+
+Learn how to build custom IBC application modules that enable packets to be sent to and received from other IBC-enabled chains. {synopsis}
+
+This document serves as a guide for developers who want to write their own Inter-blockchain Communication Protocol (IBC) applications for custom use cases.
+
+Due to the modular design of the IBC protocol, IBC application developers do not need to concern themselves with the low-level details of clients, connections, and proof verification. Nevertheless, an overview of these low-level concepts can be found in [the Overview section](../overview.md).
+The document goes into detail on the abstraction layer most relevant for application developers (channels and ports), and describes how to define your own custom packets, `IBCModule` callbacks and more to make an application module IBC ready.
+
+**To have your module interact over IBC you must:**
+
+- implement the `IBCModule` interface, i.e.:
+ - channel (opening) handshake callbacks
+ - channel closing handshake callbacks
+ - packet callbacks
+- bind to a port(s)
+- add keeper methods
+- define your own packet data and acknowledgement structs as well as how to encode/decode them
+- add a route to the IBC router
+
+The following sections provide a more detailed explanation of how to write an IBC application
+module correctly corresponding to the listed steps.
+
+## Pre-requisites Readings
+
+- [IBC Overview](../overview.md)) {prereq}
+- [IBC default integration](../integration.md) {prereq}
+
+## Working example
+
+For a real working example of an IBC application, you can look through the `ibc-transfer` module
+which implements everything discussed in this section.
+
+Here are the useful parts of the module to look at:
+
+[Binding to transfer
+port](https://github.com/cosmos/ibc-go/blob/main/modules/apps/transfer/keeper/genesis.go)
+
+[Sending transfer
+packets](https://github.com/cosmos/ibc-go/blob/main/modules/apps/transfer/keeper/relay.go)
+
+[Implementing IBC
+callbacks](https://github.com/cosmos/ibc-go/blob/main/modules/apps/transfer/ibc_module.go)
+
+## Next {hide}
+
+Learn about [building modules](https://github.com/cosmos/cosmos-sdk/blob/master/docs/building-modules/intro.md) {hide}
diff --git a/docs/ibc/apps/bindports.md b/docs/ibc/apps/bindports.md
new file mode 100644
index 00000000000..c0cfa703191
--- /dev/null
+++ b/docs/ibc/apps/bindports.md
@@ -0,0 +1,114 @@
+
+
+# Bind ports
+
+Learn what changes to make to bind modules to their ports on initialization. {synopsis}
+
+## Pre-requisites Readings
+
+- [IBC Overview](../overview.md)) {prereq}
+- [IBC default integration](../integration.md) {prereq}
+
+Currently, ports must be bound on app initialization. In order to bind modules to their respective ports on initialization, the following needs to be implemented:
+
+> Note that `portID` does not refer to a certain numerical ID, like `localhost:8080` with a `portID` 8080. Rather it refers to the application module the port binds. For IBC Modules built with the Cosmos SDK, it defaults to the module's name and for Cosmwasm contracts it defaults to the contract address.
+
+1. Add port ID to the `GenesisState` proto definition:
+
+ ```protobuf
+ message GenesisState {
+ string port_id = 1;
+ // other fields
+ }
+ ```
+
+1. Add port ID as a key to the module store:
+
+ ```go
+ // x//types/keys.go
+ const (
+ // ModuleName defines the IBC Module name
+ ModuleName = "moduleName"
+
+ // Version defines the current version the IBC
+ // module supports
+ Version = "moduleVersion-1"
+
+ // PortID is the default port id that module binds to
+ PortID = "portID"
+
+ // ...
+ )
+ ```
+
+1. Add port ID to `x//types/genesis.go`:
+
+ ```go
+ // in x//types/genesis.go
+
+ // DefaultGenesisState returns a GenesisState with "transfer" as the default PortID.
+ func DefaultGenesisState() *GenesisState {
+ return &GenesisState{
+ PortId: PortID,
+ // additional k-v fields
+ }
+ }
+
+ // Validate performs basic genesis state validation returning an error upon any
+ // failure.
+ func (gs GenesisState) Validate() error {
+ if err := host.PortIdentifierValidator(gs.PortId); err != nil {
+ return err
+ }
+ //addtional validations
+
+ return gs.Params.Validate()
+ }
+ ```
+
+1. Bind to port(s) in the module keeper's `InitGenesis`:
+
+ ```go
+ // InitGenesis initializes the ibc-module state and binds to PortID.
+ func (k Keeper) InitGenesis(ctx sdk.Context, state types.GenesisState) {
+ k.SetPort(ctx, state.PortId)
+
+ // ...
+
+ // Only try to bind to port if it is not already bound, since we may already own
+ // port capability from capability InitGenesis
+ if !k.IsBound(ctx, state.PortId) {
+ // transfer module binds to the transfer port on InitChain
+ // and claims the returned capability
+ err := k.BindPort(ctx, state.PortId)
+ if err != nil {
+ panic(fmt.Sprintf("could not claim port capability: %v", err))
+ }
+ }
+
+ // ...
+ }
+ ```
+
+ With:
+
+ ```go
+ // IsBound checks if the module is already bound to the desired port
+ func (k Keeper) IsBound(ctx sdk.Context, portID string) bool {
+ _, ok := k.scopedKeeper.GetCapability(ctx, host.PortPath(portID))
+ return ok
+ }
+
+ // BindPort defines a wrapper function for the port Keeper's function in
+ // order to expose it to module's InitGenesis function
+ func (k Keeper) BindPort(ctx sdk.Context, portID string) error {
+ cap := k.portKeeper.BindPort(ctx, portID)
+ return k.ClaimCapability(ctx, cap, host.PortPath(portID))
+ }
+ ```
+
+ The module binds to the desired port(s) and returns the capabilities.
+
+ In the above we find reference to keeper methods that wrap other keeper functionality, in the next section the keeper methods that need to be implemented will be defined.
diff --git a/docs/ibc/apps/ibcmodule.md b/docs/ibc/apps/ibcmodule.md
new file mode 100644
index 00000000000..d5864435700
--- /dev/null
+++ b/docs/ibc/apps/ibcmodule.md
@@ -0,0 +1,342 @@
+
+
+# Implement `IBCModule` interface and callbacks
+
+Learn how to implement the `IBCModule` interface and all of the callbacks it requires. {synopsis}
+
+The Cosmos SDK expects all IBC modules to implement the [`IBCModule`
+interface](https://github.com/cosmos/ibc-go/tree/main/modules/core/05-port/types/module.go). This interface contains all of the callbacks IBC expects modules to implement. They include callbacks related to channel handshake, closing and packet callbacks (`OnRecvPacket`, `OnAcknowledgementPacket` and `OnTimeoutPacket`).
+
+```go
+// IBCModule implements the ICS26 interface for given the keeper.
+// The implementation of the IBCModule interface could for example be in a file called ibc_module.go,
+// but ultimately file structure is up to the developer
+type IBCModule struct {
+ keeper keeper.Keeper
+}
+```
+
+Additionally, in the `module.go` file, add the following line:
+
+```go
+var (
+ _ module.AppModule = AppModule{}
+ _ module.AppModuleBasic = AppModuleBasic{}
+ // Add this line
+ _ porttypes.IBCModule = IBCModule{}
+)
+```
+
+## Pre-requisites Readings
+
+- [IBC Overview](../overview.md)) {prereq}
+- [IBC default integration](../integration.md) {prereq}
+
+## Channel handshake callbacks
+
+This section will describe the callbacks that are called during channel handshake execution. Among other things, it will claim channel capabilities passed on from core IBC. For a refresher on capabilities, check [the Overview section](../overview.md#capabilities).
+
+Here are the channel handshake callbacks that modules are expected to implement:
+
+> Note that some of the code below is _pseudo code_, indicating what actions need to happen but leaving it up to the developer to implement a custom implementation. E.g. the `checkArguments` and `negotiateAppVersion` functions.
+
+```go
+// Called by IBC Handler on MsgOpenInit
+func (im IBCModule) OnChanOpenInit(ctx sdk.Context,
+ order channeltypes.Order,
+ connectionHops []string,
+ portID string,
+ channelID string,
+ channelCap *capabilitytypes.Capability,
+ counterparty channeltypes.Counterparty,
+ version string,
+) (string, error) {
+ // ... do custom initialization logic
+
+ // Use above arguments to determine if we want to abort handshake
+ // Examples:
+ // - Abort if order == UNORDERED,
+ // - Abort if version is unsupported
+ if err := checkArguments(args); err != nil {
+ return "", err
+ }
+
+ // OpenInit must claim the channelCapability that IBC passes into the callback
+ if err := im.keeper.ClaimCapability(ctx, chanCap, host.ChannelCapabilityPath(portID, channelID)); err != nil {
+ return "", err
+ }
+
+ return version, nil
+}
+
+// Called by IBC Handler on MsgOpenTry
+func (im IBCModule) OnChanOpenTry(
+ ctx sdk.Context,
+ order channeltypes.Order,
+ connectionHops []string,
+ portID,
+ channelID string,
+ channelCap *capabilitytypes.Capability,
+ counterparty channeltypes.Counterparty,
+ counterpartyVersion string,
+) (string, error) {
+ // ... do custom initialization logic
+
+ // Use above arguments to determine if we want to abort handshake
+ if err := checkArguments(args); err != nil {
+ return "", err
+ }
+
+ // OpenTry must claim the channelCapability that IBC passes into the callback
+ if err := im.keeper.scopedKeeper.ClaimCapability(ctx, chanCap, host.ChannelCapabilityPath(portID, channelID)); err != nil {
+ return err
+ }
+
+ // Construct application version
+ // IBC applications must return the appropriate application version
+ // This can be a simple string or it can be a complex version constructed
+ // from the counterpartyVersion and other arguments.
+ // The version returned will be the channel version used for both channel ends.
+ appVersion := negotiateAppVersion(counterpartyVersion, args)
+
+ return appVersion, nil
+}
+
+// Called by IBC Handler on MsgOpenAck
+func (im IBCModule) OnChanOpenAck(
+ ctx sdk.Context,
+ portID,
+ channelID string,
+ counterpartyVersion string,
+) error {
+ if counterpartyVersion != types.Version {
+ return sdkerrors.Wrapf(types.ErrInvalidVersion, "invalid counterparty version: %s, expected %s", counterpartyVersion, types.Version)
+ }
+
+ // do custom logic
+
+ return nil
+}
+
+// Called by IBC Handler on MsgOpenConfirm
+func (im IBCModule) OnChanOpenConfirm(
+ ctx sdk.Context,
+ portID,
+ channelID string,
+) error {
+ // do custom logic
+
+ return nil
+}
+```
+
+The channel closing handshake will also invoke module callbacks that can return errors to abort the closing handshake. Closing a channel is a 2-step handshake, the initiating chain calls `ChanCloseInit` and the finalizing chain calls `ChanCloseConfirm`.
+
+```go
+// Called by IBC Handler on MsgCloseInit
+func (im IBCModule) OnChanCloseInit(
+ ctx sdk.Context,
+ portID,
+ channelID string,
+) error {
+ // ... do custom finalization logic
+
+ // Use above arguments to determine if we want to abort handshake
+ err := checkArguments(args)
+ return err
+}
+
+// Called by IBC Handler on MsgCloseConfirm
+func (im IBCModule) OnChanCloseConfirm(
+ ctx sdk.Context,
+ portID,
+ channelID string,
+) error {
+ // ... do custom finalization logic
+
+ // Use above arguments to determine if we want to abort handshake
+ err := checkArguments(args)
+ return err
+}
+```
+
+### Channel handshake version negotiation
+
+Application modules are expected to verify versioning used during the channel handshake procedure.
+
+- `OnChanOpenInit` will verify that the relayer-chosen parameters
+ are valid and perform any custom `INIT` logic.
+ It may return an error if the chosen parameters are invalid
+ in which case the handshake is aborted.
+ If the provided version string is non-empty, `OnChanOpenInit` should return
+ the version string if valid or an error if the provided version is invalid.
+ **If the version string is empty, `OnChanOpenInit` is expected to
+ return a default version string representing the version(s)
+ it supports.**
+ If there is no default version string for the application,
+ it should return an error if the provided version is an empty string.
+- `OnChanOpenTry` will verify the relayer-chosen parameters along with the
+ counterparty-chosen version string and perform custom `TRY` logic.
+ If the relayer-chosen parameters
+ are invalid, the callback must return an error to abort the handshake.
+ If the counterparty-chosen version is not compatible with this module's
+ supported versions, the callback must return an error to abort the handshake.
+ If the versions are compatible, the try callback must select the final version
+ string and return it to core IBC.
+ `OnChanOpenTry` may also perform custom initialization logic.
+- `OnChanOpenAck` will error if the counterparty selected version string
+ is invalid and abort the handshake. It may also perform custom ACK logic.
+
+Versions must be strings but can implement any versioning structure. If your application plans to
+have linear releases then semantic versioning is recommended. If your application plans to release
+various features in between major releases then it is advised to use the same versioning scheme
+as IBC. This versioning scheme specifies a version identifier and compatible feature set with
+that identifier. Valid version selection includes selecting a compatible version identifier with
+a subset of features supported by your application for that version. The struct used for this
+scheme can be found in [03-connection/types](https://github.com/cosmos/ibc-go/blob/main/modules/core/03-connection/types/version.go#L16).
+
+Since the version type is a string, applications have the ability to do simple version verification
+via string matching or they can use the already impelemented versioning system and pass the proto
+encoded version into each handhshake call as necessary.
+
+ICS20 currently implements basic string matching with a single supported version.
+
+## Packet callbacks
+
+Just as IBC expects modules to implement callbacks for channel handshakes, it also expects modules to implement callbacks for handling the packet flow through a channel, as defined in the `IBCModule` interface.
+
+Once a module A and module B are connected to each other, relayers can start relaying packets and acknowledgements back and forth on the channel.
+
+![IBC packet flow diagram](https://ibcprotocol.org/_nuxt/img/packet_flow.1d89ee0.png)
+
+Briefly, a successful packet flow works as follows:
+
+1. module A sends a packet through the IBC module
+2. the packet is received by module B
+3. if module B writes an acknowledgement of the packet then module A will process the
+ acknowledgement
+4. if the packet is not successfully received before the timeout, then module A processes the
+ packet's timeout.
+
+### Sending packets
+
+Modules **do not send packets through callbacks**, since the modules initiate the action of sending packets to the IBC module, as opposed to other parts of the packet flow where messages sent to the IBC
+module must trigger execution on the port-bound module through the use of callbacks. Thus, to send a packet a module simply needs to call `SendPacket` on the `IBCChannelKeeper`.
+
+> Note that some of the code below is _pseudo code_, indicating what actions need to happen but leaving it up to the developer to implement a custom implementation. E.g. the `EncodePacketData(customPacketData)` function.
+
+```go
+// retrieve the dynamic capability for this channel
+channelCap := scopedKeeper.GetCapability(ctx, channelCapName)
+// Sending custom application packet data
+data := EncodePacketData(customPacketData)
+packet.Data = data
+// Send packet to IBC, authenticating with channelCap
+IBCChannelKeeper.SendPacket(ctx, channelCap, packet)
+```
+
+::: warning
+In order to prevent modules from sending packets on channels they do not own, IBC expects
+modules to pass in the correct channel capability for the packet's source channel.
+:::
+
+### Receiving packets
+
+To handle receiving packets, the module must implement the `OnRecvPacket` callback. This gets
+invoked by the IBC module after the packet has been proved valid and correctly processed by the IBC
+keepers. Thus, the `OnRecvPacket` callback only needs to worry about making the appropriate state
+changes given the packet data without worrying about whether the packet is valid or not.
+
+Modules may return to the IBC handler an acknowledgement which implements the `Acknowledgement` interface.
+The IBC handler will then commit this acknowledgement of the packet so that a relayer may relay the
+acknowledgement back to the sender module.
+
+The state changes that occurred during this callback will only be written if:
+
+- the acknowledgement was successful as indicated by the `Success()` function of the acknowledgement
+- if the acknowledgement returned is nil indicating that an asynchronous process is occurring
+
+NOTE: Applications which process asynchronous acknowledgements must handle reverting state changes
+when appropriate. Any state changes that occurred during the `OnRecvPacket` callback will be written
+for asynchronous acknowledgements.
+
+> Note that some of the code below is _pseudo code_, indicating what actions need to happen but leaving it up to the developer to implement a custom implementation. E.g. the `DecodePacketData(packet.Data)` function.
+
+```go
+func (im IBCModule) OnRecvPacket(
+ ctx sdk.Context,
+ packet channeltypes.Packet,
+) ibcexported.Acknowledgement {
+ // Decode the packet data
+ packetData := DecodePacketData(packet.Data)
+
+ // do application state changes based on packet data and return the acknowledgement
+ // NOTE: The acknowledgement will indicate to the IBC handler if the application
+ // state changes should be written via the `Success()` function. Application state
+ // changes are only written if the acknowledgement is successful or the acknowledgement
+ // returned is nil indicating that an asynchronous acknowledgement will occur.
+ ack := processPacket(ctx, packet, packetData)
+
+ return ack
+}
+```
+
+Reminder, the `Acknowledgement` interface:
+
+```go
+// Acknowledgement defines the interface used to return
+// acknowledgements in the OnRecvPacket callback.
+type Acknowledgement interface {
+ Success() bool
+ Acknowledgement() []byte
+}
+```
+
+### Acknowledging packets
+
+After a module writes an acknowledgement, a relayer can relay back the acknowledgement to the sender module. The sender module can
+then process the acknowledgement using the `OnAcknowledgementPacket` callback. The contents of the
+acknowledgement is entirely up to the modules on the channel (just like the packet data); however, it
+may often contain information on whether the packet was successfully processed along
+with some additional data that could be useful for remediation if the packet processing failed.
+
+Since the modules are responsible for agreeing on an encoding/decoding standard for packet data and
+acknowledgements, IBC will pass in the acknowledgements as `[]byte` to this callback. The callback
+is responsible for decoding the acknowledgement and processing it.
+
+> Note that some of the code below is _pseudo code_, indicating what actions need to happen but leaving it up to the developer to implement a custom implementation. E.g. the `DecodeAcknowledgement(acknowledgments)` and `processAck(ack)` functions.
+
+```go
+func (im IBCModule) OnAcknowledgementPacket(
+ ctx sdk.Context,
+ packet channeltypes.Packet,
+ acknowledgement []byte,
+) (*sdk.Result, error) {
+ // Decode acknowledgement
+ ack := DecodeAcknowledgement(acknowledgement)
+
+ // process ack
+ res, err := processAck(ack)
+ return res, err
+}
+```
+
+### Timeout packets
+
+If the timeout for a packet is reached before the packet is successfully received or the
+counterparty channel end is closed before the packet is successfully received, then the receiving
+chain can no longer process it. Thus, the sending chain must process the timeout using
+`OnTimeoutPacket` to handle this situation. Again the IBC module will verify that the timeout is
+indeed valid, so our module only needs to implement the state machine logic for what to do once a
+timeout is reached and the packet can no longer be received.
+
+```go
+func (im IBCModule) OnTimeoutPacket(
+ ctx sdk.Context,
+ packet channeltypes.Packet,
+) (*sdk.Result, error) {
+ // do custom timeout logic
+}
+```
diff --git a/docs/ibc/apps/keeper.md b/docs/ibc/apps/keeper.md
new file mode 100644
index 00000000000..6cbba0fbb8f
--- /dev/null
+++ b/docs/ibc/apps/keeper.md
@@ -0,0 +1,88 @@
+
+
+# Keeper
+
+Learn how to implement the IBC Module keeper. {synopsis}
+
+## Pre-requisites Readings
+
+- [IBC Overview](../overview.md)) {prereq}
+- [IBC default integration](../integration.md) {prereq}
+
+In the previous sections, on channel handshake callbacks and port binding in `InitGenesis`, a reference was made to keeper methods that need to be implemented when creating a custom IBC module. Below is an overview of how to define an IBC module's keeper.
+
+> Note that some code has been left out for clarity, to get a full code overview, please refer to [the transfer module's keeper in the ibc-go repo](https://github.com/cosmos/ibc-go/blob/main/modules/apps/transfer/keeper/keeper.go).
+
+```go
+// Keeper defines the IBC app module keeper
+type Keeper struct {
+ storeKey sdk.StoreKey
+ cdc codec.BinaryCodec
+ paramSpace paramtypes.Subspace
+
+ channelKeeper types.ChannelKeeper
+ portKeeper types.PortKeeper
+ scopedKeeper capabilitykeeper.ScopedKeeper
+
+ // ... additional according to custom logic
+}
+
+// NewKeeper creates a new IBC app module Keeper instance
+func NewKeeper(
+ // args
+) Keeper {
+ // ...
+
+ return Keeper{
+ cdc: cdc,
+ storeKey: key,
+ paramSpace: paramSpace,
+
+ channelKeeper: channelKeeper,
+ portKeeper: portKeeper,
+ scopedKeeper: scopedKeeper,
+
+ // ... additional according to custom logic
+ }
+}
+
+// IsBound checks if the IBC app module is already bound to the desired port
+func (k Keeper) IsBound(ctx sdk.Context, portID string) bool {
+ _, ok := k.scopedKeeper.GetCapability(ctx, host.PortPath(portID))
+ return ok
+}
+
+// BindPort defines a wrapper function for the port Keeper's function in
+// order to expose it to module's InitGenesis function
+func (k Keeper) BindPort(ctx sdk.Context, portID string) error {
+ cap := k.portKeeper.BindPort(ctx, portID)
+ return k.ClaimCapability(ctx, cap, host.PortPath(portID))
+}
+
+// GetPort returns the portID for the IBC app module. Used in ExportGenesis
+func (k Keeper) GetPort(ctx sdk.Context) string {
+ store := ctx.KVStore(k.storeKey)
+ return string(store.Get(types.PortKey))
+}
+
+// SetPort sets the portID for the IBC app module. Used in InitGenesis
+func (k Keeper) SetPort(ctx sdk.Context, portID string) {
+ store := ctx.KVStore(k.storeKey)
+ store.Set(types.PortKey, []byte(portID))
+}
+
+// AuthenticateCapability wraps the scopedKeeper's AuthenticateCapability function
+func (k Keeper) AuthenticateCapability(ctx sdk.Context, cap *capabilitytypes.Capability, name string) bool {
+ return k.scopedKeeper.AuthenticateCapability(ctx, cap, name)
+}
+
+// ClaimCapability allows the IBC app module to claim a capability that core IBC
+// passes to it
+func (k Keeper) ClaimCapability(ctx sdk.Context, cap *capabilitytypes.Capability, name string) error {
+ return k.scopedKeeper.ClaimCapability(ctx, cap, name)
+}
+
+// ... additional according to custom logic
+```
diff --git a/docs/ibc/apps/packets_acks.md b/docs/ibc/apps/packets_acks.md
new file mode 100644
index 00000000000..1871eca8915
--- /dev/null
+++ b/docs/ibc/apps/packets_acks.md
@@ -0,0 +1,99 @@
+
+
+# Define packets and acks
+
+Learn how to define custom packet and acknowledgement structs and how to encode and decode them. {synopsis}
+
+## Pre-requisites Readings
+
+- [IBC Overview](../overview.md)) {prereq}
+- [IBC default integration](../integration.md) {prereq}
+
+## Custom packets
+
+Modules connected by a channel must agree on what application data they are sending over the
+channel, as well as how they will encode/decode it. This process is not specified by IBC as it is up
+to each application module to determine how to implement this agreement. However, for most
+applications this will happen as a version negotiation during the channel handshake. While more
+complex version negotiation is possible to implement inside the channel opening handshake, a very
+simple version negotation is implemented in the [ibc-transfer module](https://github.com/cosmos/ibc-go/tree/main/modules/apps/transfer/module.go).
+
+Thus, a module must define its custom packet data structure, along with a well-defined way to
+encode and decode it to and from `[]byte`.
+
+```go
+// Custom packet data defined in application module
+type CustomPacketData struct {
+ // Custom fields ...
+}
+
+EncodePacketData(packetData CustomPacketData) []byte {
+ // encode packetData to bytes
+}
+
+DecodePacketData(encoded []byte) (CustomPacketData) {
+ // decode from bytes to packet data
+}
+```
+
+> Note that the `CustomPacketData` struct is defined in the proto definition and then compiled by the protobuf compiler.
+
+Then a module must encode its packet data before sending it through IBC.
+
+```go
+// Sending custom application packet data
+data := EncodePacketData(customPacketData)
+packet.Data = data
+IBCChannelKeeper.SendPacket(ctx, packet)
+```
+
+A module receiving a packet must decode the `PacketData` into a structure it expects so that it can
+act on it.
+
+```go
+// Receiving custom application packet data (in OnRecvPacket)
+packetData := DecodePacketData(packet.Data)
+// handle received custom packet data
+```
+
+## Acknowledgements
+
+Modules may commit an acknowledgement upon receiving and processing a packet in the case of synchronous packet processing.
+In the case where a packet is processed at some later point after the packet has been received (asynchronous execution), the acknowledgement
+will be written once the packet has been processed by the application which may be well after the packet receipt.
+
+NOTE: Most blockchain modules will want to use the synchronous execution model in which the module processes and writes the acknowledgement
+for a packet as soon as it has been received from the IBC module.
+
+This acknowledgement can then be relayed back to the original sender chain, which can take action
+depending on the contents of the acknowledgement.
+
+Just as packet data was opaque to IBC, acknowledgements are similarly opaque. Modules must pass and
+receive acknowledegments with the IBC modules as byte strings.
+
+Thus, modules must agree on how to encode/decode acknowledgements. The process of creating an
+acknowledgement struct along with encoding and decoding it, is very similar to the packet data
+example above. [ICS 04](https://github.com/cosmos/ibc/blob/master/spec/core/ics-004-channel-and-packet-semantics#acknowledgement-envelope)
+specifies a recommended format for acknowledgements. This acknowledgement type can be imported from
+[channel types](https://github.com/cosmos/ibc-go/tree/main/modules/core/04-channel/types).
+
+While modules may choose arbitrary acknowledgement structs, a default acknowledgement types is provided by IBC [here](https://github.com/cosmos/ibc-go/blob/main/proto/ibc/core/channel/v1/channel.proto):
+
+```protobuf
+// Acknowledgement is the recommended acknowledgement format to be used by
+// app-specific protocols.
+// NOTE: The field numbers 21 and 22 were explicitly chosen to avoid accidental
+// conflicts with other protobuf message formats used for acknowledgements.
+// The first byte of any message with this format will be the non-ASCII values
+// `0xaa` (result) or `0xb2` (error). Implemented as defined by ICS:
+// https://github.com/cosmos/ibc/tree/master/spec/core/ics-004-channel-and-packet-semantics#acknowledgement-envelope
+message Acknowledgement {
+ // response contains either a result or an error and must be non-empty
+ oneof response {
+ bytes result = 21;
+ string error = 22;
+ }
+}
+```
diff --git a/docs/ibc/apps/routing.md b/docs/ibc/apps/routing.md
new file mode 100644
index 00000000000..1095462dcba
--- /dev/null
+++ b/docs/ibc/apps/routing.md
@@ -0,0 +1,36 @@
+
+
+# Routing
+
+## Pre-requisites Readings
+
+- [IBC Overview](../overview.md)) {prereq}
+- [IBC default integration](../integration.md) {prereq}
+
+Learn how to hook a route to the IBC router for the custom IBC module. {synopsis}
+
+As mentioned above, modules must implement the `IBCModule` interface (which contains both channel
+handshake callbacks and packet handling callbacks). The concrete implementation of this interface
+must be registered with the module name as a route on the IBC `Router`.
+
+```go
+// app.go
+func NewApp(...args) *App {
+// ...
+
+// Create static IBC router, add module routes, then set and seal it
+ibcRouter := port.NewRouter()
+
+ibcRouter.AddRoute(ibctransfertypes.ModuleName, transferModule)
+// Note: moduleCallbacks must implement IBCModule interface
+ibcRouter.AddRoute(moduleName, moduleCallbacks)
+
+// Setting Router will finalize all routes by sealing router
+// No more routes can be added
+app.IBCKeeper.SetRouter(ibcRouter)
+
+// ...
+}
+```
diff --git a/docs/ibc/events.md b/docs/ibc/events.md
index b7b28351cab..2c584302566 100644
--- a/docs/ibc/events.md
+++ b/docs/ibc/events.md
@@ -58,7 +58,12 @@ callbacks to IBC applications.
| update_client_proposal | client_type | {clientType} |
| update_client_proposal | consensus_height | {consensusHeight} |
+### UpgradeProposal
+| Type | Attribute Key | Attribute Value |
+|-------------------------|-----------------|-------------------|
+| upgrade_client_proposal | title | {title} |
+| upgrade_client_proposal | height | {height} |
## ICS 03 - Connection
diff --git a/docs/ibc/integration.md b/docs/ibc/integration.md
index 09c1d2d2de9..d2d9f057ea3 100644
--- a/docs/ibc/integration.md
+++ b/docs/ibc/integration.md
@@ -24,7 +24,7 @@ Integrating the IBC module to your SDK-based application is straighforward. The
### Module `BasicManager` and `ModuleAccount` permissions
-The first step is to add the following modules to the `BasicManager`: `x/capability`, `x/ibc`,
+The first step is to add the following modules to the `BasicManager`: `x/capability`, `x/ibc`,
and `x/ibc-transfer`. After that, we need to grant `Minter` and `Burner` permissions to
the `ibc-transfer` `ModuleAccount` to mint and burn relayed tokens.
@@ -72,7 +72,7 @@ type App struct {
### Configure the `Keepers`
-During initialization, besides initializing the IBC `Keepers` (for the `x/ibc`, and
+During initialization, besides initializing the IBC `Keepers` (for the `x/ibc`, and
`x/ibc-transfer` modules), we need to grant specific capabilities through the capability module
`ScopedKeepers` so that we can authenticate the object-capability permissions for each of the IBC
channels.
@@ -221,4 +221,4 @@ different chains. If you want to have a broader view of the changes take a look
## Next {hide}
-Learn about how to create [custom IBC modules](./apps.md) for your application {hide}
+Learn about how to create [custom IBC modules](./apps/apps.md) for your application {hide}
diff --git a/docs/ibc/middleware/develop.md b/docs/ibc/middleware/develop.md
index 705040b1db7..3c0c74a0186 100644
--- a/docs/ibc/middleware/develop.md
+++ b/docs/ibc/middleware/develop.md
@@ -2,7 +2,7 @@
order: 1
-->
-# IBC Middleware
+# IBC middleware
Learn how to write your own custom middleware to wrap an IBC application, and understand how to hook different middleware to IBC base applications to form different IBC application stacks {synopsis}.
@@ -12,11 +12,11 @@ IBC applications are designed to be self-contained modules that implement their
Middleware allows developers to define the extensions as separate modules that can wrap over the base application. This middleware can thus perform its own custom logic, and pass data into the application so that it may run its logic without being aware of the middleware's existence. This allows both the application and the middleware to implement its own isolated logic while still being able to run as part of a single packet flow.
-## Pre-requisite Readings
+## Pre-requisite readings
- [IBC Overview](../overview.md) {prereq}
- [IBC Integration](../integration.md) {prereq}
-- [IBC Application Developer Guide](../apps.md) {prereq}
+- [IBC Application Developer Guide](../apps/apps.md) {prereq}
## Definitions
@@ -26,11 +26,11 @@ Middleware allows developers to define the extensions as separate modules that c
`Base Application`: A base application is an IBC application that does not contain any middleware. It may be nested by 0 or multiple middleware to form an application stack.
-`Application Stack (or stack)`: A stack is the complete set of application logic (middleware(s) + base application) that gets connected to core IBC. A stack may be just a base application, or it may be a series of middlewares that nest a base application.
+`Application Stack (or stack)`: A stack is the complete set of application logic (middleware(s) + base application) that gets connected to core IBC. A stack may be just a base application, or it may be a series of middlewares that nest a base application.
-## Create a custom IBC Middleware
+## Create a custom IBC middleware
-IBC Middleware will wrap over an underlying IBC application and sits between core IBC and the application. It has complete control in modifying any message coming from IBC to the application, and any message coming from the application to core IBC. Thus, middleware must be completely trusted by chain developers who wish to integrate them, however this gives them complete flexibility in modifying the application(s) they wrap.
+IBC middleware will wrap over an underlying IBC application and sits between core IBC and the application. It has complete control in modifying any message coming from IBC to the application, and any message coming from the application to core IBC. Thus, middleware must be completely trusted by chain developers who wish to integrate them, however this gives them complete flexibility in modifying the application(s) they wrap.
#### Interfaces
@@ -48,22 +48,31 @@ type Middleware interface {
// which will call the next middleware until it reaches the core IBC handler.
type ICS4Wrapper interface {
SendPacket(ctx sdk.Context, chanCap *capabilitytypes.Capability, packet exported.Packet) error
- WriteAcknowledgement(ctx sdk.Context, chanCap *capabilitytypes.Capability, packet exported.Packet, ack []byte) error
- GetAppVersion(ctx sdk.Context, portID, channelID string) (string, bool)
+ WriteAcknowledgement(ctx sdk.Context, chanCap *capabilitytypes.Capability, packet exported.Packet, ack exported.Acknowledgement) error
+ GetAppVersion(ctx sdk.Context, portID, channelID string) (string, bool)
}
```
### Implement `IBCModule` interface and callbacks
-The IBCModule is struct that implements the ICS26Interface (`porttypes.IBCModule`). It is recommended to separate these callbacks into a separate file `ibc_module.go`. As will be mentioned in the [integration doc](./integration.md), this struct should be different than the struct that implements `AppModule` in case the middleware maintains its own internal state and processes separate SDK messages.
+The `IBCModule` is a struct that implements the [ICS-26 interface (`porttypes.IBCModule`)](https://github.com/cosmos/ibc-go/blob/main/modules/core/05-port/types/module.go#L11-L106). It is recommended to separate these callbacks into a separate file `ibc_module.go`. As will be mentioned in the [integration section](./integration.md), this struct should be different than the struct that implements `AppModule` in case the middleware maintains its own internal state and processes separate SDK messages.
The middleware must have access to the underlying application, and be called before during all ICS-26 callbacks. It may execute custom logic during these callbacks, and then call the underlying application's callback. Middleware **may** choose not to call the underlying application's callback at all. Though these should generally be limited to error cases.
-In the case where the IBC middleware expects to speak to a compatible IBC middleware on the counterparty chain; they must use the channel handshake to negotiate the middleware version without interfering in the version negotiation of the underlying application.
+In the case where the IBC middleware expects to speak to a compatible IBC middleware on the counterparty chain, they must use the channel handshake to negotiate the middleware version without interfering in the version negotiation of the underlying application.
-Middleware accomplishes this by formatting the version in the following format: `{mw-version}:{app-version}`.
+Middleware accomplishes this by formatting the version in a JSON-encoded string containing the middleware version and the application version. The application version may as well be a JSON-encoded string, possibly including further middleware and app versions, if the application stack consists of multiple milddlewares wrapping a base application. The format of the version is specified in ICS-30 as the following:
-During the handshake callbacks, the middleware can split the version into: `mw-version`, `app-version`. It can do its negotiation logic on `mw-version`, and pass the `app-version` to the underlying application.
+```json
+{
+ "": "",
+ "app_version": ""
+}
+```
+
+The `` key in the JSON struct should be replaced by the actual name of the key for the corresponding middleware (e.g. `fee_version`).
+
+During the handshake callbacks, the middleware can unmarshal the version string and retrieve the middleware and application versions. It can do its negotiation logic on ``, and pass the `` to the underlying application.
The middleware should simply pass the capability in the callback arguments along to the underlying application so that it may be claimed by the base application. The base application will then pass the capability up the stack in order to authenticate an outgoing packet/acknowledgement.
@@ -71,8 +80,11 @@ In the case where the middleware wishes to send a packet or acknowledgment witho
### Handshake callbacks
+#### `OnChanOpenInit`
+
```go
-func (im IBCModule) OnChanOpenInit(ctx sdk.Context,
+func (im IBCModule) OnChanOpenInit(
+ ctx sdk.Context,
order channeltypes.Order,
connectionHops []string,
portID string,
@@ -80,11 +92,41 @@ func (im IBCModule) OnChanOpenInit(ctx sdk.Context,
channelCap *capabilitytypes.Capability,
counterparty channeltypes.Counterparty,
version string,
-) error {
- // core/04-channel/types contains a helper function to split middleware and underlying app version
- middlewareVersion, appVersion = channeltypes.SplitChannelVersion(version)
+) (string, error) {
+ if version != "" {
+ // try to unmarshal JSON-encoded version string and pass
+ // the app-specific version to app callback.
+ // otherwise, pass version directly to app callback.
+ metadata, err := Unmarshal(version)
+ if err != nil {
+ // Since it is valid for fee version to not be specified,
+ // the above middleware version may be for another middleware.
+ // Pass the entire version string onto the underlying application.
+ return im.app.OnChanOpenInit(
+ ctx,
+ order,
+ connectionHops,
+ portID,
+ channelID,
+ channelCap,
+ counterparty,
+ version,
+ )
+ }
+ else {
+ metadata = {
+ // set middleware version to default value
+ MiddlewareVersion: defaultMiddlewareVersion,
+ // allow application to return its default version
+ AppVersion: "",
+ }
+ }
+
doCustomLogic()
- im.app.OnChanOpenInit(
+
+ // if the version string is empty, OnChanOpenInit is expected to return
+ // a default version string representing the version(s) it supports
+ appVersion, err := im.app.OnChanOpenInit(
ctx,
order,
connectionHops,
@@ -92,10 +134,23 @@ func (im IBCModule) OnChanOpenInit(ctx sdk.Context,
channelID,
channelCap,
counterparty,
- appVersion, // note we only pass app version here
+ metadata.AppVersion, // note we only pass app version here
)
+ if err != nil {
+ return "", err
+ }
+
+ version := constructVersion(metadata.MiddlewareVersion, appVersion)
+
+ return version, nil
}
+```
+
+See [here](https://github.com/cosmos/ibc-go/blob/48a6ae512b4ea42c29fdf6c6f5363f50645591a2/modules/apps/29-fee/ibc_middleware.go#L34-L82) an example implementation of this callback for the ICS29 Fee Middleware module.
+#### `OnChanOpenTry`
+
+```go
func OnChanOpenTry(
ctx sdk.Context,
order channeltypes.Order,
@@ -106,12 +161,27 @@ func OnChanOpenTry(
counterparty channeltypes.Counterparty,
counterpartyVersion string,
) (string, error) {
- doCustomLogic()
+ // try to unmarshal JSON-encoded version string and pass
+ // the app-specific version to app callback.
+ // otherwise, pass version directly to app callback.
+ cpMetadata, err := Unmarshal(counterpartyVersion)
+ if err != nil {
+ return app.OnChanOpenTry(
+ ctx,
+ order,
+ connectionHops,
+ portID,
+ channelID,
+ channelCap,
+ counterparty,
+ counterpartyVersion,
+ )
+ }
- // core/04-channel/types contains a helper function to split middleware and underlying app version
- cpMiddlewareVersion, cpAppVersion = channeltypes.SplitChannelVersion(counterpartyVersion)
+ doCustomLogic()
- // call the underlying applications OnChanOpenTry callback
+ // Call the underlying application's OnChanOpenTry callback.
+ // The try callback must select the final app-specific version string and return it.
appVersion, err := app.OnChanOpenTry(
ctx,
order,
@@ -120,35 +190,55 @@ func OnChanOpenTry(
channelID,
channelCap,
counterparty,
- cpAppVersion, // note we only pass counterparty app version here
+ cpMetadata.AppVersion, // note we only pass counterparty app version here
)
if err != nil {
- return err
+ return "", err
}
-
- middlewareVersion := negotiateMiddlewareVersion(cpMiddlewareVersion)
+
+ // negotiate final middleware version
+ middlewareVersion := negotiateMiddlewareVersion(cpMetadata.MiddlewareVersion)
version := constructVersion(middlewareVersion, appVersion)
- return version
+ return version, nil
}
+```
+
+See [here](https://github.com/cosmos/ibc-go/blob/48a6ae512b4ea42c29fdf6c6f5363f50645591a2/modules/apps/29-fee/ibc_middleware.go#L84-L124) an example implementation of this callback for the ICS29 Fee Middleware module.
+
+#### `OnChanOpenAck`
+```go
func OnChanOpenAck(
ctx sdk.Context,
portID,
channelID string,
+ counterpartyChannelID string,
counterpartyVersion string,
) error {
- // core/04-channel/types contains a helper function to split middleware and underlying app version
- middlewareVersion, appVersion = channeltypes.SplitChannelVersion(version)
- if !isCompatible(middlewareVersion) {
+ // try to unmarshal JSON-encoded version string and pass
+ // the app-specific version to app callback.
+ // otherwise, pass version directly to app callback.
+ cpMetadata, err = UnmarshalJSON(counterpartyVersion)
+ if err != nil {
+ return app.OnChanOpenAck(ctx, portID, channelID, counterpartyChannelID, counterpartyVersion)
+ }
+
+ if !isCompatible(cpMetadata.MiddlewareVersion) {
return error
}
doCustomLogic()
-
- // call the underlying applications OnChanOpenTry callback
- app.OnChanOpenAck(ctx, portID, channelID, appVersion)
+
+ // call the underlying application's OnChanOpenTry callback
+ return app.OnChanOpenAck(ctx, portID, channelID, counterpartyChannelID, cpMetadata.AppVersion)
}
+```
+
+See [here](https://github.com/cosmos/ibc-go/blob/48a6ae512b4ea42c29fdf6c6f5363f50645591a2/modules/apps/29-fee/ibc_middleware.go#L126-L152) an example implementation of this callback for the ICS29 Fee Middleware module.
+### `OnChanOpenConfirm`
+
+```go
func OnChanOpenConfirm(
ctx sdk.Context,
portID,
@@ -156,93 +246,151 @@ func OnChanOpenConfirm(
) error {
doCustomLogic()
- app.OnChanOpenConfirm(ctx, portID, channelID)
+ return app.OnChanOpenConfirm(ctx, portID, channelID)
}
+```
+
+See [here](https://github.com/cosmos/ibc-go/blob/48a6ae512b4ea42c29fdf6c6f5363f50645591a2/modules/apps/29-fee/ibc_middleware.go#L154-L162) an example implementation of this callback for the ICS29 Fee Middleware module.
-OnChanCloseInit(
+#### `OnChanCloseInit`
+
+```go
+func OnChanCloseInit(
ctx sdk.Context,
portID,
channelID string,
) error {
doCustomLogic()
- app.OnChanCloseInit(ctx, portID, channelID)
+ return app.OnChanCloseInit(ctx, portID, channelID)
}
+```
+
+See [here](https://github.com/cosmos/ibc-go/blob/48a6ae512b4ea42c29fdf6c6f5363f50645591a2/modules/apps/29-fee/ibc_middleware.go#L164-L187) an example implementation of this callback for the ICS29 Fee Middleware module.
+
+#### `OnChanCloseConfirm`
-OnChanCloseConfirm(
+```go
+func OnChanCloseConfirm(
ctx sdk.Context,
portID,
channelID string,
) error {
doCustomLogic()
- app.OnChanCloseConfirm(ctx, portID, channelID)
+ return app.OnChanCloseConfirm(ctx, portID, channelID)
}
```
-NOTE: Middleware that does not need to negotiate with a counterparty middleware on the remote stack will not implement the version splitting and negotiation, and will simply perform its own custom logic on the callbacks without relying on the counterparty behaving similarly.
+See [here](https://github.com/cosmos/ibc-go/blob/48a6ae512b4ea42c29fdf6c6f5363f50645591a2/modules/apps/29-fee/ibc_middleware.go#L189-L212) an example implementation of this callback for the ICS29 Fee Middleware module.
+
+**NOTE**: Middleware that does not need to negotiate with a counterparty middleware on the remote stack will not implement the version unmarshalling and negotiation, and will simply perform its own custom logic on the callbacks without relying on the counterparty behaving similarly.
### Packet callbacks
The packet callbacks just like the handshake callbacks wrap the application's packet callbacks. The packet callbacks are where the middleware performs most of its custom logic. The middleware may read the packet flow data and perform some additional packet handling, or it may modify the incoming data before it reaches the underlying application. This enables a wide degree of usecases, as a simple base application like token-transfer can be transformed for a variety of usecases by combining it with custom middleware.
+#### `OnRecvPacket`
+
```go
-OnRecvPacket(
+func OnRecvPacket(
ctx sdk.Context,
packet channeltypes.Packet,
+ relayer sdk.AccAddress,
) ibcexported.Acknowledgement {
doCustomLogic(packet)
- ack := app.OnRecvPacket(ctx, packet)
+ ack := app.OnRecvPacket(ctx, packet, relayer)
doCustomLogic(ack) // middleware may modify outgoing ack
return ack
}
+```
+
+See [here](https://github.com/cosmos/ibc-go/blob/48a6ae512b4ea42c29fdf6c6f5363f50645591a2/modules/apps/29-fee/ibc_middleware.go#L214-L237) an example implementation of this callback for the ICS29 Fee Middleware module.
-OnAcknowledgementPacket(
+#### `OnAcknowledgementPacket`
+
+```go
+func OnAcknowledgementPacket(
ctx sdk.Context,
packet channeltypes.Packet,
acknowledgement []byte,
-) (*sdk.Result, error) {
+ relayer sdk.AccAddress,
+) error {
doCustomLogic(packet, ack)
- app.OnAcknowledgementPacket(ctx, packet, ack)
+ return app.OnAcknowledgementPacket(ctx, packet, ack, relayer)
}
+```
+
+See [here](https://github.com/cosmos/ibc-go/blob/48a6ae512b4ea42c29fdf6c6f5363f50645591a2/modules/apps/29-fee/ibc_middleware.go#L239-L292) an example implementation of this callback for the ICS29 Fee Middleware module.
-OnTimeoutPacket(
+#### `OnTimeoutPacket`
+
+```go
+func OnTimeoutPacket(
ctx sdk.Context,
packet channeltypes.Packet,
-) (*sdk.Result, error) {
+ relayer sdk.AccAddress,
+) error {
doCustomLogic(packet)
- app.OnTimeoutPacket(ctx, packet)
+ return app.OnTimeoutPacket(ctx, packet, relayer)
+}
+```
+
+See [here](https://github.com/cosmos/ibc-go/blob/48a6ae512b4ea42c29fdf6c6f5363f50645591a2/modules/apps/29-fee/ibc_middleware.go#L294-L334) an example implementation of this callback for the ICS29 Fee Middleware module.
+
+### ICS-4 wrappers
+
+Middleware must also wrap ICS-4 so that any communication from the application to the `channelKeeper` goes through the middleware first. Similar to the packet callbacks, the middleware may modify outgoing acknowledgements and packets in any way it wishes.
+
+#### `SendPacket`
+
+```go
+func SendPacket(
+ ctx sdk.Context,
+ chanCap *capabilitytypes.Capability,
+ appPacket exported.PacketI,
+) {
+ // middleware may modify packet
+ packet = doCustomLogic(appPacket)
+
+ return ics4Keeper.SendPacket(ctx, chanCap, packet)
}
```
-### ICS-4 Wrappers
+See [here](https://github.com/cosmos/ibc-go/blob/48a6ae512b4ea42c29fdf6c6f5363f50645591a2/modules/apps/29-fee/ibc_middleware.go#L336-L343) an example implementation of this function for the ICS29 Fee Middleware module.
-Middleware must also wrap ICS-4 so that any communication from the application to the channelKeeper goes through the middleware first. Similar to the packet callbacks, the middleware may modify outgoing acknowledgements and packets in any way it wishes.
+#### `WriteAcknowledgement`
```go
// only called for async acks
func WriteAcknowledgement(
- packet channeltypes.Packet,
- acknowledgement []bytes) {
+ ctx sdk.Context,
+ chanCap *capabilitytypes.Capability,
+ packet exported.PacketI,
+ ack exported.Acknowledgement,
+) {
// middleware may modify acknowledgement
- ack_bytes = doCustomLogic(acknowledgement)
+ ack_bytes = doCustomLogic(ack)
return ics4Keeper.WriteAcknowledgement(packet, ack_bytes)
}
+```
-func SendPacket(appPacket channeltypes.Packet) {
- // middleware may modify packet
- packet = doCustomLogic(app_packet)
+See [here](https://github.com/cosmos/ibc-go/blob/48a6ae512b4ea42c29fdf6c6f5363f50645591a2/modules/apps/29-fee/ibc_middleware.go#L345-L353) an example implementation of this function for the ICS29 Fee Middleware module.
- return ics4Keeper.SendPacket(packet)
-}
+#### `GetAppVersion`
-// middleware must return the underlying application version
-func GetAppVersion(ctx sdk.Context, portID, channelID string) (string, bool) {
+```go
+// middleware must return the underlying application version
+func GetAppVersion(
+ ctx sdk.Context,
+ portID,
+ channelID string,
+) (string, bool) {
version, found := ics4Keeper.GetAppVersion(ctx, portID, channelID)
if !found {
return "", false
@@ -261,3 +409,5 @@ func GetAppVersion(ctx sdk.Context, portID, channelID string) (string, bool) {
return metadata.AppVersion, true
}
```
+
+See [here](https://github.com/cosmos/ibc-go/blob/48a6ae512b4ea42c29fdf6c6f5363f50645591a2/modules/apps/29-fee/ibc_middleware.go#L355-L358) an example implementation of this function for the ICS29 Fee Middleware module.
diff --git a/docs/ibc/middleware/integration.md b/docs/ibc/middleware/integration.md
index 68a8de00899..12eb447f8ea 100644
--- a/docs/ibc/middleware/integration.md
+++ b/docs/ibc/middleware/integration.md
@@ -2,7 +2,7 @@
order: 2
-->
-# Integrating IBC Middleware into a Chain
+# Integrating IBC middleware into a chain
Learn how to integrate IBC middleware(s) with a base application to your chain. The following document only applies for Cosmos SDK chains.
@@ -46,18 +46,18 @@ scopedKeeperCustom2 := capabilityKeeper.NewScopedKeeper("custom2")
// initialize base IBC applications
// if you want to create two different stacks with the same base application,
// they must be given different scopedKeepers and assigned different ports.
-transferIBCModule := transfer.NewIBCModule(transferKeeper, scopedKeeperTransfer)
-customIBCModule1 := custom.NewIBCModule(customKeeper, scopedKeeperCustom1, "portCustom1")
-customIBCModule2 := custom.NewIBCModule(customKeeper, scopedKeeperCustom2, "portCustom2")
+transferIBCModule := transfer.NewIBCModule(transferKeeper)
+customIBCModule1 := custom.NewIBCModule(customKeeper, "portCustom1")
+customIBCModule2 := custom.NewIBCModule(customKeeper, "portCustom2")
// create IBC stacks by combining middleware with base application
// NOTE: since middleware2 is stateless it does not require a Keeper
// stack 1 contains mw1 -> mw3 -> transfer
-stack1 := mw1.NewIBCModule(mw1Keeper, mw3.NewIBCModule(mw3Keeper, transferIBCModule))
+stack1 := mw1.NewIBCMiddleware(mw3.NewIBCMiddleware(transferIBCModule, mw3Keeper), mw1Keeper)
// stack 2 contains mw3 -> mw2 -> custom1
-stack2 := mw3.NewIBCModule(mw3Keeper, mw3.NewIBCModule(customIBCModule1))
+stack2 := mw3.NewIBCMiddleware(mw2.NewIBCMiddleware(customIBCModule1), mw3Keeper)
// stack 3 contains mw2 -> mw1 -> custom2
-stack3 := mw2.NewIBCModule(mw1.NewIBCModule(mw1Keeper, customIBCModule2))
+stack3 := mw2.NewIBCMiddleware(mw1.NewIBCMiddleware(customIBCModule2, mw1Keeper))
// associate each stack with the moduleName provided by the underlying scopedKeeper
ibcRouter := porttypes.NewRouter()
diff --git a/docs/ibc/proto-docs.md b/docs/ibc/proto-docs.md
index 4779b7ff042..052af16f90c 100644
--- a/docs/ibc/proto-docs.md
+++ b/docs/ibc/proto-docs.md
@@ -2965,7 +2965,7 @@ value will be ignored by core IBC.
| Field | Type | Label | Description |
| ----- | ---- | ----- | ----------- |
| `port_id` | [string](#string) | | |
-| `previous_channel_id` | [string](#string) | | in the case of crossing hello's, when both chains call OpenInit, we need the channel identifier of the previous channel in state INIT |
+| `previous_channel_id` | [string](#string) | | **Deprecated.** Deprecated: this field is unused. Crossing hello's are no longer supported in core IBC. |
| `channel` | [Channel](#ibc.core.channel.v1.Channel) | | NOTE: the version field within the channel has been deprecated. Its value will be ignored by core IBC. |
| `counterparty_version` | [string](#string) | | |
| `proof_init` | [bytes](#bytes) | | |
@@ -4437,7 +4437,7 @@ connection on Chain B.
| Field | Type | Label | Description |
| ----- | ---- | ----- | ----------- |
| `client_id` | [string](#string) | | |
-| `previous_connection_id` | [string](#string) | | in the case of crossing hello's, when both chains call OpenInit, we need the connection identifier of the previous connection in state INIT |
+| `previous_connection_id` | [string](#string) | | **Deprecated.** Deprecated: this field is unused. Crossing hellos are no longer supported in core IBC. |
| `client_state` | [google.protobuf.Any](#google.protobuf.Any) | | |
| `counterparty` | [Counterparty](#ibc.core.connection.v1.Counterparty) | | |
| `delay_period` | [uint64](#uint64) | | |
diff --git a/docs/ibc/upgrades/developer-guide.md b/docs/ibc/upgrades/developer-guide.md
index d41b3346d4f..73a19b93664 100644
--- a/docs/ibc/upgrades/developer-guide.md
+++ b/docs/ibc/upgrades/developer-guide.md
@@ -36,7 +36,7 @@ Developers must ensure that the new client adopts all of the new Client paramete
Upgrades must adhere to the IBC Security Model. IBC does not rely on the assumption of honest relayers for correctness. Thus users should not have to rely on relayers to maintain client correctness and security (though honest relayers must exist to maintain relayer liveness). While relayers may choose any set of client parameters while creating a new `ClientState`, this still holds under the security model since users can always choose a relayer-created client that suits their security and correctness needs or create a Client with their desired parameters if no such client exists.
-However, when upgrading an existing client, one must keep in mind that there are already many users who depend on this client's particular parameters. We cannot give the upgrading relayer free choice over these parameters once they have already been chosen. This would violate the security model since users who rely on the client would have to rely on the upgrading relayer to maintain the same level of security. Thus, developers must make sure that their upgrade mechanism allows clients to upgrade the chain-specified parameters whenever a chain upgrade changes these parameters (examples in the Tendermint client include `UnbondingPeriod`, `ChainID`, `UpgradePath`, etc.), while ensuring that the relayer submitting the `UpgradeClientMsg` cannot alter the client-chosen parameters that the users are relying upon (examples in Tendermint client include `TrustingPeriod`, `TrustLevel`, `MaxClockDrift`, etc).
+However, when upgrading an existing client, one must keep in mind that there are already many users who depend on this client's particular parameters. We cannot give the upgrading relayer free choice over these parameters once they have already been chosen. This would violate the security model since users who rely on the client would have to rely on the upgrading relayer to maintain the same level of security. Thus, developers must make sure that their upgrade mechanism allows clients to upgrade the chain-specified parameters whenever a chain upgrade changes these parameters (examples in the Tendermint client include `UnbondingPeriod`, `TrustingPeriod`, `ChainID`, `UpgradePath`, etc.), while ensuring that the relayer submitting the `UpgradeClientMsg` cannot alter the client-chosen parameters that the users are relying upon (examples in Tendermint client include `TrustLevel`, `MaxClockDrift`, etc).
Developers should maintain the distinction between Client parameters that are uniform across every valid light client of a chain (chain-chosen parameters), and Client parameters that are customizable by each individual client (client-chosen parameters); since this distinction is necessary to implement the `ZeroCustomFields` method in the `ClientState` interface:
diff --git a/docs/middleware/ics29-fee/end-users.md b/docs/middleware/ics29-fee/end-users.md
new file mode 100644
index 00000000000..0a2514e7722
--- /dev/null
+++ b/docs/middleware/ics29-fee/end-users.md
@@ -0,0 +1,30 @@
+
+
+# For end users
+
+Learn how to incentivize IBC packets using the ICS29 Fee Middleware module. {synopsis}
+
+## Pre-requisite readings
+
+- [Fee Middleware](overview.md) {prereq}
+
+## Summary
+
+Different types of end users:
+
+- CLI users who want to manually incentivize IBC packets
+- Client developers
+
+The Fee Middleware module allows end users to add a 'tip' to each IBC packet which will incentivize relayer operators to relay packets between chains. gRPC endpoints are exposed for client developers as well as a simple CLI for manually incentivizing IBC packets.
+
+## CLI Users
+
+For an in depth guide on how to use the ICS29 Fee Middleware module using the CLI please take a look at the [wiki](https://github.com/cosmos/ibc-go/wiki/Fee-enabled-fungible-token-transfers#asynchronous-incentivization-of-a-fungible-token-transfer) on the `ibc-go` repo.
+
+## Client developers
+
+Client developers can read more about the relevant ICS29 message types in the [Fee messages section](../ics29-fee/msgs.md).
+
+[CosmJS](https://github.com/cosmos/cosmjs) is a useful client library for signing and broadcasting Cosmos SDK messages.
diff --git a/docs/middleware/ics29-fee/events.md b/docs/middleware/ics29-fee/events.md
new file mode 100644
index 00000000000..e0d2ccd471c
--- /dev/null
+++ b/docs/middleware/ics29-fee/events.md
@@ -0,0 +1,37 @@
+
+
+# Events
+
+An overview of all events related to ICS-29 {synopsis}
+
+## `MsgPayPacketFee`, `MsgPayPacketFeeAsync`
+
+| Type | Attribute Key | Attribute Value |
+| ----------------------- | --------------- | --------------- |
+| incentivized_ibc_packet | port_id | {portID} |
+| incentivized_ibc_packet | channel_id | {channelID} |
+| incentivized_ibc_packet | packet_sequence | {sequence} |
+| incentivized_ibc_packet | recv_fee | {recvFee} |
+| incentivized_ibc_packet | ack_fee | {ackFee} |
+| incentivized_ibc_packet | timeout_fee | {timeoutFee} |
+| message | module | fee-ibc |
+
+## `RegisterPayee`
+
+| Type | Attribute Key | Attribute Value |
+| -------------- | ------------- | --------------- |
+| register_payee | relayer | {relayer} |
+| register_payee | payee | {payee} |
+| register_payee | channel_id | {channelID} |
+| message | module | fee-ibc |
+
+## `RegisterCounterpartyPayee`
+
+| Type | Attribute Key | Attribute Value |
+| --------------------------- | ------------------ | ------------------- |
+| register_counterparty_payee | relayer | {relayer} |
+| register_counterparty_payee | counterparty_payee | {counterpartyPayee} |
+| register_counterparty_payee | channel_id | {channelID} |
+| message | module | fee-ibc |
diff --git a/docs/middleware/ics29-fee/fee-distribution.md b/docs/middleware/ics29-fee/fee-distribution.md
index b89a2c9cd78..79f03792566 100644
--- a/docs/middleware/ics29-fee/fee-distribution.md
+++ b/docs/middleware/ics29-fee/fee-distribution.md
@@ -8,7 +8,7 @@ Learn about payee registration for the distribution of packet fees. The followin
## Pre-requisite readings
-* [Fee Middleware](overview.md) {prereq}
+- [Fee Middleware](overview.md) {prereq}
Packet fees are divided into 3 distinct amounts in order to compensate relayer operators for packet relaying on fee enabled IBC channels.
@@ -16,17 +16,23 @@ Packet fees are divided into 3 distinct amounts in order to compensate relayer o
- `AckFee`: The sum of all packet acknowledgement fees distributed to a payee for successful execution of `MsgAcknowledgement`.
- `TimeoutFee`: The sum of all packet timeout fees distributed to a payee for successful execution of `MsgTimeout`.
-## Register a payee address for forward relaying
+## Register a counterparty payee address for forward relaying
+
+As mentioned in [ICS29 Concepts](../ics29-fee/overview.md#concepts), the forward relayer describes the actor who performs the submission of `MsgRecvPacket` on the destination chain.
+Fee distribution for incentivized packet relays takes place on the packet source chain.
+
+> Relayer operators are expected to register a counterparty payee address, in order to be compensated accordingly with `RecvFee`s upon completion of a packet lifecycle.
-As mentioned in [ICS29 Concepts](../ics29-fee/overview.md#concepts), the forward relayer describes the actor who performs the submission of `MsgRecvPacket` on the destination chain.
-Fee distribution for incentivized packet relays takes place on the packet source chain.
-Relayer operators are expected to register a counterparty payee address, in order to be compensated accordingly with `RecvFee`s upon completion of a packet lifecycle.
The counterparty payee address registered on the destination chain is encoded into the packet acknowledgement and communicated as such to the source chain for fee distribution.
-If a counterparty payee is not registered for the forward relayer on the destination chain, the escrowed fees will be refunded upon fee distribution.
+**If a counterparty payee is not registered for the forward relayer on the destination chain, the escrowed fees will be refunded upon fee distribution.**
+
+### Relayer operator actions?
-A transaction must be submitted to the desintation chain including a `CounterpartyPayee` address of an account on the source chain.
+A transaction must be submitted **to the destination chain** including a `CounterpartyPayee` address of an account on the source chain.
The transaction must be signed by the `Relayer`.
+Note: If a module account address is used as the `CounterpartyPayee` it is recommended to [turn off invariant checks](https://github.com/cosmos/ibc-go/blob/71d7480c923f4227453e8a80f51be01ae7ee845e/testing/simapp/app.go#L659) for that module.
+
```go
type MsgRegisterCounterpartyPayee struct {
// unique port identifier
@@ -40,29 +46,38 @@ type MsgRegisterCounterpartyPayee struct {
}
```
-This message is expected to fail if:
-
-- `PortId` is invalid (see [24-host naming requirements](https://github.com/cosmos/ibc/blob/master/spec/core/ics-024-host-requirements/README.md#paths-identifiers-separators).
-- `ChannelId` is invalid (see [24-host naming requirements](https://github.com/cosmos/ibc/blob/master/spec/core/ics-024-host-requirements/README.md#paths-identifiers-separators)).
-- `Relayer` is an invalid address (see [Cosmos SDK Addresses](https://github.com/cosmos/cosmos-sdk/blob/main/docs/basics/accounts.md#Addresses)).
-- `CounterpartyPayee` is empty.
+> This message is expected to fail if:
+>
+> - `PortId` is invalid (see [24-host naming requirements](https://github.com/cosmos/ibc/blob/master/spec/core/ics-024-host-requirements/README.md#paths-identifiers-separators).
+> - `ChannelId` is invalid (see [24-host naming requirements](https://github.com/cosmos/ibc/blob/master/spec/core/ics-024-host-requirements/README.md#paths-identifiers-separators)).
+> - `Relayer` is an invalid address (see [Cosmos SDK Addresses](https://github.com/cosmos/cosmos-sdk/blob/main/docs/basics/accounts.md#Addresses)).
+> - `CounterpartyPayee` is empty.
See below for an example CLI command:
-```
-simd tx ibc-fee register-counterparty-payee transfer channel-0 cosmos1rsp837a4kvtgp2m4uqzdge0zzu6efqgucm0qdh osmo1v5y0tz01llxzf4c2afml8s3awue0ymju22wxx2 --from cosmos1rsp837a4kvtgp2m4uqzdge0zzu6efqgucm0qdh
+```bash
+simd tx ibc-fee register-counterparty-payee transfer channel-0 \
+cosmos1rsp837a4kvtgp2m4uqzdge0zzu6efqgucm0qdh \
+osmo1v5y0tz01llxzf4c2afml8s3awue0ymju22wxx2 \
+--from cosmos1rsp837a4kvtgp2m4uqzdge0zzu6efqgucm0qdh
```
-## Register a payee address for reverse and timeout relaying
+## Register an alternative payee address for reverse and timeout relaying
-As mentioned in [ICS29 Concepts](../ics29-fee/overview.md#concepts), the reverse relayer describes the actor who performs the submission of `MsgAcknowledgement` on the source chain.
+As mentioned in [ICS29 Concepts](../ics29-fee/overview.md#concepts), the reverse relayer describes the actor who performs the submission of `MsgAcknowledgement` on the source chain.
Similarly the timeout relayer describes the actor who performs the submission of `MsgTimeout` (or `MsgTimeoutOnClose`) on the source chain.
-Relayer operators may choose to register an optional payee address, in order to be compensated accordingly with `AckFee`s and `TimeoutFee`s upon completion of a packet life cycle.
+
+> Relayer operators **may choose** to register an optional payee address, in order to be compensated accordingly with `AckFee`s and `TimeoutFee`s upon completion of a packet life cycle.
+
If a payee is not registered for the reverse or timeout relayer on the source chain, then fee distribution assumes the default behaviour, where fees are paid out to the relayer account which delivers `MsgAcknowledgement` or `MsgTimeout`/`MsgTimeoutOnClose`.
-A transaction must be submitted to the source chain including a `Payee` address of an account on the source chain.
+### Relayer operator actions
+
+A transaction must be submitted **to the source chain** including a `Payee` address of an account on the source chain.
The transaction must be signed by the `Relayer`.
+Note: If a module account address is used as the `Payee` it is recommended to [turn off invariant checks](https://github.com/cosmos/ibc-go/blob/71d7480c923f4227453e8a80f51be01ae7ee845e/testing/simapp/app.go#L659) for that module.
+
```go
type MsgRegisterPayee struct {
// unique port identifier
@@ -76,15 +91,18 @@ type MsgRegisterPayee struct {
}
```
-This message is expected to fail if:
-
-- `PortId` is invalid (see [24-host naming requirements](https://github.com/cosmos/ibc/blob/master/spec/core/ics-024-host-requirements/README.md#paths-identifiers-separators).
-- `ChannelId` is invalid (see [24-host naming requirements](https://github.com/cosmos/ibc/blob/master/spec/core/ics-024-host-requirements/README.md#paths-identifiers-separators)).
-- `Relayer` is an invalid address (see [Cosmos SDK Addresses](https://github.com/cosmos/cosmos-sdk/blob/main/docs/basics/accounts.md#Addresses)).
-- `Payee` is an invalid address (see [Cosmos SDK Addresses](https://github.com/cosmos/cosmos-sdk/blob/main/docs/basics/accounts.md#Addresses)).
+> This message is expected to fail if:
+>
+> - `PortId` is invalid (see [24-host naming requirements](https://github.com/cosmos/ibc/blob/master/spec/core/ics-024-host-requirements/README.md#paths-identifiers-separators).
+> - `ChannelId` is invalid (see [24-host naming requirements](https://github.com/cosmos/ibc/blob/master/spec/core/ics-024-host-requirements/README.md#paths-identifiers-separators)).
+> - `Relayer` is an invalid address (see [Cosmos SDK Addresses](https://github.com/cosmos/cosmos-sdk/blob/main/docs/basics/accounts.md#Addresses)).
+> - `Payee` is an invalid address (see [Cosmos SDK Addresses](https://github.com/cosmos/cosmos-sdk/blob/main/docs/basics/accounts.md#Addresses)).
See below for an example CLI command:
-```
-simd tx ibc-fee register-payee transfer channel-0 cosmos1rsp837a4kvtgp2m4uqzdge0zzu6efqgucm0qdh cosmos153lf4zntqt33a4v0sm5cytrxyqn78q7kz8j8x5 --from cosmos1rsp837a4kvtgp2m4uqzdge0zzu6efqgucm0qdh
+```bash
+simd tx ibc-fee register-payee transfer channel-0 \
+cosmos1rsp837a4kvtgp2m4uqzdge0zzu6efqgucm0qdh \
+cosmos153lf4zntqt33a4v0sm5cytrxyqn78q7kz8j8x5 \
+--from cosmos1rsp837a4kvtgp2m4uqzdge0zzu6efqgucm0qdh
```
diff --git a/docs/middleware/ics29-fee/msgs.md b/docs/middleware/ics29-fee/msgs.md
new file mode 100644
index 00000000000..0003d5982ee
--- /dev/null
+++ b/docs/middleware/ics29-fee/msgs.md
@@ -0,0 +1,90 @@
+
+
+# Fee messages
+
+Learn about the different ways to pay for fees, how the fees are paid out and what happens when not enough escrowed fees are available for payout {synopsis}
+
+## Escrowing fees
+
+The fee middleware module exposes two different ways to pay fees for relaying IBC packets:
+
+1. `MsgPayPacketFee`, which enables the escrowing of fees for a packet at the next sequence send and should be combined into one `MultiMsgTx` with the message that will be paid for.
+
+ Note that the `Relayers` field has been set up to allow for an optional whitelist of relayers permitted to receive this fee, however, this feature has not yet been enabled at this time.
+
+ ```go
+ type MsgPayPacketFee struct{
+ // fee encapsulates the recv, ack and timeout fees associated with an IBC packet
+ Fee Fee
+ // the source port unique identifier
+ SourcePortId string
+ // the source channel unique identifer
+ SourceChannelId string
+ // account address to refund fee if necessary
+ Signer string
+ // optional list of relayers permitted to the receive packet fee
+ Relayers []string
+ }
+ ```
+
+ The `Fee` message contained in this synchronous fee payment method configures different fees which will be paid out for `MsgRecvPacket`, `MsgAcknowledgement`, and `MsgTimeout`/`MsgTimeoutOnClose`.
+
+ ```go
+ type Fee struct {
+ RecvFee types.Coins
+ AckFee types.Coins
+ TimeoutFee types.Coins
+ }
+ ```
+
+The diagram below shows the `MultiMsgTx` with the `MsgTransfer` coming from a token transfer message, along with `MsgPayPacketFee`.
+
+![MsgPayPacketFee](../../assets/fee-mw/msgpaypacket.png)
+
+2. `MsgPayPacketFeeAsync`, which enables the asynchronous escrowing of fees for a specified packet:
+
+ Note that a packet can be 'topped up' multiple times with additional fees of any coin denomination by broadcasting multiple `MsgPayPacketFeeAsync` messages.
+
+ ```go
+ type MsgPayPacketFeeAsync struct {
+ // unique packet identifier comprised of the channel ID, port ID and sequence
+ PacketId channeltypes.PacketId
+ // the packet fee associated with a particular IBC packet
+ PacketFee PacketFee
+ }
+ ```
+
+ where the `PacketFee` also specifies the `Fee` to be paid as well as the refund address for fees which are not paid out
+
+ ```go
+ type PacketFee struct {
+ Fee Fee
+ RefundAddress string
+ Relayers []string
+ }
+ ```
+
+The diagram below shows how multiple `MsgPayPacketFeeAsync` can be broadcasted asynchronously. Escrowing of the fee associated with a packet can be carried out by any party because ICS-29 does not dictate a particular fee payer. In fact, chains can choose to simply not expose this fee payment to end users at all and rely on a different module account or even the community pool as the source of relayer incentives.
+
+![MsgPayPacketFeeAsync](../../assets/fee-mw/paypacketfeeasync.png)
+
+Please see our [wiki](https://github.com/cosmos/ibc-go/wiki/Fee-enabled-fungible-token-transfers) for example flows on how to use these messages to incentivise a token transfer channel using a CLI.
+
+## Paying out the escrowed fees
+
+Following diagram takes a look at the packet flow for an incentivized token transfer and investigates the several scenario's for paying out the escrowed fees. We assume that the relayers have registered their counterparty address, detailed in the [Fee distribution section](../ics29-fee/fee-distribution.md).
+
+![packet-flow-fee](../../assets/fee-mw/feeflow.png)
+
+- In the case of a successful transaction, `RecvFee` will be paid out to the designated counterparty payee address which has been registered on the receiver chain and sent back with the `MsgAcknowledgement`, `AckFee` will be paid out to the relayer address which has submitted the `MsgAcknowledgement` on the sending chain (or the registered payee in case one has been registered for the relayer address), and `TimeoutFee` will be reimbursed to the account which escrowed the fee.
+- In case of a timeout transaction, `RecvFee` and `AckFee` will be reimbursed. The `TimeoutFee` will be paid to the `Timeout Relayer` (who submits the timeout message to the source chain).
+
+> Please note that fee payments are built on the assumption that sender chains are the source of incentives — the chain that sends the packets is the same chain where fee payments will occur -- please see the [Fee distribution section](../ics29-fee/fee-distribution.md) to understand the flow for registering payee and counterparty payee (fee receiving) addresses.
+
+## A locked fee middleware module
+
+The fee middleware module can become locked if the situation arises that the escrow account for the fees does not have sufficient funds to pay out the fees which have been escrowed for each packet. _This situation indicates a severe bug._ In this case, the fee module will be locked until manual intervention fixes the issue.
+
+> A locked fee module will simply skip fee logic and continue on to the underlying packet flow. A channel with a locked fee module will temporarily function as a fee disabled channel, and the locking of a fee module will not affect the continued flow of packets over the channel.
diff --git a/docs/middleware/ics29-fee/overview.md b/docs/middleware/ics29-fee/overview.md
index e23261c712e..bf1e9ba6dc4 100644
--- a/docs/middleware/ics29-fee/overview.md
+++ b/docs/middleware/ics29-fee/overview.md
@@ -8,17 +8,29 @@ Learn about what the Fee Middleware module is, and how to build custom modules t
## What is the Fee Middleware module?
-IBC does not depend on relayer operators for transaction verification. However, the relayer infrastructure ensures liveness of the Interchain network — operators listen for packets sent through channels opened between chains, and perform the vital service of ferrying these packets (and proof of the transaction on the sending chain/receipt on the receiving chain) to the clients on each side of the channel.
+IBC does not depend on relayer operators for transaction verification. However, the relayer infrastructure ensures liveness of the Interchain network — operators listen for packets sent through channels opened between chains, and perform the vital service of ferrying these packets (and proof of the transaction on the sending chain/receipt on the receiving chain) to the clients on each side of the channel.
-Though relaying is permissionless and completely decentralized and accessible, it does come with operational costs. Running full nodes to query transaction proofs and paying for transaction fees associated with IBC packets are two of the primary cost burdens which have driven the overall discussion on a general, in-protocol incentivization mechanism for relayers.
+Though relaying is permissionless and completely decentralized and accessible, it does come with operational costs. Running full nodes to query transaction proofs and paying for transaction fees associated with IBC packets are two of the primary cost burdens which have driven the overall discussion on **a general, in-protocol incentivization mechanism for relayers**.
-Initially, a [simple proposal](https://github.com/cosmos/ibc/pull/577/files) was created to incentivize relaying on ICS20 token transfers on the destination chain. However, the proposal was specific to ICS20 token transfers and would have to be reimplemented in this format on every other IBC application module.
+Initially, a [simple proposal](https://github.com/cosmos/ibc/pull/577/files) was created to incentivize relaying on ICS20 token transfers on the destination chain. However, the proposal was specific to ICS20 token transfers and would have to be reimplemented in this format on every other IBC application module.
After much discussion, the proposal was expanded to a [general incentivisation design](https://github.com/cosmos/ibc/tree/master/spec/app/ics-029-fee-payment) that can be adopted by any ICS application protocol as [middleware](../../ibc/middleware/develop.md).
-## Concepts
+## Concepts
-ICS29 fee payments in this middleware design are built on the assumption that sender chains are the source of incentives — the chain on which packets are sent is the same chain that fee distribution to relayer operators takes place. Therefore, the middleware enables the registering of addresses associated with each party involved in relaying the packet on the source chain, and the escrowing of fees by any party which will be paid out to each party on completion of the packet lifecycle. This registration process can be automated on start up of relayer infrastructure.
+ICS29 fee payments in this middleware design are built on the assumption that sender chains are the source of incentives — the chain on which packets are incentivized is the chain that distributes fees to relayer operators. However, as part of the IBC packet flow, messages have to be submitted on both sender and destination chains. This introduces the requirement of a mapping of relayer operator's addresses on both chains.
+
+> To achieve the stated requirements, the **fee middleware module has two main groups of functionality**:
+
+- Registering of relayer addresses associated with each party involved in relaying the packet on the source chain. This registration process can be automated on start up of relayer infrastructure and happens only once, not every packet flow.
+
+ This is described in the [Fee distribution section](../ics29-fee/fee-distribution.md).
+
+- Escrowing fees by any party which will be paid out to each rightful party on completion of the packet lifecycle.
+
+ This is described in the [Fee messages section](../ics29-fee/msgs.md).
+
+We complete the introduction by giving a list of definitions of relevant terminolgy.
`Forward relayer`: The relayer that submits the `MsgRecvPacket` message for a given packet (on the destination chain).
diff --git a/docs/migrations/support-denoms-with-slashes.md b/docs/migrations/support-denoms-with-slashes.md
index fdbcfa64209..3bc3d1b6b83 100644
--- a/docs/migrations/support-denoms-with-slashes.md
+++ b/docs/migrations/support-denoms-with-slashes.md
@@ -1,4 +1,4 @@
-# Migrating from not supporing base denoms with slashes to supporting base denoms with slashes
+# Migrating from not supporting base denoms with slashes to supporting base denoms with slashes
This document is intended to highlight significant changes which may require more information than presented in the CHANGELOG.
Any changes that must be done by a user of ibc-go should be documented here.
@@ -9,7 +9,7 @@ There are four sections based on the four potential user groups of this document
- Relayers
- IBC Light Clients
-This document is necessary when chains are upgrading from a version that does not support base denoms with slashes (e.g. v3.0.0) to a version that does (e.g. v3.1.0). All versions of ibc-go smaller than v1.5.0 for the v1.x release line, v2.3.0 for the v2.x release line, and v3.1.0 for the v3.x release line do *NOT** support IBC token transfers of coins whose base denoms contain slashes. Therefore the in-place of genesis migration described in this document are required when upgrading.
+This document is necessary when chains are upgrading from a version that does not support base denoms with slashes (e.g. v3.0.0) to a version that does (e.g. v3.2.0). All versions of ibc-go smaller than v1.5.0 for the v1.x release line, v2.3.0 for the v2.x release line, and v3.1.0 for the v3.x release line do **NOT** support IBC token transfers of coins whose base denoms contain slashes. Therefore the in-place of genesis migration described in this document are required when upgrading.
If a chain receives coins of a base denom with slashes before it upgrades to supporting it, the receive may pass however the trace information will be incorrect.
@@ -28,41 +28,17 @@ The transfer module will now support slashes in base denoms, so we must iterate
### Upgrade Proposal
```go
-// Here the upgrade name is the upgrade name set by the chain
-app.UpgradeKeeper.SetUpgradeHandler("supportSlashedDenomsUpgrade",
+app.UpgradeKeeper.SetUpgradeHandler("MigrateTraces",
func(ctx sdk.Context, _ upgradetypes.Plan, fromVM module.VersionMap) (module.VersionMap, error) {
- // list of traces that must replace the old traces in store
- var newTraces []ibctransfertypes.DenomTrace
- app.TransferKeeper.IterateDenomTraces(ctx,
- func(dt ibctransfertypes.DenomTrace) bool {
- // check if the new way of splitting FullDenom
- // into Trace and BaseDenom passes validation and
- // is the same as the current DenomTrace.
- // If it isn't then store the new DenomTrace in the list of new traces.
- newTrace := ibctransfertypes.ParseDenomTrace(dt.GetFullDenomPath())
- if err := newTrace.Validate(); err == nil && !equalTraces(newTrace, dt) {
- newTraces = append(newTraces, newTrace)
- }
-
- return false
- })
-
- // replace the outdated traces with the new trace information
- for _, nt := range newTraces {
- app.TransferKeeper.SetDenomTrace(ctx, nt)
- }
-
+ // transfer module consensus version has been bumped to 2
return app.mm.RunMigrations(ctx, app.configurator, fromVM)
})
-
-func equalTraces(dtA, dtB ibctransfertypes.DenomTrace) bool {
- return dtA.BaseDenom == dtB.BaseDenom && dtA.Path == dtB.Path
-}
+
```
This is only necessary if there are denom traces in the store with incorrect trace information from previously received coins that had a slash in the base denom. However, it is recommended that any chain upgrading to support base denominations with slashes runs this code for safety.
-For a more detailed sample, please check out the code changes in [this pull request](https://github.com/cosmos/ibc-go/pull/1527).
+For a more detailed sample, please check out the code changes in [this pull request](https://github.com/cosmos/ibc-go/pull/1680).
### Genesis Migration
diff --git a/docs/migrations/v3-to-v4.md b/docs/migrations/v3-to-v4.md
index 49f311a844e..bdf8654dcb7 100644
--- a/docs/migrations/v3-to-v4.md
+++ b/docs/migrations/v3-to-v4.md
@@ -18,6 +18,35 @@ No genesis or in-place migrations required when upgrading from v1 or v2 of ibc-g
## Chains
+### Migration to fix support for base denoms with slashes
+
+As part of [v1.5.0](https://github.com/cosmos/ibc-go/releases/tag/v1.5.0), [v2.3.0](https://github.com/cosmos/ibc-go/releases/tag/v2.3.0) and [v3.1.0](https://github.com/cosmos/ibc-go/releases/tag/v3.1.0) some [migration handler code sample was documented](https://github.com/cosmos/ibc-go/blob/main/docs/migrations/support-denoms-with-slashes.md#upgrade-proposal) that needs to run in order to correct the trace information of coins transferred using ICS20 whose base denom contains slashes.
+
+Based on feedback from the community we add now an improved solution to run the same migration that does not require copying a large piece of code over from the migration document, but instead requires only adding a one-line upgrade handler.
+
+If the chain will migrate to supporting base denoms with slashes, it must set the appropriate params during the execution of the upgrade handler in `app.go`:
+```go
+app.UpgradeKeeper.SetUpgradeHandler("MigrateTraces",
+ func(ctx sdk.Context, _ upgradetypes.Plan, fromVM module.VersionMap) (module.VersionMap, error) {
+ // transfer module consensus version has been bumped to 2
+ return app.mm.RunMigrations(ctx, app.configurator, fromVM)
+ })
+
+```
+
+If a chain receives coins of a base denom with slashes before it upgrades to supporting it, the receive may pass however the trace information will be incorrect.
+
+E.g. If a base denom of `testcoin/testcoin/testcoin` is sent to a chain that does not support slashes in the base denom, the receive will be successful. However, the trace information stored on the receiving chain will be: `Trace: "transfer/{channel-id}/testcoin/testcoin", BaseDenom: "testcoin"`.
+
+This incorrect trace information must be corrected when the chain does upgrade to fully supporting denominations with slashes.
+
+## IBC Apps
+
+### ICS03 - Connection
+
+Crossing hellos have been removed from 03-connection handshake negotiation.
+`PreviousConnectionId` in `MsgConnectionOpenTry` has been deprecated and is no longer used by core IBC.
+
### ICS04 - Channel
The `WriteAcknowledgement` API now takes the `exported.Acknowledgement` type instead of passing in the acknowledgement byte array directly.
@@ -26,11 +55,19 @@ This is an API breaking change and as such IBC application developers will have
The `OnChanOpenInit` application callback has been modified.
The return signature now includes the application version as detailed in the latest IBC [spec changes](https://github.com/cosmos/ibc/pull/629).
+The `NewErrorAcknowledgement` method signature has changed.
+It now accepts an `error` rather than a `string`. This was done in order to prevent accidental state changes.
+All error acknowledgements now contain a deterministic ABCI code and error message. It is the responsibility of the application developer to emit error details in events.
+
+Crossing hellos have been removed from 04-channel handshake negotiation.
+IBC Applications no longer need to account from already claimed capabilities in the `OnChanOpenTry` callback. The capability provided by core IBC must be able to be claimed with error.
+`PreviousChannelId` in `MsgChannelOpenTry` has been deprecated and is no longer used by core IBC.
+
### ICS27 - Interchain Accounts
The `RegisterInterchainAccount` API has been modified to include an additional `version` argument. This change has been made in order to support ICS29 fee middleware, for relayer incentivization of ICS27 packets.
Consumers of the `RegisterInterchainAccount` are now expected to build the appropriate JSON encoded version string themselves and pass it accordingly.
-This should be constructed within the interchain accounts authentication module which leverages the APIs exposed via the interchain accounts `controllerKeeper`.
+This should be constructed within the interchain accounts authentication module which leverages the APIs exposed via the interchain accounts `controllerKeeper`. If an empty string is passed in the `version` argument, then the version will be initialized to a default value in the `OnChanOpenInit` callback of the controller's handler, so that channel handshake can proceed.
The following code snippet illustrates how to construct an appropriate interchain accounts `Metadata` and encode it as a JSON bytestring:
@@ -87,3 +124,5 @@ if err := k.icaControllerKeeper.RegisterInterchainAccount(ctx, msg.ConnectionId,
## Relayers
When using the `DenomTrace` gRPC, the full IBC denomination with the `ibc/` prefix may now be passed in.
+
+Crossing hellos are no longer supported by core IBC for 03-connection and 04-channel. The handshake should be completed in the logical 4 step process (INIT, TRY, ACK, CONFIRM).
diff --git a/docs/roadmap/roadmap.md b/docs/roadmap/roadmap.md
index 3ddc67399c7..eaf416adfb9 100644
--- a/docs/roadmap/roadmap.md
+++ b/docs/roadmap/roadmap.md
@@ -4,55 +4,54 @@ order: 1
# Roadmap ibc-go
-_Lastest update: March 31, 2022_
+_Lastest update: July 7, 2022_
This document endeavours to inform the wider IBC community about plans and priorities for work on ibc-go by the team at Interchain GmbH. It is intended to broadly inform all users of ibc-go, including developers and operators of IBC, relayer, chain and wallet applications.
This roadmap should be read as a high-level guide, rather than a commitment to schedules and deliverables. The degree of specificity is inversely proportional to the timeline. We will update this document periodically to reflect the status and plans.
-## Q2 - 2022
+## Q3 - 2022
At a high level we will focus on:
-- Finishing the implementation of [relayer incentivisation](https://github.com/orgs/cosmos/projects/7/views/8).
-- Finishing the [refactoring of 02-client](https://github.com/cosmos/ibc-go/milestone/16).
-- Finishing the upgrade to Cosmos SDK v0.46 and Tendermint v0.35.
-- Implementing and testing the changes needed to support the [transtion to SMT storage](https://github.com/cosmos/ibc-go/milestone/21) in the Cosmos SDK.
-- Desiging the implementation and scoping the engineering work for [channel upgradability](https://github.com/cosmos/ibc/blob/master/spec/core/ics-004-channel-and-packet-semantics/UPGRADES.md).
-- Improving the project's documentation and writing guides for [light client](https://github.com/cosmos/ibc-go/issues/59) and middleware implementation.
-- Working on [core backlog issues](https://github.com/cosmos/ibc-go/milestone/8).
-- Spending time on expanding and deepening our knowledge of IBC, but also other parts of the Cosmos stack.
-- And last, but not least, onboarding new members to the team.
+### Features
-For a detail view of each iteration's planned work, please check out our [project board](https://github.com/orgs/cosmos/projects/7).
+- Releasing [v4.0.0](https://github.com/cosmos/ibc-go/milestone/26), which includes the ICS-29 Fee Middleware module.
+- Finishing and releasing the [refactoring of 02-client](https://github.com/cosmos/ibc-go/milestone/16). This refactor will make the development of light clients easier.
+- Starting the implementation of channel upgradability (see [epic](https://github.com/cosmos/ibc-go/issues/1599) and [alpha milestone](https://github.com/cosmos/ibc-go/milestone/29)) with the goal of cutting an alpha1 pre-release by the end of the quarter. Channel upgradability will allow chains to renegotiate an existing channel to take advantage of new features without having to create a new channel, thus preserving all existing packet state processed on the channel.
+- Implementing the new [`ORDERED_ALLOW_TIMEOUT` channel type](https://github.com/cosmos/ibc-go/milestone/31) and hopefully releasing it as well. This new channel type will allow packets on an ordered channel to timeout without causing the closure of the channel.
-### Release schedule
+### Testing and infrastructure
+
+- Adding [automated e2e tests](https://github.com/cosmos/ibc-go/milestone/32) to the repo's CI.
-#### **April**
+### Documentation and backlog
-In the first half of the month we will probably cut:
+- Finishing and releasing the upgrade to Cosmos SDK v0.46.
+- Writing the [light client implementation guide](https://github.com/cosmos/ibc-go/issues/59).
+- Working on [core backlog issues](https://github.com/cosmos/ibc-go/milestone/28).
+- Depending on the timeline of the Cosmos SDK, implementing and testing the changes needed to support the [transtion to SMT storage](https://github.com/cosmos/ibc-go/milestone/21).
-- Alpha/beta pre-releases with the upgrade to SDK 0.46 and Tendermint v0.35.
-- [Alpha](https://github.com/cosmos/ibc-go/milestone/5) pre-release with the implementation of relayer incentivisation.
+We have also received a lot of feedback to improve Interchain Accounts and we might also work on a few things, but will depend on priorities and availability.
-In the second half, and depending on the date of the final release of Cosmos SDK 0.46, we will probably cut the final release with the upgrade to SDK 0.46 and Tendermint v0.35, and also a [beta](https://github.com/cosmos/ibc-go/milestone/23) pre-release with the implementation of relayer incentivisation.
+For a detail view of each iteration's planned work, please check out our [project board](https://github.com/orgs/cosmos/projects/7).
-In the second half of the month we also plan to do a second internal audit of the implementation of relayer incentivisation, and issues will most likely will be created from the audit. Depending on the nature and type of the issues we create, those would be released in a second beta pre-release or in a [release candidate](https://github.com/cosmos/ibc-go/milestone/24).
+### Release schedule
-#### **May**
+#### **July**
-In the first half we will probably start cutting release candidates with relayer incentivisation and the 02-client refactor. Final release would most likely come out at the end of the month or beginning of June.
+We will probably cut at least one more release candidate of v4.0.0 before the final release, which should happen around the end of the month.
-#### **June**
+For the Rho upgrade of the Cosmos Hub we will also release a new minor version of v3 with SDK 0.46.
-We will probably cut at the end of the month or beginning of Q3 patch or minor releases on all the supported release lines with the [small features and core improvements](https://github.com/cosmos/ibc-go/milestone/8) that we work on during the quarter.
+#### **August**
-## Q3 - 2022
+In the first half we will probably start cutting release candidates for the 02-client refactor. Final release would most likely come out at the end of the month or beginning of September.
-We will most likely start the implementation of [channel upgradability](https://github.com/cosmos/ibc/blob/master/spec/core/ics-004-channel-and-packet-semantics/UPGRADES.md). At the end of Q2 or maybe beginning of Q3 we might also work on designing the implementation and scoping the engineering work to add support for [ordered channels that can timeout](https://github.com/cosmos/ibc/pull/636), and we could potentially work on this feature also in Q3.
+#### **September**
-We will also probably do an audit of the implementation of the [CCV application](https://github.com/cosmos/interchain-security/tree/main/x/ccv) for Interchain Security.
+We might cut some pre-releases for the new channel type, and by the end of the month we expect to cut the first alpha pre-release for channel upgradability.
-### Release schedule
+## Q4 - 2022
-In this quarter we will make the final release to support the migration to SMT storage.
\ No newline at end of file
+We will continue the implementation and cut the final release of [channel upgradability](https://github.com/cosmos/ibc/blob/master/spec/core/ics-004-channel-and-packet-semantics/UPGRADES.md). At the end of Q3 or maybe beginning of Q4 we might also work on designing the implementation and scoping the engineering work to add support for [multihop channels](https://github.com/cosmos/ibc/pull/741/files), so that we could start the implementation of this feature during Q4 (but this is still be decided).
diff --git a/e2e/Makefile b/e2e/Makefile
new file mode 100644
index 00000000000..95a0fa5b6a2
--- /dev/null
+++ b/e2e/Makefile
@@ -0,0 +1,13 @@
+DOCKER := $(shell which docker)
+TEST_CONTAINERS=$(shell docker ps --filter "label=ibc-test" -a -q)
+
+cleanup-ibc-test-containers:
+ for id in $(TEST_CONTAINERS) ; do \
+ $(DOCKER) stop $$id ; \
+ $(DOCKER) rm $$id ; \
+ done
+
+e2e-test: cleanup-ibc-test-containers
+ ./scripts/run-e2e.sh $(suite) $(test)
+
+.PHONY: cleanup-ibc-test-containers e2e-test
diff --git a/e2e/fee_middleware_test.go b/e2e/fee_middleware_test.go
new file mode 100644
index 00000000000..e6207f5d729
--- /dev/null
+++ b/e2e/fee_middleware_test.go
@@ -0,0 +1,439 @@
+package e2e
+
+import (
+ "context"
+ "testing"
+ "time"
+
+ sdk "github.com/cosmos/cosmos-sdk/types"
+ "github.com/strangelove-ventures/ibctest/broadcast"
+ "github.com/strangelove-ventures/ibctest/chain/cosmos"
+ "github.com/strangelove-ventures/ibctest/ibc"
+ "github.com/strangelove-ventures/ibctest/test"
+ "github.com/stretchr/testify/suite"
+
+ "e2e/testsuite"
+ "e2e/testvalues"
+
+ feetypes "github.com/cosmos/ibc-go/v4/modules/apps/29-fee/types"
+ transfertypes "github.com/cosmos/ibc-go/v4/modules/apps/transfer/types"
+ clienttypes "github.com/cosmos/ibc-go/v4/modules/core/02-client/types"
+ channeltypes "github.com/cosmos/ibc-go/v4/modules/core/04-channel/types"
+)
+
+func TestFeeMiddlewareTestSuite(t *testing.T) {
+ suite.Run(t, new(FeeMiddlewareTestSuite))
+}
+
+type FeeMiddlewareTestSuite struct {
+ testsuite.E2ETestSuite
+}
+
+// RegisterCounterPartyPayee broadcasts a MsgRegisterCounterpartyPayee message.
+func (s *FeeMiddlewareTestSuite) RegisterCounterPartyPayee(ctx context.Context, chain *cosmos.CosmosChain,
+ user broadcast.User, portID, channelID, relayerAddr, counterpartyPayeeAddr string) (sdk.TxResponse, error) {
+ msg := feetypes.NewMsgRegisterCounterpartyPayee(portID, channelID, relayerAddr, counterpartyPayeeAddr)
+ return s.BroadcastMessages(ctx, chain, user, msg)
+}
+
+// QueryCounterPartyPayee queries the counterparty payee of the given chain and relayer address on the specified channel.
+func (s *FeeMiddlewareTestSuite) QueryCounterPartyPayee(ctx context.Context, chain ibc.Chain, relayerAddress, channelID string) (string, error) {
+ queryClient := s.GetChainGRCPClients(chain).FeeQueryClient
+ res, err := queryClient.CounterpartyPayee(ctx, &feetypes.QueryCounterpartyPayeeRequest{
+ ChannelId: channelID,
+ Relayer: relayerAddress,
+ })
+
+ if err != nil {
+ return "", err
+ }
+ return res.CounterpartyPayee, nil
+}
+
+// PayPacketFeeAsync broadcasts a MsgPayPacketFeeAsync message.
+func (s *FeeMiddlewareTestSuite) PayPacketFeeAsync(
+ ctx context.Context,
+ chain *cosmos.CosmosChain,
+ user broadcast.User,
+ packetID channeltypes.PacketId,
+ packetFee feetypes.PacketFee,
+) (sdk.TxResponse, error) {
+ msg := feetypes.NewMsgPayPacketFeeAsync(packetID, packetFee)
+ return s.BroadcastMessages(ctx, chain, user, msg)
+}
+
+// QueryIncentivizedPacketsForChannel queries the incentivized packets on the specified channel.
+func (s *FeeMiddlewareTestSuite) QueryIncentivizedPacketsForChannel(
+ ctx context.Context,
+ chain *cosmos.CosmosChain,
+ portId,
+ channelId string,
+) ([]*feetypes.IdentifiedPacketFees, error) {
+ queryClient := s.GetChainGRCPClients(chain).FeeQueryClient
+ res, err := queryClient.IncentivizedPacketsForChannel(ctx, &feetypes.QueryIncentivizedPacketsForChannelRequest{
+ PortId: portId,
+ ChannelId: channelId,
+ })
+ if err != nil {
+ return nil, err
+ }
+ return res.IncentivizedPackets, err
+}
+
+func (s *FeeMiddlewareTestSuite) TestMsgPayPacketFee_AsyncSingleSender_Succeeds() {
+ t := s.T()
+ ctx := context.TODO()
+
+ relayer, channelA := s.SetupChainsRelayerAndChannel(ctx, feeMiddlewareChannelOptions())
+ chainA, chainB := s.GetChains()
+
+ var (
+ chainADenom = chainA.Config().Denom
+ testFee = testvalues.DefaultFee(chainADenom)
+ chainATx ibc.Tx
+ payPacketFeeTxResp sdk.TxResponse
+ )
+
+ chainAWallet := s.CreateUserOnChainA(ctx, testvalues.StartingTokenAmount)
+
+ t.Run("relayer wallets recovered", func(t *testing.T) {
+ err := s.RecoverRelayerWallets(ctx, relayer)
+ s.Require().NoError(err)
+ })
+
+ chainARelayerWallet, chainBRelayerWallet, err := s.GetRelayerWallets(relayer)
+ t.Run("relayer wallets fetched", func(t *testing.T) {
+ s.Require().NoError(err)
+ })
+
+ s.Require().NoError(test.WaitForBlocks(ctx, 1, chainA, chainB), "failed to wait for blocks")
+
+ _, chainBRelayerUser := s.GetRelayerUsers(ctx)
+
+ t.Run("register counter party payee", func(t *testing.T) {
+ resp, err := s.RegisterCounterPartyPayee(ctx, chainB, chainBRelayerUser, channelA.Counterparty.PortID, channelA.Counterparty.ChannelID, chainBRelayerWallet.Address, chainARelayerWallet.Address)
+ s.Require().NoError(err)
+ s.AssertValidTxResponse(resp)
+ })
+
+ t.Run("verify counter party payee", func(t *testing.T) {
+ address, err := s.QueryCounterPartyPayee(ctx, chainB, chainBRelayerWallet.Address, channelA.Counterparty.ChannelID)
+ s.Require().NoError(err)
+ s.Require().Equal(chainARelayerWallet.Address, address)
+ })
+
+ walletAmount := ibc.WalletAmount{
+ Address: chainAWallet.Bech32Address(chainB.Config().Bech32Prefix), // destination address
+ Denom: chainADenom,
+ Amount: testvalues.IBCTransferAmount,
+ }
+
+ t.Run("send IBC transfer", func(t *testing.T) {
+ chainATx, err = chainA.SendIBCTransfer(ctx, channelA.ChannelID, chainAWallet.KeyName, walletAmount, nil)
+ s.Require().NoError(err)
+ s.Require().NoError(chainATx.Validate(), "chain-a ibc transfer tx is invalid")
+ })
+
+ t.Run("tokens are escrowed", func(t *testing.T) {
+ actualBalance, err := s.GetChainANativeBalance(ctx, chainAWallet)
+ s.Require().NoError(err)
+
+ expected := testvalues.StartingTokenAmount - walletAmount.Amount
+ s.Require().Equal(expected, actualBalance)
+ })
+
+ t.Run("pay packet fee", func(t *testing.T) {
+ t.Run("no incentivized packets", func(t *testing.T) {
+ packets, err := s.QueryIncentivizedPacketsForChannel(ctx, chainA, channelA.PortID, channelA.ChannelID)
+ s.Require().NoError(err)
+ s.Require().Empty(packets)
+ })
+
+ packetId := channeltypes.NewPacketId(channelA.PortID, channelA.ChannelID, 1)
+ packetFee := feetypes.NewPacketFee(testFee, chainAWallet.Bech32Address(chainA.Config().Bech32Prefix), nil)
+
+ t.Run("should succeed", func(t *testing.T) {
+ payPacketFeeTxResp, err = s.PayPacketFeeAsync(ctx, chainA, chainAWallet, packetId, packetFee)
+ s.Require().NoError(err)
+ s.AssertValidTxResponse(payPacketFeeTxResp)
+ })
+
+ t.Run("there should be incentivized packets", func(t *testing.T) {
+ packets, err := s.QueryIncentivizedPacketsForChannel(ctx, chainA, channelA.PortID, channelA.ChannelID)
+ s.Require().NoError(err)
+ s.Require().Len(packets, 1)
+ actualFee := packets[0].PacketFees[0].Fee
+
+ s.Require().True(actualFee.RecvFee.IsEqual(testFee.RecvFee))
+ s.Require().True(actualFee.AckFee.IsEqual(testFee.AckFee))
+ s.Require().True(actualFee.TimeoutFee.IsEqual(testFee.TimeoutFee))
+ })
+
+ t.Run("balance should be lowered by sum of recv ack and timeout", func(t *testing.T) {
+ // The balance should be lowered by the sum of the recv, ack and timeout fees.
+ actualBalance, err := s.GetChainANativeBalance(ctx, chainAWallet)
+ s.Require().NoError(err)
+
+ expected := testvalues.StartingTokenAmount - walletAmount.Amount - testFee.Total().AmountOf(chainADenom).Int64()
+ s.Require().Equal(expected, actualBalance)
+ })
+ })
+
+ t.Run("start relayer", func(t *testing.T) {
+ s.StartRelayer(relayer)
+ })
+
+ t.Run("packets are relayed", func(t *testing.T) {
+ packets, err := s.QueryIncentivizedPacketsForChannel(ctx, chainA, channelA.PortID, channelA.ChannelID)
+ s.Require().NoError(err)
+ s.Require().Empty(packets)
+ })
+
+ t.Run("timeout fee is refunded", func(t *testing.T) {
+ actualBalance, err := s.GetChainANativeBalance(ctx, chainAWallet)
+ s.Require().NoError(err)
+
+ // once the relayer has relayed the packets, the timeout fee should be refunded.
+ expected := testvalues.StartingTokenAmount - walletAmount.Amount - testFee.AckFee.AmountOf(chainADenom).Int64() - testFee.RecvFee.AmountOf(chainADenom).Int64()
+ s.Require().Equal(expected, actualBalance)
+ })
+}
+
+func (s *FeeMiddlewareTestSuite) TestMultiMsg_MsgPayPacketFeeSingleSender() {
+ t := s.T()
+ ctx := context.TODO()
+
+ relayer, channelA := s.SetupChainsRelayerAndChannel(ctx, feeMiddlewareChannelOptions())
+
+ chainA, chainB := s.GetChains()
+
+ var (
+ chainADenom = chainA.Config().Denom
+ testFee = testvalues.DefaultFee(chainADenom)
+ multiMsgTxResponse sdk.TxResponse
+ )
+
+ transferAmount := testvalues.DefaultTransferAmount(chainA.Config().Denom)
+
+ chainAWallet := s.CreateUserOnChainA(ctx, testvalues.StartingTokenAmount)
+ chainBWallet := s.CreateUserOnChainB(ctx, testvalues.StartingTokenAmount)
+
+ t.Run("relayer wallets recovered", func(t *testing.T) {
+ err := s.RecoverRelayerWallets(ctx, relayer)
+ s.Require().NoError(err)
+ })
+
+ chainARelayerWallet, chainBRelayerWallet, err := s.GetRelayerWallets(relayer)
+ t.Run("relayer wallets fetched", func(t *testing.T) {
+ s.Require().NoError(err)
+ })
+
+ s.Require().NoError(test.WaitForBlocks(ctx, 1, chainA, chainB), "failed to wait for blocks")
+
+ chainARelayerUser, chainBRelayerUser := s.GetRelayerUsers(ctx)
+
+ relayerAStartingBalance, err := s.GetChainANativeBalance(ctx, chainARelayerUser)
+ s.Require().NoError(err)
+ t.Logf("relayer A user starting with balance: %d", relayerAStartingBalance)
+
+ t.Run("register counter party payee", func(t *testing.T) {
+ multiMsgTxResponse, err = s.RegisterCounterPartyPayee(ctx, chainB, chainBRelayerUser, channelA.Counterparty.PortID, channelA.Counterparty.ChannelID, chainBRelayerWallet.Address, chainARelayerWallet.Address)
+ s.Require().NoError(err)
+ s.AssertValidTxResponse(multiMsgTxResponse)
+ })
+
+ t.Run("verify counter party payee", func(t *testing.T) {
+ address, err := s.QueryCounterPartyPayee(ctx, chainB, chainBRelayerWallet.Address, channelA.Counterparty.ChannelID)
+ s.Require().NoError(err)
+ s.Require().Equal(chainARelayerWallet.Address, address)
+ })
+
+ t.Run("no incentivized packets", func(t *testing.T) {
+ packets, err := s.QueryIncentivizedPacketsForChannel(ctx, chainA, channelA.PortID, channelA.ChannelID)
+ s.Require().NoError(err)
+ s.Require().Empty(packets)
+ })
+
+ payPacketFeeMsg := feetypes.NewMsgPayPacketFee(testFee, channelA.PortID, channelA.ChannelID, chainAWallet.Bech32Address(chainA.Config().Bech32Prefix), nil)
+ transferMsg := transfertypes.NewMsgTransfer(channelA.PortID, channelA.ChannelID, transferAmount, chainAWallet.Bech32Address(chainA.Config().Bech32Prefix), chainBWallet.Bech32Address(chainB.Config().Bech32Prefix), clienttypes.NewHeight(1, 1000), 0)
+ resp, err := s.BroadcastMessages(ctx, chainA, chainAWallet, payPacketFeeMsg, transferMsg)
+
+ t.Run("transfer successful", func(t *testing.T) {
+ s.AssertValidTxResponse(resp)
+ s.Require().NoError(err)
+ })
+
+ t.Run("there should be incentivized packets", func(t *testing.T) {
+ packets, err := s.QueryIncentivizedPacketsForChannel(ctx, chainA, channelA.PortID, channelA.ChannelID)
+ s.Require().NoError(err)
+ s.Require().Len(packets, 1)
+ actualFee := packets[0].PacketFees[0].Fee
+
+ s.Require().True(actualFee.RecvFee.IsEqual(testFee.RecvFee))
+ s.Require().True(actualFee.AckFee.IsEqual(testFee.AckFee))
+ s.Require().True(actualFee.TimeoutFee.IsEqual(testFee.TimeoutFee))
+ })
+
+ t.Run("balance should be lowered by sum of recv ack and timeout", func(t *testing.T) {
+ // The balance should be lowered by the sum of the recv, ack and timeout fees.
+ actualBalance, err := s.GetChainANativeBalance(ctx, chainAWallet)
+ s.Require().NoError(err)
+
+ expected := testvalues.StartingTokenAmount - testvalues.IBCTransferAmount - testFee.Total().AmountOf(chainADenom).Int64()
+ s.Require().Equal(expected, actualBalance)
+ })
+
+ t.Run("start relayer", func(t *testing.T) {
+ s.StartRelayer(relayer)
+ })
+
+ t.Run("packets are relayed", func(t *testing.T) {
+ packets, err := s.QueryIncentivizedPacketsForChannel(ctx, chainA, channelA.PortID, channelA.ChannelID)
+ s.Require().NoError(err)
+ s.Require().Empty(packets)
+ })
+
+ t.Run("timeout fee is refunded", func(t *testing.T) {
+ actualBalance, err := s.GetChainANativeBalance(ctx, chainAWallet)
+ s.Require().NoError(err)
+
+ // once the relayer has relayed the packets, the timeout fee should be refunded.
+ expected := testvalues.StartingTokenAmount - testvalues.IBCTransferAmount - testFee.AckFee.AmountOf(chainADenom).Int64() - testFee.RecvFee.AmountOf(chainADenom).Int64()
+ s.Require().Equal(expected, actualBalance)
+ })
+
+ t.Run("relayerA is paid ack and recv fee", func(t *testing.T) {
+ actualBalance, err := s.GetChainANativeBalance(ctx, chainARelayerUser)
+ s.Require().NoError(err)
+ expected := relayerAStartingBalance + testFee.AckFee.AmountOf(chainADenom).Int64() + testFee.RecvFee.AmountOf(chainADenom).Int64()
+ s.Require().Equal(expected, actualBalance)
+ })
+}
+
+func (s *FeeMiddlewareTestSuite) TestMsgPayPacketFee_SingleSender_TimesOut() {
+ t := s.T()
+ ctx := context.TODO()
+
+ relayer, channelA := s.SetupChainsRelayerAndChannel(ctx, feeMiddlewareChannelOptions())
+ chainA, chainB := s.GetChains()
+
+ var (
+ chainADenom = chainA.Config().Denom
+ testFee = testvalues.DefaultFee(chainADenom)
+ chainATx ibc.Tx
+ payPacketFeeTxResp sdk.TxResponse
+ )
+
+ chainAWallet := s.CreateUserOnChainA(ctx, testvalues.StartingTokenAmount)
+ chainBWallet := s.CreateUserOnChainB(ctx, testvalues.StartingTokenAmount)
+
+ t.Run("relayer wallets recovered", func(t *testing.T) {
+ s.Require().NoError(s.RecoverRelayerWallets(ctx, relayer))
+ })
+
+ chainARelayerWallet, chainBRelayerWallet, err := s.GetRelayerWallets(relayer)
+ t.Run("relayer wallets fetched", func(t *testing.T) {
+ s.Require().NoError(err)
+ })
+
+ _, chainBRelayerUser := s.GetRelayerUsers(ctx)
+
+ t.Run("register counter party payee", func(t *testing.T) {
+ resp, err := s.RegisterCounterPartyPayee(ctx, chainB, chainBRelayerUser, channelA.Counterparty.PortID, channelA.Counterparty.ChannelID, chainBRelayerWallet.Address, chainARelayerWallet.Address)
+ s.Require().NoError(err)
+ s.AssertValidTxResponse(resp)
+ })
+
+ t.Run("verify counter party payee", func(t *testing.T) {
+ address, err := s.QueryCounterPartyPayee(ctx, chainB, chainBRelayerWallet.Address, channelA.Counterparty.ChannelID)
+ s.Require().NoError(err)
+ s.Require().Equal(chainARelayerWallet.Address, address)
+ })
+
+ chainBWalletAmount := ibc.WalletAmount{
+ Address: chainBWallet.Bech32Address(chainB.Config().Bech32Prefix), // destination address
+ Denom: chainA.Config().Denom,
+ Amount: testvalues.IBCTransferAmount,
+ }
+
+ t.Run("Send IBC transfer", func(t *testing.T) {
+ chainATx, err = chainA.SendIBCTransfer(ctx, channelA.ChannelID, chainAWallet.KeyName, chainBWalletAmount, testvalues.ImmediatelyTimeout())
+ s.Require().NoError(err)
+ s.Require().NoError(chainATx.Validate(), "source ibc transfer tx is invalid")
+ time.Sleep(time.Nanosecond * 1) // want it to timeout immediately
+ })
+
+ t.Run("tokens are escrowed", func(t *testing.T) {
+ actualBalance, err := s.GetChainANativeBalance(ctx, chainAWallet)
+ s.Require().NoError(err)
+
+ expected := testvalues.StartingTokenAmount - chainBWalletAmount.Amount
+ s.Require().Equal(expected, actualBalance)
+ })
+
+ t.Run("pay packet fee", func(t *testing.T) {
+
+ packetId := channeltypes.NewPacketId(channelA.PortID, channelA.ChannelID, 1)
+ packetFee := feetypes.NewPacketFee(testFee, chainAWallet.Bech32Address(chainA.Config().Bech32Prefix), nil)
+
+ t.Run("no incentivized packets", func(t *testing.T) {
+ packets, err := s.QueryIncentivizedPacketsForChannel(ctx, chainA, channelA.PortID, channelA.ChannelID)
+ s.Require().NoError(err)
+ s.Require().Empty(packets)
+ })
+
+ t.Run("should succeed", func(t *testing.T) {
+ payPacketFeeTxResp, err = s.PayPacketFeeAsync(ctx, chainA, chainAWallet, packetId, packetFee)
+ s.Require().NoError(err)
+ s.AssertValidTxResponse(payPacketFeeTxResp)
+ })
+
+ t.Run("there should be incentivized packets", func(t *testing.T) {
+ packets, err := s.QueryIncentivizedPacketsForChannel(ctx, chainA, channelA.PortID, channelA.ChannelID)
+ s.Require().NoError(err)
+ s.Require().Len(packets, 1)
+ actualFee := packets[0].PacketFees[0].Fee
+
+ s.Require().True(actualFee.RecvFee.IsEqual(testFee.RecvFee))
+ s.Require().True(actualFee.AckFee.IsEqual(testFee.AckFee))
+ s.Require().True(actualFee.TimeoutFee.IsEqual(testFee.TimeoutFee))
+ })
+
+ t.Run("balance should be lowered by sum of recv ack and timeout", func(t *testing.T) {
+ // The balance should be lowered by the sum of the recv, ack and timeout fees.
+ actualBalance, err := s.GetChainANativeBalance(ctx, chainAWallet)
+ s.Require().NoError(err)
+
+ expected := testvalues.StartingTokenAmount - chainBWalletAmount.Amount - testFee.Total().AmountOf(chainADenom).Int64()
+ s.Require().Equal(expected, actualBalance)
+ })
+
+ })
+
+ t.Run("start relayer", func(t *testing.T) {
+ s.StartRelayer(relayer)
+ })
+
+ t.Run("packets are relayed", func(t *testing.T) {
+ packets, err := s.QueryIncentivizedPacketsForChannel(ctx, chainA, channelA.PortID, channelA.ChannelID)
+ s.Require().NoError(err)
+ s.Require().Empty(packets)
+ })
+
+ t.Run("recv and ack should be refunded", func(t *testing.T) {
+ actualBalance, err := s.GetChainANativeBalance(ctx, chainAWallet)
+ s.Require().NoError(err)
+
+ expected := testvalues.StartingTokenAmount - testFee.TimeoutFee.AmountOf(chainADenom).Int64()
+ s.Require().Equal(expected, actualBalance)
+ })
+}
+
+// feeMiddlewareChannelOptions configures both of the chains to have fee middleware enabled.
+func feeMiddlewareChannelOptions() func(options *ibc.CreateChannelOptions) {
+ return func(opts *ibc.CreateChannelOptions) {
+ opts.Version = "{\"fee_version\":\"ics29-1\",\"app_version\":\"ics20-1\"}"
+ opts.DestPortName = "transfer"
+ opts.SourcePortName = "transfer"
+ }
+}
diff --git a/e2e/go.mod b/e2e/go.mod
new file mode 100644
index 00000000000..feb8f7f43c1
--- /dev/null
+++ b/e2e/go.mod
@@ -0,0 +1,142 @@
+module e2e
+
+go 1.18
+
+replace github.com/gogo/protobuf => github.com/regen-network/protobuf v1.3.3-alpha.regen.1
+
+require (
+ github.com/cosmos/cosmos-sdk v0.45.6
+ github.com/cosmos/ibc-go/v4 v4.0.0-rc0
+ github.com/docker/docker v20.10.17+incompatible
+ github.com/strangelove-ventures/ibctest v0.0.0-20220713213153-930886d8db30
+ github.com/stretchr/testify v1.8.0
+ go.uber.org/zap v1.21.0
+ google.golang.org/grpc v1.47.0
+)
+
+require (
+ filippo.io/edwards25519 v1.0.0-beta.2 // indirect
+ github.com/99designs/keyring v1.1.6 // indirect
+ github.com/ChainSafe/go-schnorrkel v0.0.0-20200405005733-88cbf1b4c40d // indirect
+ github.com/DataDog/zstd v1.4.5 // indirect
+ github.com/Microsoft/go-winio v0.5.1 // indirect
+ github.com/armon/go-metrics v0.4.0 // indirect
+ github.com/avast/retry-go/v4 v4.0.4 // indirect
+ github.com/benbjohnson/clock v1.1.0 // indirect
+ github.com/beorn7/perks v1.0.1 // indirect
+ github.com/bgentry/speakeasy v0.1.0 // indirect
+ github.com/btcsuite/btcd v0.22.0-beta // indirect
+ github.com/cespare/xxhash v1.1.0 // indirect
+ github.com/cespare/xxhash/v2 v2.1.2 // indirect
+ github.com/confio/ics23/go v0.7.0 // indirect
+ github.com/cosmos/btcutil v1.0.4 // indirect
+ github.com/cosmos/go-bip39 v1.0.0 // indirect
+ github.com/cosmos/iavl v0.17.3 // indirect
+ github.com/cosmos/ledger-cosmos-go v0.11.1 // indirect
+ github.com/cosmos/ledger-go v0.9.2 // indirect
+ github.com/danieljoos/wincred v1.0.2 // indirect
+ github.com/davecgh/go-spew v1.1.1 // indirect
+ github.com/dgraph-io/badger/v2 v2.2007.2 // indirect
+ github.com/dgraph-io/ristretto v0.0.3 // indirect
+ github.com/dgryski/go-farm v0.0.0-20200201041132-a6ae2369ad13 // indirect
+ github.com/docker/distribution v2.8.1+incompatible // indirect
+ github.com/docker/go-connections v0.4.0 // indirect
+ github.com/docker/go-units v0.4.0 // indirect
+ github.com/dustin/go-humanize v1.0.0 // indirect
+ github.com/dvsekhvalnov/jose2go v0.0.0-20200901110807-248326c1351b // indirect
+ github.com/felixge/httpsnoop v1.0.1 // indirect
+ github.com/fsnotify/fsnotify v1.5.4 // indirect
+ github.com/go-kit/kit v0.12.0 // indirect
+ github.com/go-kit/log v0.2.0 // indirect
+ github.com/go-logfmt/logfmt v0.5.1 // indirect
+ github.com/godbus/dbus v0.0.0-20190726142602-4481cbc300e2 // indirect
+ github.com/gogo/gateway v1.1.0 // indirect
+ github.com/gogo/protobuf v1.3.3 // indirect
+ github.com/golang/protobuf v1.5.2 // indirect
+ github.com/golang/snappy v0.0.3 // indirect
+ github.com/google/btree v1.0.0 // indirect
+ github.com/google/uuid v1.3.0 // indirect
+ github.com/gorilla/handlers v1.5.1 // indirect
+ github.com/gorilla/mux v1.8.0 // indirect
+ github.com/gorilla/websocket v1.5.0 // indirect
+ github.com/grpc-ecosystem/go-grpc-middleware v1.3.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 v0.5.4 // indirect
+ github.com/hashicorp/hcl v1.0.0 // indirect
+ github.com/hdevalence/ed25519consensus v0.0.0-20210204194344-59a8610d2b87 // indirect
+ github.com/inconshreveable/mousetrap v1.0.0 // indirect
+ github.com/jmhodges/levigo v1.0.0 // indirect
+ github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51 // indirect
+ github.com/keybase/go-keychain v0.0.0-20190712205309-48d3d31d256d // indirect
+ github.com/libp2p/go-buffer-pool v0.0.2 // indirect
+ github.com/magiconair/properties v1.8.6 // indirect
+ github.com/mattn/go-isatty v0.0.14 // 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/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/opencontainers/image-spec v1.0.3-0.20211202183452-c5a74bcca799 // indirect
+ github.com/pelletier/go-toml v1.9.5 // indirect
+ github.com/pelletier/go-toml/v2 v2.0.1 // 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_golang v1.12.1 // indirect
+ github.com/prometheus/client_model v0.2.0 // indirect
+ github.com/prometheus/common v0.32.1 // indirect
+ github.com/prometheus/procfs v0.7.3 // indirect
+ github.com/rakyll/statik v0.1.7 // indirect
+ github.com/rcrowley/go-metrics v0.0.0-20200313005456-10cdbea86bc0 // indirect
+ github.com/regen-network/cosmos-proto v0.3.1 // indirect
+ github.com/remyoudompheng/bigfft v0.0.0-20200410134404-eec4a21b6bb0 // indirect
+ github.com/sasha-s/go-deadlock v0.2.1-0.20190427202633-1595213edefa // indirect
+ github.com/sirupsen/logrus v1.8.1 // indirect
+ github.com/spf13/afero v1.8.2 // indirect
+ github.com/spf13/cast v1.5.0 // indirect
+ github.com/spf13/cobra v1.5.0 // indirect
+ github.com/spf13/jwalterweatherman v1.1.0 // indirect
+ github.com/spf13/pflag v1.0.5 // indirect
+ github.com/spf13/viper v1.12.0 // indirect
+ github.com/subosito/gotenv v1.3.0 // indirect
+ github.com/syndtr/goleveldb v1.0.1-0.20200815110645-5c35d600f0ca // indirect
+ github.com/tecbot/gorocksdb v0.0.0-20191217155057-f0fad39f321c // indirect
+ github.com/tendermint/btcd v0.1.1 // indirect
+ github.com/tendermint/crypto v0.0.0-20191022145703-50d29ede1e15 // indirect
+ github.com/tendermint/go-amino v0.16.0 // indirect
+ github.com/tendermint/tendermint v0.34.19 // indirect
+ github.com/tendermint/tm-db v0.6.6 // indirect
+ github.com/zondax/hid v0.9.0 // indirect
+ go.etcd.io/bbolt v1.3.6 // indirect
+ go.uber.org/atomic v1.9.0 // indirect
+ go.uber.org/multierr v1.7.0 // indirect
+ golang.org/x/crypto v0.0.0-20220411220226-7b82a4e95df4 // indirect
+ golang.org/x/mod v0.6.0-dev.0.20220106191415-9b9b3d81d5e3 // indirect
+ golang.org/x/net v0.0.0-20220520000938-2e3eb7b945c2 // indirect
+ golang.org/x/sync v0.0.0-20220513210516-0976fa681c29 // indirect
+ golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a // indirect
+ golang.org/x/term v0.0.0-20210927222741-03fcf44c2211 // indirect
+ golang.org/x/text v0.3.7 // indirect
+ golang.org/x/tools v0.1.10 // indirect
+ golang.org/x/xerrors v0.0.0-20220517211312-f3a8303e98df // indirect
+ google.golang.org/genproto v0.0.0-20220519153652-3a47de7e79bd // indirect
+ google.golang.org/protobuf v1.28.0 // indirect
+ gopkg.in/ini.v1 v1.66.4 // indirect
+ gopkg.in/yaml.v2 v2.4.0 // indirect
+ gopkg.in/yaml.v3 v3.0.1 // indirect
+ lukechampine.com/uint128 v1.1.1 // indirect
+ modernc.org/cc/v3 v3.36.0 // indirect
+ modernc.org/ccgo/v3 v3.16.6 // indirect
+ modernc.org/libc v1.16.7 // indirect
+ modernc.org/mathutil v1.4.1 // indirect
+ modernc.org/memory v1.1.1 // indirect
+ modernc.org/opt v0.1.1 // indirect
+ modernc.org/sqlite v1.17.3 // indirect
+ modernc.org/strutil v1.1.1 // indirect
+ modernc.org/token v1.0.0 // indirect
+)
diff --git a/e2e/go.sum b/e2e/go.sum
new file mode 100644
index 00000000000..6d00db2a409
--- /dev/null
+++ b/e2e/go.sum
@@ -0,0 +1,1556 @@
+bazil.org/fuse v0.0.0-20200407214033-5883e5a4b512/go.mod h1:FbcW6z/2VytnFDhZfumh8Ss8zxHE6qpMP5sHTRe0EaM=
+cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
+cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
+cloud.google.com/go v0.38.0/go.mod h1:990N+gfupTy94rShfmMCWGDn0LpTmnzTp2qbd1dvSRU=
+cloud.google.com/go v0.44.1/go.mod h1:iSa0KzasP4Uvy3f1mN/7PiObzGgflwredwwASm/v6AU=
+cloud.google.com/go v0.44.2/go.mod h1:60680Gw3Yr4ikxnPRS/oxxkBccT6SA1yMk63TGekxKY=
+cloud.google.com/go v0.44.3/go.mod h1:60680Gw3Yr4ikxnPRS/oxxkBccT6SA1yMk63TGekxKY=
+cloud.google.com/go v0.45.1/go.mod h1:RpBamKRgapWJb87xiFSdk4g1CME7QZg3uwTez+TSTjc=
+cloud.google.com/go v0.46.3/go.mod h1:a6bKKbmY7er1mI7TEI4lsAkts/mkhTSZK8w33B4RAg0=
+cloud.google.com/go v0.50.0/go.mod h1:r9sluTvynVuxRIOHXQEHMFffphuXHOMZMycpNR5e6To=
+cloud.google.com/go v0.52.0/go.mod h1:pXajvRH/6o3+F9jDHZWQ5PbGhn+o8w9qiu/CffaVdO4=
+cloud.google.com/go v0.53.0/go.mod h1:fp/UouUEsRkN6ryDKNW/Upv/JBKnv6WDthjR6+vze6M=
+cloud.google.com/go v0.54.0/go.mod h1:1rq2OEkV3YMf6n/9ZvGWI3GWw0VoqH/1x2nd8Is/bPc=
+cloud.google.com/go v0.56.0/go.mod h1:jr7tqZxxKOVYizybht9+26Z/gUq7tiRzu+ACVAMbKVk=
+cloud.google.com/go v0.57.0/go.mod h1:oXiQ6Rzq3RAkkY7N6t3TcE6jE+CIBBbA36lwQ1JyzZs=
+cloud.google.com/go v0.62.0/go.mod h1:jmCYTdRCQuc1PHIIJ/maLInMho30T/Y0M4hTdTShOYc=
+cloud.google.com/go v0.65.0/go.mod h1:O5N8zS7uWy9vkA9vayVHs65eM1ubvY4h553ofrNHObY=
+cloud.google.com/go v0.72.0/go.mod h1:M+5Vjvlc2wnp6tjzE102Dw08nGShTscUx2nZMufOKPI=
+cloud.google.com/go v0.74.0/go.mod h1:VV1xSbzvo+9QJOxLDaJfTjx5e+MePCpCWwvftOeQmWk=
+cloud.google.com/go v0.75.0/go.mod h1:VGuuCn7PG0dwsd5XPVm2Mm3wlh3EL55/79EKB6hlPTY=
+cloud.google.com/go v0.78.0/go.mod h1:QjdrLG0uq+YwhjoVOLsS1t7TW8fs36kLs4XO5R5ECHg=
+cloud.google.com/go v0.79.0/go.mod h1:3bzgcEeQlzbuEAYu4mrWhKqWjmpprinYgKJLgKHnbb8=
+cloud.google.com/go v0.81.0/go.mod h1:mk/AM35KwGk/Nm2YSeZbxXdrNK3KZOYHmLkOqC2V6E0=
+cloud.google.com/go v0.83.0/go.mod h1:Z7MJUsANfY0pYPdw0lbnivPx4/vhy/e2FEkSkF7vAVY=
+cloud.google.com/go v0.84.0/go.mod h1:RazrYuxIK6Kb7YrzzhPoLmCVzl7Sup4NrbKPg8KHSUM=
+cloud.google.com/go v0.87.0/go.mod h1:TpDYlFy7vuLzZMMZ+B6iRiELaY7z/gJPaqbMx6mlWcY=
+cloud.google.com/go v0.90.0/go.mod h1:kRX0mNRHe0e2rC6oNakvwQqzyDmg57xJ+SZU1eT2aDQ=
+cloud.google.com/go v0.93.3/go.mod h1:8utlLll2EF5XMAV15woO4lSbWQlk8rer9aLOfLh7+YI=
+cloud.google.com/go v0.94.1/go.mod h1:qAlAugsXlC+JWO+Bke5vCtc9ONxjQT3drlTTnAplMW4=
+cloud.google.com/go v0.97.0/go.mod h1:GF7l59pYBVlXQIBLx3a761cZ41F9bBH3JUlihCt2Udc=
+cloud.google.com/go v0.99.0/go.mod h1:w0Xx2nLzqWJPuozYQX+hFfCSI8WioryfRDzkoI/Y2ZA=
+cloud.google.com/go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o=
+cloud.google.com/go/bigquery v1.3.0/go.mod h1:PjpwJnslEMmckchkHFfq+HTD2DmtT67aNFKH1/VBDHE=
+cloud.google.com/go/bigquery v1.4.0/go.mod h1:S8dzgnTigyfTmLBfrtrhyYhwRxG72rYxvftPBK2Dvzc=
+cloud.google.com/go/bigquery v1.5.0/go.mod h1:snEHRnqQbz117VIFhE8bmtwIDY80NLUZUMb4Nv6dBIg=
+cloud.google.com/go/bigquery v1.7.0/go.mod h1://okPTzCYNXSlb24MZs83e2Do+h+VXtc4gLoIoXIAPc=
+cloud.google.com/go/bigquery v1.8.0/go.mod h1:J5hqkt3O0uAFnINi6JXValWIb1v0goeZM77hZzJN/fQ=
+cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE=
+cloud.google.com/go/datastore v1.1.0/go.mod h1:umbIZjpQpHh4hmRpGhH4tLFup+FVzqBi1b3c64qFpCk=
+cloud.google.com/go/firestore v1.1.0/go.mod h1:ulACoGHTpvq5r8rxGJ4ddJZBZqakUQqClKRT5SZwBmk=
+cloud.google.com/go/firestore v1.6.1/go.mod h1:asNXNOzBdyVQmEU+ggO8UPodTkEVFW5Qx+rwHnAz+EY=
+cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2kNxGRt3I=
+cloud.google.com/go/pubsub v1.1.0/go.mod h1:EwwdRX2sKPjnvnqCa270oGRyludottCI76h+R3AArQw=
+cloud.google.com/go/pubsub v1.2.0/go.mod h1:jhfEVHT8odbXTkndysNHCcx0awwzvfOlguIAii9o8iA=
+cloud.google.com/go/pubsub v1.3.1/go.mod h1:i+ucay31+CNRpDW4Lu78I4xXG+O1r/MAHgjpRVR+TSU=
+cloud.google.com/go/storage v1.0.0/go.mod h1:IhtSnM/ZTZV8YYJWCY8RULGVqBDmpoyjwiyrjsg+URw=
+cloud.google.com/go/storage v1.5.0/go.mod h1:tpKbwo567HUNpVclU5sGELwQWBDZ8gh0ZeosJ0Rtdos=
+cloud.google.com/go/storage v1.6.0/go.mod h1:N7U0C8pVQ/+NIKOBQyamJIeKQKkZ+mxpohlUTyfDhBk=
+cloud.google.com/go/storage v1.8.0/go.mod h1:Wv1Oy7z6Yz3DshWRJFhqM/UCfaWIRTdp0RXyy7KQOVs=
+cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9ullr3+Kg0=
+cloud.google.com/go/storage v1.14.0/go.mod h1:GrKmX003DSIwi9o29oFT7YDnHYwZoctc3fOKtUw0Xmo=
+dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU=
+filippo.io/edwards25519 v1.0.0-beta.2 h1:/BZRNzm8N4K4eWfK28dL4yescorxtO7YG1yun8fy+pI=
+filippo.io/edwards25519 v1.0.0-beta.2/go.mod h1:X+pm78QAUPtFLi1z9PYIlS/bdDnvbCOGKtZ+ACWEf7o=
+github.com/99designs/keyring v1.1.6 h1:kVDC2uCgVwecxCk+9zoCt2uEL6dt+dfVzMvGgnVcIuM=
+github.com/99designs/keyring v1.1.6/go.mod h1:16e0ds7LGQQcT59QqkTg72Hh5ShM51Byv5PEmW6uoRU=
+github.com/Azure/azure-sdk-for-go/sdk/azcore v0.19.0/go.mod h1:h6H6c8enJmmocHUbLiiGY6sx7f9i+X3m1CHdd5c6Rdw=
+github.com/Azure/azure-sdk-for-go/sdk/azidentity v0.11.0/go.mod h1:HcM1YX14R7CJcghJGOYCgdezslRSVzqwLf/q+4Y2r/0=
+github.com/Azure/azure-sdk-for-go/sdk/internal v0.7.0/go.mod h1:yqy467j36fJxcRV2TzfVZ1pCb5vxm4BtZPUdYWe/Xo8=
+github.com/Azure/go-ansiterm v0.0.0-20170929234023-d6e3b3328b78/go.mod h1:LmzpDX56iTiv29bbRTIsUNlaFfuhWRQBWjQdVyAevI8=
+github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1 h1:UQHMgLO+TxOElx5B5HZ4hJQsoJ/PvUvKRhJHDQXO8P8=
+github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1/go.mod h1:xomTg63KZ2rFqZQzSB4Vz2SUXa1BpHTVz9L5PTmPC4E=
+github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
+github.com/BurntSushi/toml v1.1.0/go.mod h1:CxXYINrC8qIiEnFrOxCa7Jy5BFHlXnUU2pbicEuybxQ=
+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/DATA-DOG/go-sqlmock v1.5.0/go.mod h1:f/Ixk793poVmq4qj/V1dPUg2JEAKC73Q5eFN3EC/SaM=
+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 h1:EndNeuB0l9syBZhut0wns3gV1hL8zX8LIu6ZiVHWLIQ=
+github.com/DataDog/zstd v1.4.5/go.mod h1:1jcaCB/ufaK+sKp1NBhlGmpz41jOoPQ35bpF36t7BBo=
+github.com/HdrHistogram/hdrhistogram-go v1.1.0/go.mod h1:yDgFjdqOqDEKOvasDdhWNXYg9BVp4O+o5f6V/ehm6Oo=
+github.com/HdrHistogram/hdrhistogram-go v1.1.2/go.mod h1:yDgFjdqOqDEKOvasDdhWNXYg9BVp4O+o5f6V/ehm6Oo=
+github.com/Knetic/govaluate v3.0.1-0.20171022003610-9aa49832a739+incompatible/go.mod h1:r7JcOSlj0wfOMncg0iLm8Leh48TZaKVeNIfJntJ2wa0=
+github.com/Microsoft/go-winio v0.4.14/go.mod h1:qXqCSQ3Xa7+6tgxaGTIe4Kpcdsi+P8jBhyzoq1bpyYA=
+github.com/Microsoft/go-winio v0.5.0/go.mod h1:JPGBdM1cNvN/6ISo+n8V5iA4v8pBzdOpzfwIujj1a84=
+github.com/Microsoft/go-winio v0.5.1 h1:aPJp2QD7OOrhO5tQXqQoGSJc+DjDtWTGLOmNyAm6FgY=
+github.com/Microsoft/go-winio v0.5.1/go.mod h1:JPGBdM1cNvN/6ISo+n8V5iA4v8pBzdOpzfwIujj1a84=
+github.com/Nvveen/Gotty v0.0.0-20120604004816-cd527374f1e5/go.mod h1:lmUJ/7eu/Q8D7ML55dXQrVaamCz2vxCfdQBasLZfHKk=
+github.com/OneOfOne/xxhash v1.2.2 h1:KMrpdQIwFcEqXDklaen+P1axHaj9BSKzvpUUfnHldSE=
+github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU=
+github.com/Shopify/sarama v1.19.0/go.mod h1:FVkBWblsNy7DGZRfXLU0O9RCGt5g3g3yEuWXgklEdEo=
+github.com/Shopify/toxiproxy v2.1.4+incompatible/go.mod h1:OXgGpZ6Cli1/URJOF1DMxUHB2q5Ap20/P/eIdh4G0pI=
+github.com/VividCortex/gohistogram v1.0.0 h1:6+hBz+qvs0JOrrNhhmR7lFxo5sINxBCGXrdtl/UvroE=
+github.com/VividCortex/gohistogram v1.0.0/go.mod h1:Pf5mBqqDxYaXu3hDrrU+w6nw50o/4+TcAqDqk/vUH7g=
+github.com/Workiva/go-datastructures v1.0.52/go.mod h1:Z+F2Rca0qCsVYDS8z7bAGm8f3UkzuWYS/oBZz5a7VVA=
+github.com/Workiva/go-datastructures v1.0.53 h1:J6Y/52yX10Xc5JjXmGtWoSSxs3mZnGSaq37xZZh7Yig=
+github.com/Workiva/go-datastructures v1.0.53/go.mod h1:1yZL+zfsztete+ePzZz/Zb1/t5BnDuE2Ya2MMGhzP6A=
+github.com/adlio/schema v1.1.13/go.mod h1:L5Z7tw+7lRK1Fnpi/LT/ooCP1elkXn0krMWBQHUhEDE=
+github.com/adlio/schema v1.3.0/go.mod h1:51QzxkpeFs6lRY11kPye26IaFPOV+HqEj01t5aXXKfs=
+github.com/aead/siphash v1.0.1/go.mod h1:Nywa3cDsYNNK3gaciGTWPwHt0wlpNV15vwmswBAUSII=
+github.com/afex/hystrix-go v0.0.0-20180502004556-fa1af6a1f4f5/go.mod h1:SkGFH1ia65gfNATL8TAiHDNxPzPdmEL5uirI2Uyuz6c=
+github.com/ajstarks/svgo v0.0.0-20180226025133-644b8db467af/go.mod h1:K08gAheRH3/J6wwsYMMT4xOr94bZjxIelGM0+d/wbFw=
+github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc=
+github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc=
+github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0=
+github.com/alecthomas/units v0.0.0-20190717042225-c3de453c63f4/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0=
+github.com/alecthomas/units v0.0.0-20190924025748-f65c72e2690d/go.mod h1:rBZYJk541a8SKzHPHnH3zbiI+7dagKZ0cgpgrD7Fyho=
+github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY=
+github.com/apache/thrift v0.12.0/go.mod h1:cp2SuWMxlEZw2r+iP2GNCdIi4C1qmUzdZFSVb+bacwQ=
+github.com/apache/thrift v0.13.0/go.mod h1:cp2SuWMxlEZw2r+iP2GNCdIi4C1qmUzdZFSVb+bacwQ=
+github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e/go.mod h1:3U/XgcO3hCbHZ8TKRvWD2dDTCfh9M9ya+I9JpbB7O8o=
+github.com/armon/consul-api v0.0.0-20180202201655-eb2c6b5be1b6/go.mod h1:grANhF5doyWs3UAsr3K4I6qtAmlQcZDesFNEHPZAzj8=
+github.com/armon/go-metrics v0.0.0-20180917152333-f0300d1749da/go.mod h1:Q73ZrmVTwzkszR9V5SSuryQ31EELlFMUz1kKyl939pY=
+github.com/armon/go-metrics v0.3.9/go.mod h1:4O98XIr/9W0sxpJ8UaYkvjk10Iff7SnFrb4QAOwNTFc=
+github.com/armon/go-metrics v0.3.10/go.mod h1:4O98XIr/9W0sxpJ8UaYkvjk10Iff7SnFrb4QAOwNTFc=
+github.com/armon/go-metrics v0.4.0 h1:yCQqn7dwca4ITXb+CbubHmedzaQYHhNhrEXLYUeEe8Q=
+github.com/armon/go-metrics v0.4.0/go.mod h1:E6amYzXo6aW1tqzoZGT755KkbgrJsSdpwZ+3JqfkOG4=
+github.com/armon/go-radix v0.0.0-20180808171621-7fddfc383310/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8=
+github.com/armon/go-radix v1.0.0/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8=
+github.com/aryann/difflib v0.0.0-20170710044230-e206f873d14a/go.mod h1:DAHtR1m6lCRdSC2Tm3DSWRPvIPr6xNKyeHdqDQSQT+A=
+github.com/avast/retry-go/v4 v4.0.4 h1:38hLf0DsRXh+hOF6HbTni0+5QGTNdw9zbaMD7KAO830=
+github.com/avast/retry-go/v4 v4.0.4/go.mod h1:HqmLvS2VLdStPCGDFjSuZ9pzlTqVRldCI4w2dO4m1Ms=
+github.com/aws/aws-lambda-go v1.13.3/go.mod h1:4UKl9IzQMoD+QF79YdCuzCwp8VbmG4VAQwij/eHl5CU=
+github.com/aws/aws-sdk-go v1.27.0/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo=
+github.com/aws/aws-sdk-go v1.40.45/go.mod h1:585smgzpB/KqRA+K3y/NL/oYRqQvpNJYvLm+LY1U59Q=
+github.com/aws/aws-sdk-go-v2 v0.18.0/go.mod h1:JWVYvqSMppoMJC0x5wdwiImzgXTI9FuZwxzkQq9wy+g=
+github.com/aws/aws-sdk-go-v2 v1.9.1/go.mod h1:cK/D0BBs0b/oWPIcX/Z/obahJK1TT7IPVjy53i/mX/4=
+github.com/aws/aws-sdk-go-v2/service/cloudwatch v1.8.1/go.mod h1:CM+19rL1+4dFWnOQKwDc7H1KwXTz+h61oUSHyhV0b3o=
+github.com/aws/smithy-go v1.8.0/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E=
+github.com/benbjohnson/clock v1.1.0 h1:Q92kusRqC1XV2MjkWETPvjJVqKetz1OzxZB7mHJLju8=
+github.com/benbjohnson/clock v1.1.0/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA=
+github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q=
+github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8=
+github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM=
+github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw=
+github.com/bgentry/speakeasy v0.1.0 h1:ByYyxL9InA1OWqxJqqp2A5pYHUrCiAL6K3J+LKSsQkY=
+github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs=
+github.com/bits-and-blooms/bitset v1.2.0/go.mod h1:gIdJ4wp64HaoK2YrL1Q5/N7Y16edYb8uY+O0FJTyyDA=
+github.com/bketelsen/crypt v0.0.3-0.20200106085610-5cbc8cc4026c/go.mod h1:MKsuJmJgSg28kpZDP6UIiPt0e0Oz0kqKNGyRaWEPv84=
+github.com/btcsuite/btcd v0.0.0-20190115013929-ed77733ec07d/go.mod h1:d3C0AkH6BRcvO8T0UEPu53cnw4IbV63x1bEjildYhO0=
+github.com/btcsuite/btcd v0.20.1-beta/go.mod h1:wVuoA8VJLEcwgqHBwHmzLRazpKxTv13Px/pDuV7OomQ=
+github.com/btcsuite/btcd v0.21.0-beta/go.mod h1:ZSWyehm27aAuS9bvkATT+Xte3hjHZ+MRgMY/8NJ7K94=
+github.com/btcsuite/btcd v0.22.0-beta h1:LTDpDKUM5EeOFBPM8IXpinEcmZ6FWfNZbE3lfrfdnWo=
+github.com/btcsuite/btcd v0.22.0-beta/go.mod h1:9n5ntfhhHQBIhUvlhDvD3Qg6fRUj4jkN0VB8L8svzOA=
+github.com/btcsuite/btclog v0.0.0-20170628155309-84c8d2346e9f/go.mod h1:TdznJufoqS23FtqVCzL0ZqgP5MqXbb4fg/WgDys70nA=
+github.com/btcsuite/btcutil v0.0.0-20180706230648-ab6388e0c60a/go.mod h1:+5NJ2+qvTyV9exUAL/rxXi3DcLg2Ts+ymUAY5y4NvMg=
+github.com/btcsuite/btcutil v0.0.0-20190425235716-9e5f4b9a998d/go.mod h1:+5NJ2+qvTyV9exUAL/rxXi3DcLg2Ts+ymUAY5y4NvMg=
+github.com/btcsuite/btcutil v1.0.2/go.mod h1:j9HUFwoQRsZL3V4n+qG+CUnEGHOarIxfC3Le2Yhbcts=
+github.com/btcsuite/btcutil v1.0.3-0.20201208143702-a53e38424cce h1:YtWJF7RHm2pYCvA5t0RPmAaLUhREsKuKd+SLhxFbFeQ=
+github.com/btcsuite/btcutil v1.0.3-0.20201208143702-a53e38424cce/go.mod h1:0DVlHczLPewLcPGEIeUEzfOJhqGPQ0mJJRDBtD307+o=
+github.com/btcsuite/go-socks v0.0.0-20170105172521-4720035b7bfd/go.mod h1:HHNXQzUsZCxOoE+CPiyCTO6x34Zs86zZUiwtpXoGdtg=
+github.com/btcsuite/goleveldb v0.0.0-20160330041536-7834afc9e8cd/go.mod h1:F+uVaaLLH7j4eDXPRvw78tMflu7Ie2bzYOH4Y8rRKBY=
+github.com/btcsuite/goleveldb v1.0.0/go.mod h1:QiK9vBlgftBg6rWQIj6wFzbPfRjiykIEhBH4obrXJ/I=
+github.com/btcsuite/snappy-go v0.0.0-20151229074030-0bdef8d06723/go.mod h1:8woku9dyThutzjeg+3xrA5iCpBRH8XEEg3lh6TiUghc=
+github.com/btcsuite/snappy-go v1.0.0/go.mod h1:8woku9dyThutzjeg+3xrA5iCpBRH8XEEg3lh6TiUghc=
+github.com/btcsuite/websocket v0.0.0-20150119174127-31079b680792/go.mod h1:ghJtEyQwv5/p4Mg4C0fgbePVuGr935/5ddU9Z3TmDRY=
+github.com/btcsuite/winsvc v1.0.0/go.mod h1:jsenWakMcC0zFBFurPLEAyrnc/teJEM1O46fmI40EZs=
+github.com/casbin/casbin/v2 v2.1.2/go.mod h1:YcPU1XXisHhLzuxH9coDNf2FbKpjGlbCg3n9yuLkIJQ=
+github.com/casbin/casbin/v2 v2.37.0/go.mod h1:vByNa/Fchek0KZUgG5wEsl7iFsiviAYKRtgrQfcJqHg=
+github.com/cenkalti/backoff v2.2.1+incompatible/go.mod h1:90ReRw6GdpyfrHakVjL/QHaoyV4aDUVVkXQJJJ3NXXM=
+github.com/cenkalti/backoff/v4 v4.1.1/go.mod h1:scbssz8iZGpm3xbr14ovlUdkxfGXNInqkPWOWmG2CLw=
+github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU=
+github.com/census-instrumentation/opencensus-proto v0.3.0/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU=
+github.com/cespare/xxhash v1.1.0 h1:a6HrQnmkObjyL+Gs60czilIUGqrzKutQD6XZog3p+ko=
+github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc=
+github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=
+github.com/cespare/xxhash/v2 v2.1.2 h1:YRXhKfTDauu4ajMg1TPgFO5jnlC2HCbmLXMcTG5cbYE=
+github.com/cespare/xxhash/v2 v2.1.2/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=
+github.com/checkpoint-restore/go-criu/v5 v5.0.0/go.mod h1:cfwC0EG7HMUenopBsUf9d89JlCLQIfgVcNsNN0t6T2M=
+github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI=
+github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI=
+github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU=
+github.com/cilium/ebpf v0.6.2/go.mod h1:4tRaxcgiL706VnOzHOdBlY8IEAIdxINsQBcU4xJJXRs=
+github.com/circonus-labs/circonus-gometrics v2.3.1+incompatible/go.mod h1:nmEj6Dob7S7YxXgwXpfOuvO54S+tGdZdw9fuRZt25Ag=
+github.com/circonus-labs/circonusllhist v0.1.3/go.mod h1:kMXHVDlOchFAehlya5ePtbp5jckzBHf4XRpQvBOLI+I=
+github.com/clbanning/mxj v1.8.4/go.mod h1:BVjHeAH+rl9rs6f+QIpeRl0tfu10SXn1pUSa5PVGJng=
+github.com/clbanning/x2j v0.0.0-20191024224557-825249438eec/go.mod h1:jMjuTZXRI4dUb/I5gc9Hdhagfvm9+RyrPryS/auMzxE=
+github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw=
+github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc=
+github.com/cncf/udpa/go v0.0.0-20200629203442-efcf912fb354/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk=
+github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk=
+github.com/cncf/udpa/go v0.0.0-20210930031921-04548b0d99d4/go.mod h1:6pvJx4me5XPnfI9Z40ddWsdw2W/uZgQLFXToKeRcDiI=
+github.com/cncf/xds/go v0.0.0-20210312221358-fbca930ec8ed/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs=
+github.com/cncf/xds/go v0.0.0-20210805033703-aa0b78936158/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs=
+github.com/cncf/xds/go v0.0.0-20210922020428-25de7278fc84/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs=
+github.com/cncf/xds/go v0.0.0-20211001041855-01bcc9b48dfe/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs=
+github.com/cncf/xds/go v0.0.0-20211011173535-cb28da3451f1/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs=
+github.com/cncf/xds/go v0.0.0-20211130200136-a8f946100490/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs=
+github.com/cockroachdb/datadriven v0.0.0-20190809214429-80d97fb3cbaa/go.mod h1:zn76sxSg3SzpJ0PPJaLDCu+Bu0Lg3sKTORVIj19EIF8=
+github.com/codahale/hdrhistogram v0.0.0-20161010025455-3a0bb77429bd/go.mod h1:sE/e/2PUdi/liOCUjSTXgM1o87ZssimdTWN964YiIeI=
+github.com/coinbase/rosetta-sdk-go v0.7.0 h1:lmTO/JEpCvZgpbkOITL95rA80CPKb5CtMzLaqF2mCNg=
+github.com/confio/ics23/go v0.6.6/go.mod h1:E45NqnlpxGnpfTWL/xauN7MRwEE28T4Dd4uraToOaKg=
+github.com/confio/ics23/go v0.7.0 h1:00d2kukk7sPoHWL4zZBZwzxnpA2pec1NPdwbSokJ5w8=
+github.com/confio/ics23/go v0.7.0/go.mod h1:E45NqnlpxGnpfTWL/xauN7MRwEE28T4Dd4uraToOaKg=
+github.com/containerd/console v1.0.2/go.mod h1:ytZPjGgY2oeTkAONYafi2kSj0aYggsf8acV1PGKCbzQ=
+github.com/containerd/continuity v0.0.0-20190827140505-75bee3e2ccb6/go.mod h1:GL3xCUCBDV3CZiTSEKksMWbLE66hEyuu9qyDOOqM47Y=
+github.com/containerd/continuity v0.2.1/go.mod h1:wCYX+dRqZdImhGucXOqTQn05AhX6EUDaGEMUzTFFpLg=
+github.com/coreos/bbolt v1.3.2/go.mod h1:iRUV2dpdMOn7Bo10OQBFzIJO9kkE559Wcmn+qkEiiKk=
+github.com/coreos/etcd v3.3.10+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE=
+github.com/coreos/etcd v3.3.13+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE=
+github.com/coreos/go-etcd v2.0.0+incompatible/go.mod h1:Jez6KQU2B/sWsbdaef3ED8NzMklzPG4d5KIOhIy30Tk=
+github.com/coreos/go-semver v0.2.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk=
+github.com/coreos/go-semver v0.3.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk=
+github.com/coreos/go-systemd v0.0.0-20180511133405-39ca1b05acc7/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4=
+github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4=
+github.com/coreos/go-systemd/v22 v22.3.2/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc=
+github.com/coreos/pkg v0.0.0-20160727233714-3ac0863d7acf/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA=
+github.com/coreos/pkg v0.0.0-20180928190104-399ea9e2e55f/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA=
+github.com/cosmos/btcutil v1.0.4 h1:n7C2ngKXo7UC9gNyMNLbzqz7Asuf+7Qv4gnX/rOdQ44=
+github.com/cosmos/btcutil v1.0.4/go.mod h1:Ffqc8Hn6TJUdDgHBwIZLtrLQC1KdJ9jGJl/TvgUaxbU=
+github.com/cosmos/cosmos-sdk v0.45.6 h1:bnYLOcDp0cKWMLeUTTJIttq6xxRep52ulPxXC3BCfuQ=
+github.com/cosmos/cosmos-sdk v0.45.6/go.mod h1:bPeeVMEtVvH3y3xAGHVbK+/CZlpaazzh77hG8ZrcJpI=
+github.com/cosmos/go-bip39 v0.0.0-20180819234021-555e2067c45d/go.mod h1:tSxLoYXyBmiFeKpvmq4dzayMdCjCnu8uqmCysIGBT2Y=
+github.com/cosmos/go-bip39 v1.0.0 h1:pcomnQdrdH22njcAatO0yWojsUnCO3y2tNoV1cb6hHY=
+github.com/cosmos/go-bip39 v1.0.0/go.mod h1:RNJv0H/pOIVgxw6KS7QeX2a0Uo0aKUlfhZ4xuwvCdJw=
+github.com/cosmos/iavl v0.17.3 h1:s2N819a2olOmiauVa0WAhoIJq9EhSXE9HDBAoR9k+8Y=
+github.com/cosmos/iavl v0.17.3/go.mod h1:prJoErZFABYZGDHka1R6Oay4z9PrNeFFiMKHDAMOi4w=
+github.com/cosmos/ibc-go/v4 v4.0.0-rc0 h1:zeMr6PNE7L300AcGkrMwRvtp62/RpGc7qU1LwhUcPKc=
+github.com/cosmos/ibc-go/v4 v4.0.0-rc0/go.mod h1:4LK+uPycPhebJrJ8ebIqvsMEZ0lVRVNTiEyeI9zfB0U=
+github.com/cosmos/ledger-cosmos-go v0.11.1 h1:9JIYsGnXP613pb2vPjFeMMjBI5lEDsEaF6oYorTy6J4=
+github.com/cosmos/ledger-cosmos-go v0.11.1/go.mod h1:J8//BsAGTo3OC/vDLjMRFLW6q0WAaXvHnVc7ZmE8iUY=
+github.com/cosmos/ledger-go v0.9.2 h1:Nnao/dLwaVTk1Q5U9THldpUMMXU94BOTWPddSmVB6pI=
+github.com/cosmos/ledger-go v0.9.2/go.mod h1:oZJ2hHAZROdlHiwTg4t7kP+GKIIkBT+o6c9QWFanOyI=
+github.com/cpuguy83/go-md2man v1.0.10/go.mod h1:SmD6nW6nTyfqj6ABTjUi3V3JVMnlJmwcJI5acqYI6dE=
+github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU=
+github.com/cpuguy83/go-md2man/v2 v2.0.0/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU=
+github.com/cpuguy83/go-md2man/v2 v2.0.1/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o=
+github.com/cpuguy83/go-md2man/v2 v2.0.2/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o=
+github.com/creack/pty v1.1.7/go.mod h1:lj5s0c3V2DBrqTV7llrYr5NG6My20zk30Fl46Y7DoTY=
+github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E=
+github.com/cyphar/filepath-securejoin v0.2.2/go.mod h1:FpkQEhXnPnOthhzymB7CGsFk2G9VLXONKD9G7QGMM+4=
+github.com/danieljoos/wincred v1.0.2 h1:zf4bhty2iLuwgjgpraD2E9UbvO+fe54XXGJbOwe23fU=
+github.com/danieljoos/wincred v1.0.2/go.mod h1:SnuYRW9lp1oJrZX/dXJqr0cPK5gYXqx3EJbmjhLdK9U=
+github.com/davecgh/go-spew v0.0.0-20171005155431-ecdeabc65495/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
+github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
+github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
+github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
+github.com/decred/dcrd/lru v1.0.0/go.mod h1:mxKOwFd7lFjN2GZYsiz/ecgqR6kkYAl+0pz0tEMk218=
+github.com/denisenkom/go-mssqldb v0.12.0/go.mod h1:iiK0YP1ZeepvmBQk/QpLEhhTNJgfzrpArPY/aFvc9yU=
+github.com/desertbit/timer v0.0.0-20180107155436-c41aec40b27f h1:U5y3Y5UE0w7amNe7Z5G/twsBW0KEalRQXZzf8ufSh9I=
+github.com/dgraph-io/badger/v2 v2.2007.2 h1:EjjK0KqwaFMlPin1ajhP943VPENHJdEz1KLIegjaI3k=
+github.com/dgraph-io/badger/v2 v2.2007.2/go.mod h1:26P/7fbL4kUZVEVKLAKXkBXKOydDmM2p1e+NhhnBCAE=
+github.com/dgraph-io/ristretto v0.0.3-0.20200630154024-f66de99634de/go.mod h1:KPxhHT9ZxKefz+PCeOGsrHpl1qZ7i70dGTu2u+Ahh6E=
+github.com/dgraph-io/ristretto v0.0.3 h1:jh22xisGBjrEVnRZ1DVTpBVQm0Xndu8sMl0CWDzSIBI=
+github.com/dgraph-io/ristretto v0.0.3/go.mod h1:KPxhHT9ZxKefz+PCeOGsrHpl1qZ7i70dGTu2u+Ahh6E=
+github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ=
+github.com/dgryski/go-farm v0.0.0-20190423205320-6a90982ecee2/go.mod h1:SqUrOPUnsFjfmXRMNPybcSiG0BgUW2AuFH8PAnS2iTw=
+github.com/dgryski/go-farm v0.0.0-20200201041132-a6ae2369ad13 h1:fAjc9m62+UWV/WAFKLNi6ZS0675eEUC9y3AlwSbQu1Y=
+github.com/dgryski/go-farm v0.0.0-20200201041132-a6ae2369ad13/go.mod h1:SqUrOPUnsFjfmXRMNPybcSiG0BgUW2AuFH8PAnS2iTw=
+github.com/dgryski/go-sip13 v0.0.0-20181026042036-e10d5fee7954/go.mod h1:vAd38F8PWV+bWy6jNmig1y/TA+kYO4g3RSRF0IAv0no=
+github.com/dnaeon/go-vcr v1.2.0/go.mod h1:R4UdLID7HZT3taECzJs4YgbbH6PIGXB6W/sc5OLb6RQ=
+github.com/docker/distribution v2.8.1+incompatible h1:Q50tZOPR6T/hjNsyc9g8/syEs6bk8XXApsHjKukMl68=
+github.com/docker/distribution v2.8.1+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w=
+github.com/docker/docker v20.10.17+incompatible h1:JYCuMrWaVNophQTOrMMoSwudOVEfcegoZZrleKc1xwE=
+github.com/docker/docker v20.10.17+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk=
+github.com/docker/go-connections v0.4.0 h1:El9xVISelRB7BuFusrZozjnkIM5YnzCViNKohAFqRJQ=
+github.com/docker/go-connections v0.4.0/go.mod h1:Gbd7IOopHjR8Iph03tsViu4nIes5XhDvyHbTtUxmeec=
+github.com/docker/go-units v0.4.0 h1:3uh0PgVws3nIA0Q+MwDC8yjEPf9zjRfZZWXZYDct3Tw=
+github.com/docker/go-units v0.4.0/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk=
+github.com/dustin/go-humanize v0.0.0-20171111073723-bb3d318650d4/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk=
+github.com/dustin/go-humanize v1.0.0 h1:VSnTsYCnlFHaM2/igO1h6X3HA71jcobQuxemgkq4zYo=
+github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk=
+github.com/dvsekhvalnov/jose2go v0.0.0-20200901110807-248326c1351b h1:HBah4D48ypg3J7Np4N+HY/ZR76fx3HEUGxDU6Uk39oQ=
+github.com/dvsekhvalnov/jose2go v0.0.0-20200901110807-248326c1351b/go.mod h1:7BvyPhdbLxMXIYTFPLsyJRFMsKmOZnQmzh6Gb+uquuM=
+github.com/eapache/go-resiliency v1.1.0/go.mod h1:kFI+JgMyC7bLPUVY133qvEBtVayf5mFgVsvEsIPBvNs=
+github.com/eapache/go-xerial-snappy v0.0.0-20180814174437-776d5712da21/go.mod h1:+020luEh2TKB4/GOp8oxxtq0Daoen/Cii55CzbTV6DU=
+github.com/eapache/queue v1.1.0/go.mod h1:6eCeP0CKFpHLu8blIFXhExK/dRa7WDZfr6jVFPTqq+I=
+github.com/edsrzf/mmap-go v1.0.0/go.mod h1:YO35OhQPt3KJa3ryjFM5Bs14WD66h8eGKpfaBNrHW5M=
+github.com/envoyproxy/go-control-plane v0.6.9/go.mod h1:SBwIajubJHhxtWwsL9s8ss4safvEdbitLhGGK48rN6g=
+github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4=
+github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4=
+github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98=
+github.com/envoyproxy/go-control-plane v0.9.7/go.mod h1:cwu0lG7PUMfa9snN8LXBig5ynNVH9qI8YYLbd1fK2po=
+github.com/envoyproxy/go-control-plane v0.9.9-0.20201210154907-fd9021fe5dad/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk=
+github.com/envoyproxy/go-control-plane v0.9.9-0.20210217033140-668b12f5399d/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk=
+github.com/envoyproxy/go-control-plane v0.9.9-0.20210512163311-63b5d3c536b0/go.mod h1:hliV/p42l8fGbc6Y9bQ70uLwIvmJyVE5k4iMKlh8wCQ=
+github.com/envoyproxy/go-control-plane v0.9.10-0.20210907150352-cf90f659a021/go.mod h1:AFq3mo9L8Lqqiid3OhADV3RfLJnjiw63cSpi+fDTRC0=
+github.com/envoyproxy/go-control-plane v0.10.1/go.mod h1:AY7fTTXNdv/aJ2O5jwpxAPOWUZ7hQAEvzN5Pf27BkQQ=
+github.com/envoyproxy/go-control-plane v0.10.2-0.20220325020618-49ff273808a1/go.mod h1:KJwIaB5Mv44NWtYuAOFCVOjcI94vtpEz2JU/D2v6IjE=
+github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c=
+github.com/envoyproxy/protoc-gen-validate v0.6.2/go.mod h1:2t7qjJNvHPx8IjnBOzl9E9/baC+qXE/TeeyBRzgJDws=
+github.com/facebookgo/ensure v0.0.0-20160127193407-b4ab57deab51 h1:0JZ+dUmQeA8IIVUMzysrX4/AKuQwWhV2dYQuPZdvdSQ=
+github.com/facebookgo/ensure v0.0.0-20160127193407-b4ab57deab51/go.mod h1:Yg+htXGokKKdzcwhuNDwVvN+uBxDGXJ7G/VN1d8fa64=
+github.com/facebookgo/stack v0.0.0-20160209184415-751773369052 h1:JWuenKqqX8nojtoVVWjGfOF9635RETekkoH6Cc9SX0A=
+github.com/facebookgo/stack v0.0.0-20160209184415-751773369052/go.mod h1:UbMTZqLaRiH3MsBH8va0n7s1pQYcu3uTb8G4tygF4Zg=
+github.com/facebookgo/subset v0.0.0-20150612182917-8dac2c3c4870 h1:E2s37DuLxFhQDg5gKsWoLBOB0n+ZW8s599zru8FJ2/Y=
+github.com/facebookgo/subset v0.0.0-20150612182917-8dac2c3c4870/go.mod h1:5tD+neXqOorC30/tWg0LCSkrqj/AR6gu8yY8/fpw1q0=
+github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4=
+github.com/fatih/color v1.9.0/go.mod h1:eQcE1qtQxscV5RaZvpXrrb8Drkc3/DdQ+uUYCNjL+zU=
+github.com/fatih/color v1.12.0/go.mod h1:ELkj/draVOlAH/xkhN6mQ50Qd0MPOk5AAr3maGEBuJM=
+github.com/fatih/color v1.13.0/go.mod h1:kLAiJbzzSOZDVNGyDpeOxJ47H46qBXwg5ILebYFFOfk=
+github.com/felixge/httpsnoop v1.0.1 h1:lvB5Jl89CsZtGIWuTcDM1E/vkVs49/Ml7JJe07l8SPQ=
+github.com/felixge/httpsnoop v1.0.1/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U=
+github.com/fogleman/gg v1.2.1-0.20190220221249-0403632d5b90/go.mod h1:R/bRT+9gY/C5z7JzPU0zXsXHKM4/ayA+zqcVNZzPa1k=
+github.com/fortytw2/leaktest v1.3.0 h1:u8491cBMTQ8ft8aeV+adlcytMZylmA5nnwwkRZjI8vw=
+github.com/fortytw2/leaktest v1.3.0/go.mod h1:jDsjWgpAGjm2CA7WthBh/CdZYEPF31XHquHwclZch5g=
+github.com/franela/goblin v0.0.0-20200105215937-c9ffbefa60db/go.mod h1:7dvUGVsVBjqR7JHJk0brhHOZYGmfBYOrK0ZhYMEtBr4=
+github.com/franela/goblin v0.0.0-20210519012713-85d372ac71e2/go.mod h1:VzmDKDJVZI3aJmnRI9VjAn9nJ8qPPsN1fqzr9dqInIo=
+github.com/franela/goreq v0.0.0-20171204163338-bcd34c9993f8/go.mod h1:ZhphrRTfi2rbfLwlschooIH4+wKKDR4Pdxhh+TRoA20=
+github.com/frankban/quicktest v1.11.3/go.mod h1:wRf/ReqHper53s+kmmSZizM8NamnL3IM0I9ntUbOk+k=
+github.com/frankban/quicktest v1.14.3 h1:FJKSZTDHjyhriyC81FLQ0LY93eSai0ZyR/ZIkd3ZUKE=
+github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo=
+github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ=
+github.com/fsnotify/fsnotify v1.5.1/go.mod h1:T3375wBYaZdLLcVNkcVbzGHY7f1l/uK5T5Ai1i3InKU=
+github.com/fsnotify/fsnotify v1.5.4 h1:jRbGcIw6P2Meqdwuo0H1p6JVLbL5DHKAKlYndzMwVZI=
+github.com/fsnotify/fsnotify v1.5.4/go.mod h1:OVB6XrOHzAwXMpEM7uPOzcehqUV2UqJxmVXmkdnm1bU=
+github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04=
+github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU=
+github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8=
+github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8=
+github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as=
+github.com/go-kit/kit v0.9.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as=
+github.com/go-kit/kit v0.10.0/go.mod h1:xUsJbQ/Fp4kEt7AFgCuvyX4a71u8h9jB8tj/ORgOZ7o=
+github.com/go-kit/kit v0.12.0 h1:e4o3o3IsBfAKQh5Qbbiqyfu97Ku7jrO/JbohvztANh4=
+github.com/go-kit/kit v0.12.0/go.mod h1:lHd+EkCZPIwYItmGDDRdhinkzX2A1sj+M9biaEaizzs=
+github.com/go-kit/log v0.1.0/go.mod h1:zbhenjAZHb184qTLMA9ZjW7ThYL0H2mk7Q6pNt4vbaY=
+github.com/go-kit/log v0.2.0 h1:7i2K3eKTos3Vc0enKCfnVcgHh2olr/MyfboYq7cAcFw=
+github.com/go-kit/log v0.2.0/go.mod h1:NwTd00d/i8cPZ3xOwwiv2PO5MOcx78fFErGNcVmBjv0=
+github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE=
+github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk=
+github.com/go-logfmt/logfmt v0.5.0/go.mod h1:wCYkCAKZfumFQihp8CzCvQ3paCTfi41vtzG1KdI/P7A=
+github.com/go-logfmt/logfmt v0.5.1 h1:otpy5pqBCBZ1ng9RQ0dPu4PN7ba75Y/aA+UpowDyNVA=
+github.com/go-logfmt/logfmt v0.5.1/go.mod h1:WYhtIu8zTZfxdn5+rREduYbwxfcBr/Vr6KEVveWlfTs=
+github.com/go-sql-driver/mysql v1.4.0/go.mod h1:zAC/RDZ24gD3HViQzih4MyKcchzm+sOG5ZlKdlhCg5w=
+github.com/go-sql-driver/mysql v1.6.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg=
+github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY=
+github.com/go-task/slim-sprig v0.0.0-20210107165309-348f09dbbbc0/go.mod h1:fyg7847qk6SyHyPtNmDHnmrv/HOrqktSC+C9fM+CJOE=
+github.com/go-zookeeper/zk v1.0.2/go.mod h1:nOB03cncLtlp4t+UAkGSV+9beXP/akpekBwL+UX1Qcw=
+github.com/godbus/dbus v0.0.0-20190726142602-4481cbc300e2 h1:ZpnhV/YsD2/4cESfV5+Hoeu/iUR3ruzNvZ+yQfO03a0=
+github.com/godbus/dbus v0.0.0-20190726142602-4481cbc300e2/go.mod h1:bBOAhwG1umN6/6ZUMtDFBMQR8jRg9O75tm9K00oMsK4=
+github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA=
+github.com/gogo/gateway v1.1.0 h1:u0SuhL9+Il+UbjM9VIE3ntfRujKbvVpFvNB4HbjeVQ0=
+github.com/gogo/gateway v1.1.0/go.mod h1:S7rR8FRQyG3QFESeSv4l2WnsyzlCLG0CzBbUUo/mbic=
+github.com/gogo/googleapis v1.1.0/go.mod h1:gf4bu3Q80BeJ6H1S1vYPm8/ELATdvryBaNFGgqEef3s=
+github.com/golang-jwt/jwt/v4 v4.0.0/go.mod h1:/xlHOz8bRuivTWchD4jCa+NbatV+wEUSzwAxVc6locg=
+github.com/golang-sql/civil v0.0.0-20190719163853-cb61b32ac6fe/go.mod h1:8vg3r2VgvsThLBIFL93Qb5yWzgyZWhEmBwUJWevAkK0=
+github.com/golang-sql/sqlexp v0.0.0-20170517235910-f1bb20e5a188/go.mod h1:vXjM/+wXQnTPR4KqTKDgJukSZ6amVRtWMPEjE6sQoK8=
+github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0/go.mod h1:E/TSTwGwJL78qG/PmXZO1EjYhfJinVAhrmmHX6Z8B9k=
+github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q=
+github.com/golang/groupcache v0.0.0-20160516000752-02826c3e7903/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
+github.com/golang/groupcache v0.0.0-20190129154638-5b532d6fd5ef/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
+github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
+github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
+github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
+github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
+github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A=
+github.com/golang/mock v1.2.0/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A=
+github.com/golang/mock v1.3.1/go.mod h1:sBzyDLLjw3U8JLTeZvSv8jJB+tU5PVekmnlKIyFUx0Y=
+github.com/golang/mock v1.4.0/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw=
+github.com/golang/mock v1.4.1/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw=
+github.com/golang/mock v1.4.3/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw=
+github.com/golang/mock v1.4.4/go.mod h1:l3mdAwkq5BuhzHwde/uurv3sEJeZMXNpwsxVWU71h+4=
+github.com/golang/mock v1.5.0/go.mod h1:CWnOUgYIOo4TcNZ0wHX3YZCqsaM1I1Jvs6v3mP3KVu8=
+github.com/golang/mock v1.6.0 h1:ErTB+efbowRARo13NNdxyJji2egdxLGQhRaY+DUumQc=
+github.com/golang/mock v1.6.0/go.mod h1:p6yTPP+5HYm5mzsMV8JkE6ZKdX+/wYM6Hr+LicevLPs=
+github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
+github.com/golang/protobuf v1.3.0/go.mod h1:Qd/q+1AKNOZr9uGQzbzCmRO6sUih6GTPZv6a1/R87v0=
+github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
+github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
+github.com/golang/protobuf v1.3.3/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw=
+github.com/golang/protobuf v1.3.4/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw=
+github.com/golang/protobuf v1.3.5/go.mod h1:6O5/vntMXwX2lRkT1hjjk0nAC1IDOTvTlVgjlRvqsdk=
+github.com/golang/protobuf v1.4.0-rc.1/go.mod h1:ceaxUfeHdC40wWswd/P6IGgMaK3YpKi5j83Wpe3EHw8=
+github.com/golang/protobuf v1.4.0-rc.1.0.20200221234624-67d41d38c208/go.mod h1:xKAWHe0F5eneWXFV3EuXVDTCmh+JuBKY0li0aMyXATA=
+github.com/golang/protobuf v1.4.0-rc.2/go.mod h1:LlEzMj4AhA7rCAGe4KMBDvJI+AwstrUpVNzEA03Pprs=
+github.com/golang/protobuf v1.4.0-rc.4.0.20200313231945-b860323f09d0/go.mod h1:WU3c8KckQ9AFe+yFwt9sWVRKCVIyN9cPHBJSNnbL67w=
+github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvqG2KuDX0=
+github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QDs8UjoX8=
+github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI=
+github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI=
+github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk=
+github.com/golang/protobuf v1.5.1/go.mod h1:DopwsBzvsk0Fs44TXzsVbJyPhcCPeIwnvohx4u74HPM=
+github.com/golang/protobuf v1.5.2 h1:ROPKBNFfQgOUMifHyP+KYbvpjbdoFNs+aK7DXlji0Tw=
+github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY=
+github.com/golang/snappy v0.0.0-20180518054509-2e65f85255db/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q=
+github.com/golang/snappy v0.0.1/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q=
+github.com/golang/snappy v0.0.3 h1:fHPg5GQYlCeLIPB9BZqMVR5nR9A+IM5zcgeTdjMYmLA=
+github.com/golang/snappy v0.0.3/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q=
+github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ=
+github.com/google/btree v1.0.0 h1:0udJVsspx3VBr5FwtLhQQtuAsVc79tTq0ocGIPAU6qo=
+github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ=
+github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M=
+github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=
+github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=
+github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
+github.com/google/go-cmp v0.4.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
+github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
+github.com/google/go-cmp v0.5.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
+github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
+github.com/google/go-cmp v0.5.3/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
+github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
+github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
+github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
+github.com/google/go-cmp v0.5.8 h1:e6P7q2lk1O+qJJb4BtCQXlK8vWEO8V1ZeuEdJNOqZyg=
+github.com/google/gofuzz v0.0.0-20170612174753-24818f796faf/go.mod h1:HP5RmnzzSNb993RKQDq4+1A4ia9nllfqcQFTQJedwGI=
+github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
+github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0=
+github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs=
+github.com/google/martian/v3 v3.0.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0=
+github.com/google/martian/v3 v3.1.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0=
+github.com/google/martian/v3 v3.2.1/go.mod h1:oBOf6HBosgwRXnUGWUB05QECsc6uvmMiJ3+6W4l/CUk=
+github.com/google/orderedcode v0.0.1 h1:UzfcAexk9Vhv8+9pNOgRu41f16lHq725vPwnSeiG/Us=
+github.com/google/orderedcode v0.0.1/go.mod h1:iVyU4/qPKHY5h/wSd6rZZCDcLJNxiWO6dvsYES2Sb20=
+github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc=
+github.com/google/pprof v0.0.0-20190515194954-54271f7e092f/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc=
+github.com/google/pprof v0.0.0-20191218002539-d4f498aebedc/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM=
+github.com/google/pprof v0.0.0-20200212024743-f11f1df84d12/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM=
+github.com/google/pprof v0.0.0-20200229191704-1ebb73c60ed3/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM=
+github.com/google/pprof v0.0.0-20200430221834-fc25d7d30c6d/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM=
+github.com/google/pprof v0.0.0-20200708004538-1a94d8640e99/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM=
+github.com/google/pprof v0.0.0-20201023163331-3e6fc7fc9c4c/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE=
+github.com/google/pprof v0.0.0-20201203190320-1bf35d6f28c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE=
+github.com/google/pprof v0.0.0-20201218002935-b9804c9f04c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE=
+github.com/google/pprof v0.0.0-20210122040257-d980be63207e/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE=
+github.com/google/pprof v0.0.0-20210226084205-cbba55b83ad5/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE=
+github.com/google/pprof v0.0.0-20210601050228-01bbb1931b22/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE=
+github.com/google/pprof v0.0.0-20210609004039-a478d1d731e9/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE=
+github.com/google/pprof v0.0.0-20210720184732-4bb14d4b1be1/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE=
+github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI=
+github.com/google/uuid v1.0.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
+github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
+github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I=
+github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
+github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg=
+github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk=
+github.com/googleapis/gax-go/v2 v2.1.0/go.mod h1:Q3nei7sK6ybPYH7twZdmQpAd1MKb7pfu6SK+H1/DsU0=
+github.com/googleapis/gax-go/v2 v2.1.1/go.mod h1:hddJymUZASv3XPyGkUpKj8pPO47Rmb0eJc8R6ouapiM=
+github.com/googleapis/google-cloud-go-testing v0.0.0-20200911160855-bcd43fbb19e8/go.mod h1:dvDLG8qkwmyD9a/MJJN3XJcT3xFxOKAvTZGvuZmac9g=
+github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY=
+github.com/gorilla/context v1.1.1/go.mod h1:kBGZzfjB9CEq2AlWe17Uuf7NDRt0dE0s8S51q0aT7Yg=
+github.com/gorilla/handlers v1.5.1 h1:9lRY6j8DEeeBT10CvO9hGW0gmky0BprnvDI5vfhUHH4=
+github.com/gorilla/handlers v1.5.1/go.mod h1:t8XrUpc4KVXb7HGyJ4/cEnwQiaxrX/hz1Zv/4g96P1Q=
+github.com/gorilla/mux v1.6.2/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs=
+github.com/gorilla/mux v1.7.3/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs=
+github.com/gorilla/mux v1.8.0 h1:i40aqfkR1h2SlN9hojwV5ZA91wcXFOvkdNIeFDP5koI=
+github.com/gorilla/mux v1.8.0/go.mod h1:DVbg23sWSpFRCP0SfiEN6jmj59UnW/n46BH5rLB71So=
+github.com/gorilla/websocket v0.0.0-20170926233335-4201258b820c/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ=
+github.com/gorilla/websocket v1.4.0/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ=
+github.com/gorilla/websocket v1.4.2/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE=
+github.com/gorilla/websocket v1.5.0 h1:PPwGk2jz7EePpoHN/+ClbZu8SPxiqlu12wZP/3sWmnc=
+github.com/gorilla/websocket v1.5.0/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE=
+github.com/gotestyourself/gotestyourself v2.2.0+incompatible/go.mod h1:zZKM6oeNM8k+FRljX1mnzVYeS8wiGgQyvST1/GafPbY=
+github.com/grpc-ecosystem/go-grpc-middleware v1.0.0/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs=
+github.com/grpc-ecosystem/go-grpc-middleware v1.0.1-0.20190118093823-f849b5445de4/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs=
+github.com/grpc-ecosystem/go-grpc-middleware v1.3.0 h1:+9834+KizmvFV7pXQGSXQTsaWhq2GjuNUt0aUU0YBYw=
+github.com/grpc-ecosystem/go-grpc-middleware v1.3.0/go.mod h1:z0ButlSOZa5vEBq9m2m2hlwIgKw+rp3sdCBRoJY+30Y=
+github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0/go.mod h1:8NvIoxWQoOIhqOTXgfV/d3M/q6VIi02HzZEHgUlZvzk=
+github.com/grpc-ecosystem/grpc-gateway v1.8.5/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY=
+github.com/grpc-ecosystem/grpc-gateway v1.9.0/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY=
+github.com/grpc-ecosystem/grpc-gateway v1.9.5/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY=
+github.com/grpc-ecosystem/grpc-gateway v1.16.0 h1:gmcG1KaJ57LophUzW0Hy8NmPhnMZb4M0+kPpLofRdBo=
+github.com/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFbcEtjT1g+wF4CSlocrBnw=
+github.com/gsterjov/go-libsecret v0.0.0-20161001094733-a6f4afe4910c h1:6rhixN/i8ZofjG1Y75iExal34USq5p+wiN1tpie8IrU=
+github.com/gsterjov/go-libsecret v0.0.0-20161001094733-a6f4afe4910c/go.mod h1:NMPJylDgVpX0MLRlPy15sqSwOFv/U1GZ2m21JhFfek0=
+github.com/gtank/merlin v0.1.1-0.20191105220539-8318aed1a79f/go.mod h1:T86dnYJhcGOh5BjZFCJWTDeTK7XW8uE+E21Cy/bIQ+s=
+github.com/gtank/merlin v0.1.1 h1:eQ90iG7K9pOhtereWsmyRJ6RAwcP4tHTDBHXNg+u5is=
+github.com/gtank/merlin v0.1.1/go.mod h1:T86dnYJhcGOh5BjZFCJWTDeTK7XW8uE+E21Cy/bIQ+s=
+github.com/gtank/ristretto255 v0.1.2 h1:JEqUCPA1NvLq5DwYtuzigd7ss8fwbYay9fi4/5uMzcc=
+github.com/gtank/ristretto255 v0.1.2/go.mod h1:Ph5OpO6c7xKUGROZfWVLiJf9icMDwUeIvY4OmlYW69o=
+github.com/hashicorp/consul/api v1.1.0/go.mod h1:VmuI/Lkw1nC05EYQWNKwWGbkg+FbDBtguAZLlVdkD9Q=
+github.com/hashicorp/consul/api v1.3.0/go.mod h1:MmDNSzIMUjNpY/mQ398R4bk2FnqQLoPndWW5VkKPlCE=
+github.com/hashicorp/consul/api v1.10.1/go.mod h1:XjsvQN+RJGWI2TWy1/kqaE16HrR2J/FWgkYjdZQsX9M=
+github.com/hashicorp/consul/api v1.12.0/go.mod h1:6pVBMo0ebnYdt2S3H87XhekM/HHrUoTD2XXb/VrZVy0=
+github.com/hashicorp/consul/sdk v0.1.1/go.mod h1:VKf9jXwCTEY1QZP2MOLRhb5i/I/ssyNV1vwHyQBF0x8=
+github.com/hashicorp/consul/sdk v0.3.0/go.mod h1:VKf9jXwCTEY1QZP2MOLRhb5i/I/ssyNV1vwHyQBF0x8=
+github.com/hashicorp/consul/sdk v0.8.0/go.mod h1:GBvyrGALthsZObzUGsfgHZQDXjg4lOjagTIwIR1vPms=
+github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4=
+github.com/hashicorp/go-cleanhttp v0.5.0/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80=
+github.com/hashicorp/go-cleanhttp v0.5.1/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80=
+github.com/hashicorp/go-cleanhttp v0.5.2/go.mod h1:kO/YDlP8L1346E6Sodw+PrpBSV4/SoxCXGY6BqNFT48=
+github.com/hashicorp/go-hclog v0.12.0/go.mod h1:whpDNt7SSdeAju8AWKIWsul05p54N/39EeqMAyrmvFQ=
+github.com/hashicorp/go-hclog v0.16.2/go.mod h1:whpDNt7SSdeAju8AWKIWsul05p54N/39EeqMAyrmvFQ=
+github.com/hashicorp/go-hclog v1.0.0/go.mod h1:whpDNt7SSdeAju8AWKIWsul05p54N/39EeqMAyrmvFQ=
+github.com/hashicorp/go-immutable-radix v1.0.0/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60=
+github.com/hashicorp/go-immutable-radix v1.3.1 h1:DKHmCUm2hRBK510BaiZlwvpD40f8bJFeZnpfm2KLowc=
+github.com/hashicorp/go-immutable-radix v1.3.1/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60=
+github.com/hashicorp/go-msgpack v0.5.3/go.mod h1:ahLV/dePpqEmjfWmKiqvPkv/twdG7iPBM1vqhUKIvfM=
+github.com/hashicorp/go-multierror v1.0.0/go.mod h1:dHtQlpGsu+cZNNAkkCN/P3hoUDHhCYQXV3UM06sGGrk=
+github.com/hashicorp/go-multierror v1.1.0/go.mod h1:spPvp8C1qA32ftKqdAHm4hHTbPw+vmowP0z+KUhOZdA=
+github.com/hashicorp/go-retryablehttp v0.5.3/go.mod h1:9B5zBasrRhHXnJnui7y6sL7es7NDiJgTc6Er0maI1Xs=
+github.com/hashicorp/go-rootcerts v1.0.0/go.mod h1:K6zTfqpRlCUIjkwsN4Z+hiSfzSTQa6eBIzfwKfwNnHU=
+github.com/hashicorp/go-rootcerts v1.0.2/go.mod h1:pqUvnprVnM5bf7AOirdbb01K4ccR319Vf4pU3K5EGc8=
+github.com/hashicorp/go-sockaddr v1.0.0/go.mod h1:7Xibr9yA9JjQq1JpNB2Vw7kxv8xerXegt+ozgdvDeDU=
+github.com/hashicorp/go-syslog v1.0.0/go.mod h1:qPfqrKkXGihmCqbJM2mZgkZGvKG1dFdvsLplgctolz4=
+github.com/hashicorp/go-uuid v1.0.0/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro=
+github.com/hashicorp/go-uuid v1.0.1 h1:fv1ep09latC32wFoVwnqcnKJGnMSdBanPczbHAYm1BE=
+github.com/hashicorp/go-uuid v1.0.1/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro=
+github.com/hashicorp/go-version v1.2.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA=
+github.com/hashicorp/go.net v0.0.1/go.mod h1:hjKkEWcCURg++eb33jQU7oqQcI9XDCnUzHA0oac0k90=
+github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8=
+github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8=
+github.com/hashicorp/golang-lru v0.5.4 h1:YDjusn29QI/Das2iO9M0BHnIbxPeyuCHsjMW+lJfyTc=
+github.com/hashicorp/golang-lru v0.5.4/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4=
+github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4=
+github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ=
+github.com/hashicorp/logutils v1.0.0/go.mod h1:QIAnNjmIWmVIIkWDTG1z5v++HQmx9WQRO+LraFDTW64=
+github.com/hashicorp/mdns v1.0.0/go.mod h1:tL+uN++7HEJ6SQLQ2/p+z2pH24WQKWjBPkE0mNTz8vQ=
+github.com/hashicorp/mdns v1.0.1/go.mod h1:4gW7WsVCke5TE7EPeYliwHlRUyBtfCwuFwuMg2DmyNY=
+github.com/hashicorp/mdns v1.0.4/go.mod h1:mtBihi+LeNXGtG8L9dX59gAEa12BDtBQSp4v/YAJqrc=
+github.com/hashicorp/memberlist v0.1.3/go.mod h1:ajVTdAv/9Im8oMAAj5G31PhhMCZJV2pPBoIllUwCN7I=
+github.com/hashicorp/memberlist v0.2.2/go.mod h1:MS2lj3INKhZjWNqd3N0m3J+Jxf3DAOnAH9VT3Sh9MUE=
+github.com/hashicorp/memberlist v0.3.0/go.mod h1:MS2lj3INKhZjWNqd3N0m3J+Jxf3DAOnAH9VT3Sh9MUE=
+github.com/hashicorp/serf v0.8.2/go.mod h1:6hOLApaqBFA1NXqRQAsxw9QxuDEvNxSQRwA/JwenrHc=
+github.com/hashicorp/serf v0.9.5/go.mod h1:UWDWwZeL5cuWDJdl0C6wrvrUwEqtQ4ZKBKKENpqIUyk=
+github.com/hashicorp/serf v0.9.6/go.mod h1:TXZNMjZQijwlDvp+r0b63xZ45H7JmCmgg4gpTwn9UV4=
+github.com/hdevalence/ed25519consensus v0.0.0-20210204194344-59a8610d2b87 h1:uUjLpLt6bVvZ72SQc/B4dXcPBw4Vgd7soowdRl52qEM=
+github.com/hdevalence/ed25519consensus v0.0.0-20210204194344-59a8610d2b87/go.mod h1:XGsKKeXxeRr95aEOgipvluMPlgjr7dGlk9ZTWOjcUcg=
+github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU=
+github.com/hudl/fargo v1.3.0/go.mod h1:y3CKSmjA+wD2gak7sUSXTAoopbhU08POFhmITJgmKTg=
+github.com/hudl/fargo v1.4.0/go.mod h1:9Ai6uvFy5fQNq6VPKtg+Ceq1+eTY4nKUlR2JElEOcDo=
+github.com/iancoleman/strcase v0.2.0/go.mod h1:iwCmte+B7n89clKwxIoIXy/HfoL7AsD47ZCWhYzw7ho=
+github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc=
+github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc=
+github.com/improbable-eng/grpc-web v0.14.1 h1:NrN4PY71A6tAz2sKDvC5JCauENWp0ykG8Oq1H3cpFvw=
+github.com/inconshreveable/mousetrap v1.0.0 h1:Z8tu5sraLXCXIcARxBp/8cbvlwVa7Z1NHg9XEKhtSvM=
+github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8=
+github.com/influxdata/influxdb1-client v0.0.0-20191209144304-8bf82d3c094d/go.mod h1:qj24IKcXYK6Iy9ceXlo3Tc+vtHo9lIhSX5JddghvEPo=
+github.com/influxdata/influxdb1-client v0.0.0-20200827194710-b269163b24ab/go.mod h1:qj24IKcXYK6Iy9ceXlo3Tc+vtHo9lIhSX5JddghvEPo=
+github.com/jessevdk/go-flags v0.0.0-20141203071132-1679536dcc89/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI=
+github.com/jessevdk/go-flags v1.4.0/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI=
+github.com/jmespath/go-jmespath v0.0.0-20180206201540-c2b33e8439af/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k=
+github.com/jmespath/go-jmespath v0.4.0/go.mod h1:T8mJZnbsbmF+m6zOOFylbeCJqk5+pHWvzYPziyZiYoo=
+github.com/jmespath/go-jmespath/internal/testify v1.5.1/go.mod h1:L3OGu8Wl2/fWfCI6z80xFu9LTZmf1ZRjMHUOPmWr69U=
+github.com/jmhodges/levigo v1.0.0 h1:q5EC36kV79HWeTBWsod3mG11EgStG3qArTKcvlksN1U=
+github.com/jmhodges/levigo v1.0.0/go.mod h1:Q6Qx+uH3RAqyK4rFQroq9RL7mdkABMcfhEI+nNuzMJQ=
+github.com/jonboulle/clockwork v0.1.0/go.mod h1:Ii8DK3G1RaLaWxj9trq07+26W01tbo22gdxWY5EU2bo=
+github.com/jpillora/backoff v1.0.0/go.mod h1:J/6gKK9jxlEcS3zixgDgUAsiuZ7yrSoa/FX5e0EB2j4=
+github.com/jrick/logrotate v1.0.0/go.mod h1:LNinyqDIJnpAur+b8yyulnQw/wDuN1+BYKlTRt3OuAQ=
+github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU=
+github.com/json-iterator/go v1.1.7/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4=
+github.com/json-iterator/go v1.1.8/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4=
+github.com/json-iterator/go v1.1.9/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4=
+github.com/json-iterator/go v1.1.10/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4=
+github.com/json-iterator/go v1.1.11/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4=
+github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo=
+github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU=
+github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/XSXhF0NWZEnDohbsk=
+github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU=
+github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w=
+github.com/julienschmidt/httprouter v1.3.0/go.mod h1:JR6WtHb+2LUe8TCKY3cZOxFyyO8IZAc4RVcycCCAKdM=
+github.com/jung-kurt/gofpdf v1.0.3-0.20190309125859-24315acbbda5/go.mod h1:7Id9E/uU8ce6rXgefFLlgrJj/GYY22cpxn+r32jIOes=
+github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51 h1:Z9n2FFNUXsshfwJMBgNA0RU6/i7WVaAegv3PtuIHPMs=
+github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51/go.mod h1:CzGEWj7cYgsdH8dAjBGEr58BoE7ScuLd+fwFZ44+/x8=
+github.com/keybase/go-keychain v0.0.0-20190712205309-48d3d31d256d h1:Z+RDyXzjKE0i2sTjZ/b1uxiGtPhFy34Ou/Tk0qwN0kM=
+github.com/keybase/go-keychain v0.0.0-20190712205309-48d3d31d256d/go.mod h1:JJNrCn9otv/2QP4D7SMJBgaleKpOf66PnW6F5WGNRIc=
+github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8=
+github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck=
+github.com/kkdai/bstream v0.0.0-20161212061736-f391b8402d23/go.mod h1:J+Gs4SYgM6CZQHDETBtE9HaSEkGmuNXF86RwHhHUvq4=
+github.com/klauspost/compress v1.13.4/go.mod h1:8dP1Hq4DHOhN9w426knH3Rhby4rFm6D8eO+e+Dq5Gzg=
+github.com/klauspost/compress v1.13.6 h1:P76CopJELS0TiO2mebmnzgWaajssP/EszplttgQxcgc=
+github.com/klauspost/compress v1.13.6/go.mod h1:/3/Vjq9QcHkK5uEr5lBEmyoZ1iFhe47etQ6QUkpK6sk=
+github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
+github.com/konsorten/go-windows-terminal-sequences v1.0.3/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
+github.com/kr/fs v0.1.0/go.mod h1:FFnZGqtBN9Gxj7eW1uZ42v5BccTP0vu6NEaFoC2HwRg=
+github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc=
+github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
+github.com/kr/pretty v0.2.0/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI=
+github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI=
+github.com/kr/pretty v0.3.0 h1:WgNl7dwNpEZ6jJ9k1snq4pZsg7DOEN8hP9Xw0Tsjwk0=
+github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
+github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
+github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
+github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
+github.com/lib/pq v1.2.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo=
+github.com/lib/pq v1.10.4 h1:SO9z7FRPzA03QhHKJrH5BXA6HU1rS4V2nIVrrNC1iYk=
+github.com/lib/pq v1.10.4/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o=
+github.com/libp2p/go-buffer-pool v0.0.2 h1:QNK2iAFa8gjAe1SPz6mHSMuCcjs+X1wlHzeOSqcmlfs=
+github.com/libp2p/go-buffer-pool v0.0.2/go.mod h1:MvaB6xw5vOrDl8rYZGLFdKAuk/hRoRZd1Vi32+RXyFM=
+github.com/lightstep/lightstep-tracer-common/golang/gogo v0.0.0-20190605223551-bc2310a04743/go.mod h1:qklhhLq1aX+mtWk9cPHPzaBjWImj5ULL6C7HFJtXQMM=
+github.com/lightstep/lightstep-tracer-go v0.18.1/go.mod h1:jlF1pusYV4pidLvZ+XD0UBX0ZE6WURAspgAczcDHrL4=
+github.com/lyft/protoc-gen-star v0.5.3/go.mod h1:V0xaHgaf5oCCqmcxYcWiDfTiKsZsRc87/1qhoTACD8w=
+github.com/lyft/protoc-gen-validate v0.0.13/go.mod h1:XbGvPuh87YZc5TdIa2/I4pLk0QoUACkjt2znoq26NVQ=
+github.com/magiconair/properties v1.8.0/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ=
+github.com/magiconair/properties v1.8.1/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ=
+github.com/magiconair/properties v1.8.5/go.mod h1:y3VJvCyxH9uVvJTWEGAELF3aiYNyPKd5NZ3oSwXrF60=
+github.com/magiconair/properties v1.8.6 h1:5ibWZ6iY0NctNGWo87LalDlEZ6R41TqbbDamhfG/Qzo=
+github.com/magiconair/properties v1.8.6/go.mod h1:y3VJvCyxH9uVvJTWEGAELF3aiYNyPKd5NZ3oSwXrF60=
+github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU=
+github.com/mattn/go-colorable v0.1.4/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE=
+github.com/mattn/go-colorable v0.1.6/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc=
+github.com/mattn/go-colorable v0.1.8/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc=
+github.com/mattn/go-colorable v0.1.9/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc=
+github.com/mattn/go-colorable v0.1.12/go.mod h1:u5H1YNBxpqRaxsYJYSkiCWKzEfiAb1Gb520KVy5xxl4=
+github.com/mattn/go-isatty v0.0.3/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4=
+github.com/mattn/go-isatty v0.0.4/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4=
+github.com/mattn/go-isatty v0.0.8/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s=
+github.com/mattn/go-isatty v0.0.10/go.mod h1:qgIWMr58cqv1PHHyhnkY9lrL7etaEgOFcMEpPG5Rm84=
+github.com/mattn/go-isatty v0.0.11/go.mod h1:PhnuNfih5lzO57/f3n+odYbM4JtupLOxQOAqxQCu2WE=
+github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU=
+github.com/mattn/go-isatty v0.0.14 h1:yVuAays6BHfxijgZPzw+3Zlu5yQgKGP2/hcQbHb7S9Y=
+github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27kJ6hsGG94=
+github.com/mattn/go-runewidth v0.0.2/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU=
+github.com/mattn/go-sqlite3 v1.14.9/go.mod h1:NyWgC/yNuGj7Q9rpYnZvas74GogHl5/Z4A/KQRfk6bU=
+github.com/mattn/go-sqlite3 v1.14.12 h1:TJ1bhYJPV44phC+IMu1u2K/i5RriLTPe+yc68XDJ1Z0=
+github.com/mattn/go-sqlite3 v1.14.12/go.mod h1:NyWgC/yNuGj7Q9rpYnZvas74GogHl5/Z4A/KQRfk6bU=
+github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0=
+github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369 h1:I0XW9+e1XWDxdcEniV4rQAIOPUGDq67JSCiRCgGCZLI=
+github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369/go.mod h1:BSXmuO+STAnVfrANrmjBb36TMTDstsz7MSK+HVaYKv4=
+github.com/miekg/dns v1.0.14/go.mod h1:W1PPwlIAgtquWBMBEV9nkV9Cazfe8ScdGz/Lj7v3Nrg=
+github.com/miekg/dns v1.1.26/go.mod h1:bPDLeHnStXmXAq1m/Ch/hvfNHr14JKNPMBo3VZKjuso=
+github.com/miekg/dns v1.1.41/go.mod h1:p6aan82bvRIyn+zDIv9xYNUpwa73JcSh9BKwknJysuI=
+github.com/miekg/dns v1.1.43/go.mod h1:+evo5L0630/F6ca/Z9+GAqzhjGyn8/c+TBaOyfEl0V4=
+github.com/mimoo/StrobeGo v0.0.0-20181016162300-f8f6d4d2b643 h1:hLDRPB66XQT/8+wG9WsDpiCvZf1yKO7sz7scAjSlBa0=
+github.com/mimoo/StrobeGo v0.0.0-20181016162300-f8f6d4d2b643/go.mod h1:43+3pMjjKimDBf5Kr4ZFNGbLql1zKkbImw+fZbw3geM=
+github.com/minio/highwayhash v1.0.1/go.mod h1:BQskDq+xkJ12lmlUUi7U0M5Swg3EWR+dLTk+kldvVxY=
+github.com/minio/highwayhash v1.0.2 h1:Aak5U0nElisjDCfPSG79Tgzkn2gl66NxOMspRrKnA/g=
+github.com/minio/highwayhash v1.0.2/go.mod h1:BQskDq+xkJ12lmlUUi7U0M5Swg3EWR+dLTk+kldvVxY=
+github.com/mitchellh/cli v1.0.0/go.mod h1:hNIlj7HEI86fIcpObd7a0FcrxTWetlwJDGcceTlRvqc=
+github.com/mitchellh/cli v1.1.0/go.mod h1:xcISNoH86gajksDmfB23e/pu+B+GeFRMYmoHXxx3xhI=
+github.com/mitchellh/go-homedir v1.0.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0=
+github.com/mitchellh/go-homedir v1.1.0 h1:lukF9ziXFxDFPkA1vsr5zpc1XuPDn/wFntq5mG+4E0Y=
+github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0=
+github.com/mitchellh/go-testing-interface v1.0.0/go.mod h1:kRemZodwjscx+RGhAo8eIhFbs2+BFgRtFPeD/KE+zxI=
+github.com/mitchellh/gox v0.4.0/go.mod h1:Sd9lOJ0+aimLBi73mGofS1ycjY8lL3uZM3JPS42BGNg=
+github.com/mitchellh/iochan v1.0.0/go.mod h1:JwYml1nuB7xOzsp52dPpHFffvOCDupsG0QubkSMEySY=
+github.com/mitchellh/mapstructure v0.0.0-20160808181253-ca63d7c062ee/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y=
+github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y=
+github.com/mitchellh/mapstructure v1.4.2/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo=
+github.com/mitchellh/mapstructure v1.4.3/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo=
+github.com/mitchellh/mapstructure v1.5.0 h1:jeMsZIYE/09sWLaz43PL7Gy6RuMjD2eJVyuac5Z2hdY=
+github.com/mitchellh/mapstructure v1.5.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo=
+github.com/moby/sys/mountinfo v0.4.1/go.mod h1:rEr8tzG/lsIZHBtN/JjGG+LMYx9eXgW2JI+6q0qou+A=
+github.com/moby/term v0.0.0-20201216013528-df9cb8a40635 h1:rzf0wL0CHVc8CEsgyygG0Mn9CNCCPZqOPaz8RiiHYQk=
+github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
+github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
+github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0=
+github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0=
+github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk=
+github.com/modocache/gover v0.0.0-20171022184752-b58185e213c5/go.mod h1:caMODM3PzxT8aQXRPkAt8xlV/e7d7w8GM5g0fa5F0D8=
+github.com/morikuni/aec v1.0.0 h1:nP9CBfwrvYnBRgY6qfDQkygYDmYwOilePFkwzv4dU8A=
+github.com/mrunalp/fileutils v0.5.0/go.mod h1:M1WthSahJixYnrXQl/DFQuteStB1weuxD2QJNHXfbSQ=
+github.com/mtibben/percent v0.2.1 h1:5gssi8Nqo8QU/r2pynCm+hBQHpkB/uNK7BJCFogWdzs=
+github.com/mtibben/percent v0.2.1/go.mod h1:KG9uO+SZkUp+VkRHsCdYQV3XSZrrSpR3O9ibNBTZrns=
+github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U=
+github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U=
+github.com/nats-io/jwt v0.3.0/go.mod h1:fRYCDE99xlTsqUzISS1Bi75UBJ6ljOJQOAAu5VglpSg=
+github.com/nats-io/jwt v0.3.2/go.mod h1:/euKqTS1ZD+zzjYrY7pseZrTtWQSjujC7xjPc8wL6eU=
+github.com/nats-io/jwt v1.2.2/go.mod h1:/xX356yQA6LuXI9xWW7mZNpxgF2mBmGecH+Fj34sP5Q=
+github.com/nats-io/jwt/v2 v2.0.3/go.mod h1:VRP+deawSXyhNjXmxPCHskrR6Mq50BqpEI5SEcNiGlY=
+github.com/nats-io/nats-server/v2 v2.1.2/go.mod h1:Afk+wRZqkMQs/p45uXdrVLuab3gwv3Z8C4HTBu8GD/k=
+github.com/nats-io/nats-server/v2 v2.5.0/go.mod h1:Kj86UtrXAL6LwYRA6H4RqzkHhK0Vcv2ZnKD5WbQ1t3g=
+github.com/nats-io/nats.go v1.9.1/go.mod h1:ZjDU1L/7fJ09jvUSRVBR2e7+RnLiiIQyqyzEE/Zbp4w=
+github.com/nats-io/nats.go v1.12.1/go.mod h1:BPko4oXsySz4aSWeFgOHLZs3G4Jq4ZAyE6/zMCxRT6w=
+github.com/nats-io/nkeys v0.1.0/go.mod h1:xpnFELMwJABBLVhffcfd1MZx6VsNRFpEugbxziKVo7w=
+github.com/nats-io/nkeys v0.1.3/go.mod h1:xpnFELMwJABBLVhffcfd1MZx6VsNRFpEugbxziKVo7w=
+github.com/nats-io/nkeys v0.2.0/go.mod h1:XdZpAbhgyyODYqjTawOnIOI7VlbKSarI9Gfy1tqEu/s=
+github.com/nats-io/nkeys v0.3.0/go.mod h1:gvUNGjVcM2IPr5rCsRsC6Wb3Hr2CQAm08dsxtV6A5y4=
+github.com/nats-io/nuid v1.0.1/go.mod h1:19wcPz3Ph3q0Jbyiqsd0kePYG7A95tJPxeL+1OSON2c=
+github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno=
+github.com/nxadm/tail v1.4.4/go.mod h1:kenIhsEOeOJmVchQTgglprH7qJGnHDVpk1VPCcaMI8A=
+github.com/nxadm/tail v1.4.8 h1:nPr65rt6Y5JFSKQO7qToXr7pePgD6Gwiw05lkbyAQTE=
+github.com/nxadm/tail v1.4.8/go.mod h1:+ncqLTQzXmGhMZNUePPaPqPvBxHAIsmXswZKocGu+AU=
+github.com/oklog/oklog v0.3.2/go.mod h1:FCV+B7mhrz4o+ueLpx+KqkyXRGMWOYEvfiXtdGtbWGs=
+github.com/oklog/run v1.0.0/go.mod h1:dlhp/R75TPv97u0XWUtDeV/lRKWPKSdTuV0TZvrmrQA=
+github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U=
+github.com/olekukonko/tablewriter v0.0.0-20170122224234-a0225b3f23b5/go.mod h1:vsDQFd/mU46D+Z4whnwzcISnGGzXWMclvtLoiIKAKIo=
+github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE=
+github.com/onsi/ginkgo v1.7.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE=
+github.com/onsi/ginkgo v1.12.1/go.mod h1:zj2OWP4+oCPe1qIXoGWkgMRwljMUYCdkwsT2108oapk=
+github.com/onsi/ginkgo v1.14.0/go.mod h1:iSB4RoI2tjJc9BBv4NKIKWKya62Rps+oPG/Lv9klQyY=
+github.com/onsi/ginkgo v1.16.2/go.mod h1:CObGmKUOKaSC0RjmoAK7tKyn4Azo5P2IWuoMnvwxz1E=
+github.com/onsi/ginkgo v1.16.4 h1:29JGrr5oVBm5ulCWet69zQkzWipVXIol6ygQUe/EzNc=
+github.com/onsi/gomega v1.4.1/go.mod h1:C1qb7wdrVGGVU+Z6iS04AVkA3Q65CEZX59MT0QO5uiA=
+github.com/onsi/gomega v1.4.3/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY=
+github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY=
+github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo=
+github.com/onsi/gomega v1.13.0 h1:7lLHu94wT9Ij0o6EWWclhu0aOh32VxhkwEJvzuWPeak=
+github.com/onsi/gomega v1.13.0/go.mod h1:lRk9szgn8TxENtWd0Tp4c3wjlRfMTMH27I+3Je41yGY=
+github.com/op/go-logging v0.0.0-20160315200505-970db520ece7/go.mod h1:HzydrMdWErDVzsI23lYNej1Htcns9BCg93Dk0bBINWk=
+github.com/opencontainers/go-digest v1.0.0-rc1/go.mod h1:cMLVZDEM3+U2I4VmLI6N8jQYUd2OVphdqWwCJHrFt2s=
+github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8Oi/yOhh5U=
+github.com/opencontainers/go-digest v1.0.0/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3IKzErnv2BNG4W4MAM=
+github.com/opencontainers/image-spec v1.0.1/go.mod h1:BtxoFyWECRxE4U/7sNtV5W15zMzWCbyJoFRP3s7yZA0=
+github.com/opencontainers/image-spec v1.0.2/go.mod h1:BtxoFyWECRxE4U/7sNtV5W15zMzWCbyJoFRP3s7yZA0=
+github.com/opencontainers/image-spec v1.0.3-0.20211202183452-c5a74bcca799 h1:rc3tiVYb5z54aKaDfakKn0dDjIyPpTtszkjuMzyt7ec=
+github.com/opencontainers/image-spec v1.0.3-0.20211202183452-c5a74bcca799/go.mod h1:BtxoFyWECRxE4U/7sNtV5W15zMzWCbyJoFRP3s7yZA0=
+github.com/opencontainers/runc v0.1.1/go.mod h1:qT5XzbpPznkRYVz/mWwUaVBUv2rmF59PVA73FjuZG0U=
+github.com/opencontainers/runc v1.0.2/go.mod h1:aTaHFFwQXuA71CiyxOdFFIorAoemI04suvGRQFzWTD0=
+github.com/opencontainers/runc v1.0.3/go.mod h1:aTaHFFwQXuA71CiyxOdFFIorAoemI04suvGRQFzWTD0=
+github.com/opencontainers/runtime-spec v1.0.3-0.20210326190908-1c3f411f0417/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0=
+github.com/opencontainers/selinux v1.8.2/go.mod h1:MUIHuUEvKB1wtJjQdOyYRgOnLD2xAPP8dBsCoU0KuF8=
+github.com/opentracing-contrib/go-observer v0.0.0-20170622124052-a52f23424492/go.mod h1:Ngi6UdF0k5OKD5t5wlmGhe/EDKPoUM3BXZSSfIuJbis=
+github.com/opentracing/basictracer-go v1.0.0/go.mod h1:QfBfYuafItcjQuMwinw9GhYKwFXS9KnPs5lxoYwgW74=
+github.com/opentracing/opentracing-go v1.0.2/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o=
+github.com/opentracing/opentracing-go v1.1.0/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o=
+github.com/opentracing/opentracing-go v1.2.0/go.mod h1:GxEUsuufX4nBwe+T+Wl9TAgYrxe9dPLANfrWvHYVTgc=
+github.com/openzipkin-contrib/zipkin-go-opentracing v0.4.5/go.mod h1:/wsWhb9smxSfWAKL3wpBW7V8scJMt8N8gnaMCS9E/cA=
+github.com/openzipkin/zipkin-go v0.1.6/go.mod h1:QgAqvLzwWbR/WpD4A3cGpPtJrZXNIiJc5AZX7/PBEpw=
+github.com/openzipkin/zipkin-go v0.2.1/go.mod h1:NaW6tEwdmWMaCDZzg8sh+IBNOxHMPnhQw8ySjnjRyN4=
+github.com/openzipkin/zipkin-go v0.2.2/go.mod h1:NaW6tEwdmWMaCDZzg8sh+IBNOxHMPnhQw8ySjnjRyN4=
+github.com/openzipkin/zipkin-go v0.2.5/go.mod h1:KpXfKdgRDnnhsxw4pNIH9Md5lyFqKUa4YDFlwRYAMyE=
+github.com/ory/dockertest v3.3.5+incompatible/go.mod h1:1vX4m9wsvi00u5bseYwXaSnhNrne+V0E6LAcBILJdPs=
+github.com/otiai10/copy v1.6.0 h1:IinKAryFFuPONZ7cm6T6E2QX/vcJwSnlaA5lfoaXIiQ=
+github.com/pact-foundation/pact-go v1.0.4/go.mod h1:uExwJY4kCzNPcHRj+hCR/HBbOOIwwtUjcrb0b5/5kLM=
+github.com/pascaldekloe/goe v0.0.0-20180627143212-57f6aae5913c/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc=
+github.com/pascaldekloe/goe v0.1.0 h1:cBOtyMzM9HTpWjXfbbunk26uA6nG3a8n06Wieeh0MwY=
+github.com/pascaldekloe/goe v0.1.0/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc=
+github.com/pborman/uuid v1.2.0/go.mod h1:X/NO0urCmaxf9VXbdlT7C2Yzkj2IKimNn4k+gtPdI/k=
+github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic=
+github.com/pelletier/go-toml v1.9.4/go.mod h1:u1nR/EPcESfeI/szUZKdtJ0xRNbUoANCkoOuaOx1Y+c=
+github.com/pelletier/go-toml v1.9.5 h1:4yBQzkHv+7BHq2PQUZF3Mx0IYxG7LsP222s7Agd3ve8=
+github.com/pelletier/go-toml v1.9.5/go.mod h1:u1nR/EPcESfeI/szUZKdtJ0xRNbUoANCkoOuaOx1Y+c=
+github.com/pelletier/go-toml/v2 v2.0.1 h1:8e3L2cCQzLFi2CR4g7vGFuFxX7Jl1kKX8gW+iV0GUKU=
+github.com/pelletier/go-toml/v2 v2.0.1/go.mod h1:r9LEWfGN8R5k0VXJ+0BkIe7MYkRdwZOjgMj2KwnJFUo=
+github.com/performancecopilot/speed v3.0.0+incompatible/go.mod h1:/CLtqpZ5gBg1M9iaPbIdPPGyKcA8hKdoy6hAWba7Yac=
+github.com/performancecopilot/speed/v4 v4.0.0/go.mod h1:qxrSyuDGrTOWfV+uKRFhfxw6h/4HXRGUiZiufxo49BM=
+github.com/petermattis/goid v0.0.0-20180202154549-b0b1615b78e5 h1:q2e307iGHPdTGp0hoxKjt1H5pDo6utceo3dQVK3I5XQ=
+github.com/petermattis/goid v0.0.0-20180202154549-b0b1615b78e5/go.mod h1:jvVRKCrJTQWu0XVbaOlby/2lO20uSCHEMzzplHXte1o=
+github.com/philhofer/fwd v1.1.1/go.mod h1:gk3iGcWd9+svBvR0sR+KPcfE+RNWozjowpeBVG3ZVNU=
+github.com/pierrec/lz4 v1.0.2-0.20190131084431-473cd7ce01a1/go.mod h1:3/3N9NVKO0jef7pBehbT1qWhCMrIgbYNnFAZCqQ5LRc=
+github.com/pierrec/lz4 v2.0.5+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi+IEE17M5jbnwPHcY=
+github.com/pierrre/gotestcover v0.0.0-20160517101806-924dca7d15f0/go.mod h1:4xpMLz7RBWyB+ElzHu8Llua96TRCB3YwX+l5EP1wmHk=
+github.com/pkg/browser v0.0.0-20180916011732-0a3d74bf9ce4/go.mod h1:4OwLy04Bl9Ef3GJJCoec+30X3LQs/0/m4HFRt/2LUSA=
+github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
+github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
+github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=
+github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
+github.com/pkg/profile v1.2.1/go.mod h1:hJw3o1OdXxsrSjjVksARp5W95eeEaEfptyVZyv6JUPA=
+github.com/pkg/sftp v1.10.1/go.mod h1:lYOWFsE0bwd1+KfKJaKeuokY15vzFx25BLbzYYoAxZI=
+github.com/pkg/sftp v1.13.1/go.mod h1:3HaPG6Dq1ILlpPZRO0HVMrsydcdLt6HRDccSgb87qRg=
+github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
+github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
+github.com/posener/complete v1.1.1/go.mod h1:em0nMJCgc9GFtwrmVmEMR/ZL6WyhyjMBndrE9hABlRI=
+github.com/posener/complete v1.2.3/go.mod h1:WZIdtGGp+qx0sLrYKtIRAruyNpv6hFCicSgv7Sy7s/s=
+github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw=
+github.com/prometheus/client_golang v0.9.3-0.20190127221311-3c4408c8b829/go.mod h1:p2iRAGwDERtqlqzRXnrOVns+ignqQo//hLXqYxZYVNs=
+github.com/prometheus/client_golang v0.9.3/go.mod h1:/TN21ttK/J9q6uSwhBd54HahCDft0ttaMvbicHlPoso=
+github.com/prometheus/client_golang v1.0.0/go.mod h1:db9x61etRT2tGnBNRi70OPL5FsnadC4Ky3P0J6CfImo=
+github.com/prometheus/client_golang v1.3.0/go.mod h1:hJaj2vgQTGQmVCsAACORcieXFeDPbaTKGT+JTgUa3og=
+github.com/prometheus/client_golang v1.4.0/go.mod h1:e9GMxYsXl05ICDXkRhurwBS4Q3OK1iX/F2sw+iXX5zU=
+github.com/prometheus/client_golang v1.7.1/go.mod h1:PY5Wy2awLA44sXw4AOSfFBetzPP4j5+D6mVACh+pe2M=
+github.com/prometheus/client_golang v1.8.0/go.mod h1:O9VU6huf47PktckDQfMTX0Y8tY0/7TSWwj+ITvv0TnM=
+github.com/prometheus/client_golang v1.11.0/go.mod h1:Z6t4BnS23TR94PD6BsDNk8yVqroYurpAkEiz0P2BEV0=
+github.com/prometheus/client_golang v1.12.1 h1:ZiaPsmm9uiBeaSMRznKsCDNtPCS0T3JVDGF+06gjBzk=
+github.com/prometheus/client_golang v1.12.1/go.mod h1:3Z9XVyYiZYEO+YQWt3RD2R3jrbd179Rt297l4aS6nDY=
+github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo=
+github.com/prometheus/client_model v0.0.0-20190115171406-56726106282f/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo=
+github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA=
+github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA=
+github.com/prometheus/client_model v0.1.0/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA=
+github.com/prometheus/client_model v0.2.0 h1:uq5h0d+GuxiXLJLNABMgp2qUWDPiLvgCzz2dUR+/W/M=
+github.com/prometheus/client_model v0.2.0/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA=
+github.com/prometheus/common v0.0.0-20181113130724-41aa239b4cce/go.mod h1:daVV7qP5qjZbuso7PdcryaAu0sAZbrN9i7WWcTMWvro=
+github.com/prometheus/common v0.2.0/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4=
+github.com/prometheus/common v0.4.0/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4=
+github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4=
+github.com/prometheus/common v0.7.0/go.mod h1:DjGbpBbp5NYNiECxcL/VnbXCCaQpKd3tt26CguLLsqA=
+github.com/prometheus/common v0.9.1/go.mod h1:yhUN8i9wzaXS3w1O07YhxHEBxD+W35wd8bs7vj7HSQ4=
+github.com/prometheus/common v0.10.0/go.mod h1:Tlit/dnDKsSWFlCLTWaA1cyBgKHSMdTB80sz/V91rCo=
+github.com/prometheus/common v0.14.0/go.mod h1:U+gB1OBLb1lF3O42bTCL+FK18tX9Oar16Clt/msog/s=
+github.com/prometheus/common v0.26.0/go.mod h1:M7rCNAaPfAosfx8veZJCuw84e35h3Cfd9VFqTh1DIvc=
+github.com/prometheus/common v0.30.0/go.mod h1:vu+V0TpY+O6vW9J44gczi3Ap/oXXR10b+M/gUGO4Hls=
+github.com/prometheus/common v0.32.1 h1:hWIdL3N2HoUx3B8j3YN9mWor0qhY/NlEKZEaXxuIRh4=
+github.com/prometheus/common v0.32.1/go.mod h1:vu+V0TpY+O6vW9J44gczi3Ap/oXXR10b+M/gUGO4Hls=
+github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk=
+github.com/prometheus/procfs v0.0.0-20190117184657-bf6a532e95b1/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk=
+github.com/prometheus/procfs v0.0.0-20190507164030-5867b95ac084/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA=
+github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA=
+github.com/prometheus/procfs v0.0.8/go.mod h1:7Qr8sr6344vo1JqZ6HhLceV9o3AJ1Ff+GxbHq6oeK9A=
+github.com/prometheus/procfs v0.1.3/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU=
+github.com/prometheus/procfs v0.2.0/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU=
+github.com/prometheus/procfs v0.6.0/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA=
+github.com/prometheus/procfs v0.7.3 h1:4jVXhlkAyzOScmCkXBTOLRLTz8EeU+eyjrwB/EPq0VU=
+github.com/prometheus/procfs v0.7.3/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA=
+github.com/prometheus/tsdb v0.7.1/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40TwIPHuXU=
+github.com/rakyll/statik v0.1.7 h1:OF3QCZUuyPxuGEP7B4ypUa7sB/iHtqOTDYZXGM8KOdQ=
+github.com/rakyll/statik v0.1.7/go.mod h1:AlZONWzMtEnMs7W4e/1LURLiI49pIMmp6V9Unghqrcc=
+github.com/rcrowley/go-metrics v0.0.0-20181016184325-3113b8401b8a/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4=
+github.com/rcrowley/go-metrics v0.0.0-20200313005456-10cdbea86bc0 h1:MkV+77GLUNo5oJ0jf870itWm3D0Sjh7+Za9gazKc5LQ=
+github.com/rcrowley/go-metrics v0.0.0-20200313005456-10cdbea86bc0/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4=
+github.com/regen-network/cosmos-proto v0.3.1 h1:rV7iM4SSFAagvy8RiyhiACbWEGotmqzywPxOvwMdxcg=
+github.com/regen-network/cosmos-proto v0.3.1/go.mod h1:jO0sVX6a1B36nmE8C9xBFXpNwWejXC7QqCOnH3O0+YM=
+github.com/regen-network/protobuf v1.3.3-alpha.regen.1 h1:OHEc+q5iIAXpqiqFKeLpu5NwTIkVXUs48vFMwzqpqY4=
+github.com/regen-network/protobuf v1.3.3-alpha.regen.1/go.mod h1:2DjTFR1HhMQhiWC5sZ4OhQ3+NtdbZ6oBDKQwq5Ou+FI=
+github.com/remyoudompheng/bigfft v0.0.0-20200410134404-eec4a21b6bb0 h1:OdAsTTz6OkFY5QxjkYwrChwuRruF69c169dPK26NUlk=
+github.com/remyoudompheng/bigfft v0.0.0-20200410134404-eec4a21b6bb0/go.mod h1:qqbHyh8v60DhA7CoWK5oRCqLrMHRGoxYCSS9EjAz6Eo=
+github.com/robertkrimen/godocdown v0.0.0-20130622164427-0bfa04905481/go.mod h1:C9WhFzY47SzYBIvzFqSvHIR6ROgDo4TtdTuRaOMjF/s=
+github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg=
+github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ=
+github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4=
+github.com/rogpeppe/go-internal v1.6.1 h1:/FiVV8dS/e+YqF2JvO3yXRFbBLTIuSDkuC7aBOAvL+k=
+github.com/rs/cors v1.7.0/go.mod h1:gFx+x8UowdsKA9AchylcLynDq+nNFfI8FkUZdN/jGCU=
+github.com/rs/cors v1.8.2 h1:KCooALfAYGs415Cwu5ABvv9n9509fSiG5SQJn/AQo4U=
+github.com/rs/cors v1.8.2/go.mod h1:XyqrcTp5zjWr1wsJ8PIRZssZ8b/WMcMf71DJnit4EMU=
+github.com/rs/zerolog v1.26.1 h1:/ihwxqH+4z8UxyI70wM1z9yCvkWcfz/a3mj48k/Zngc=
+github.com/russross/blackfriday v1.5.2/go.mod h1:JO/DiYxRf+HjHt06OyowR9PTA263kcR/rfWxYHBV53g=
+github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
+github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
+github.com/ryanuber/columnize v0.0.0-20160712163229-9b3edd62028f/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts=
+github.com/sagikazarmark/crypt v0.4.0/go.mod h1:ALv2SRj7GxYV4HO9elxH9nS6M9gW+xDNxqmyJ6RfDFM=
+github.com/samuel/go-zookeeper v0.0.0-20190923202752-2cc03de413da/go.mod h1:gi+0XIa01GRL2eRQVjQkKGqKF3SF9vZR/HnPullcV2E=
+github.com/sasha-s/go-deadlock v0.2.1-0.20190427202633-1595213edefa h1:0U2s5loxrTy6/VgfVoLuVLFJcURKLH49ie0zSch7gh4=
+github.com/sasha-s/go-deadlock v0.2.1-0.20190427202633-1595213edefa/go.mod h1:F73l+cr82YSh10GxyRI6qZiCgK64VaZjwesgfQ1/iLM=
+github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529/go.mod h1:DxrIzT+xaE7yg65j358z/aeFdxmN0P9QXhEzd20vsDc=
+github.com/seccomp/libseccomp-golang v0.9.1/go.mod h1:GbW5+tmTXfcxTToHLXlScSlAvWlF4P2Ca7zGrPiEpWo=
+github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc=
+github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo=
+github.com/sirupsen/logrus v1.4.1/go.mod h1:ni0Sbl8bgC9z8RoU9G6nDWqqs/fq4eDPysMBDgk/93Q=
+github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE=
+github.com/sirupsen/logrus v1.6.0/go.mod h1:7uNnSEd1DgxDLC74fIahvMZmmYsHGZGEOFrfsX/uA88=
+github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0=
+github.com/sirupsen/logrus v1.8.1 h1:dJKuHgqk1NNQlqoA6BTlM1Wf9DOH3NBjQyu0h9+AZZE=
+github.com/sirupsen/logrus v1.8.1/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0=
+github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc=
+github.com/smartystreets/goconvey v1.6.4/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA=
+github.com/snikch/goodman v0.0.0-20171125024755-10e37e294daa/go.mod h1:oJyF+mSPHbB5mVY2iO9KV3pTt/QbIkGaO8gQ2WrDbP4=
+github.com/soheilhy/cmux v0.1.4/go.mod h1:IM3LyeVVIOuxMH7sFAkER9+bJ4dT7Ms6E4xg4kGIyLM=
+github.com/sony/gobreaker v0.4.1/go.mod h1:ZKptC7FHNvhBz7dN2LGjPVBz2sZJmc0/PkyDJOjmxWY=
+github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA=
+github.com/spaolacci/murmur3 v1.1.0 h1:7c1g84S4BPRrfL5Xrdp6fOJ206sU9y293DDHaoy0bLI=
+github.com/spaolacci/murmur3 v1.1.0/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA=
+github.com/spf13/afero v1.1.2/go.mod h1:j4pytiNVoe2o6bmDsKpLACNPDBIoEAkihy7loJ1B0CQ=
+github.com/spf13/afero v1.3.3/go.mod h1:5KUK8ByomD5Ti5Artl0RtHeI5pTF7MIDuXL3yY520V4=
+github.com/spf13/afero v1.6.0/go.mod h1:Ai8FlHk4v/PARR026UzYexafAt9roJ7LcLMAmO6Z93I=
+github.com/spf13/afero v1.8.2 h1:xehSyVa0YnHWsJ49JFljMpg1HX19V6NDZ1fkm1Xznbo=
+github.com/spf13/afero v1.8.2/go.mod h1:CtAatgMJh6bJEIs48Ay/FOnkljP3WeGUG0MC1RfAqwo=
+github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE=
+github.com/spf13/cast v1.4.1/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE=
+github.com/spf13/cast v1.5.0 h1:rj3WzYc11XZaIZMPKmwP96zkFEnnAmV8s6XbB2aY32w=
+github.com/spf13/cast v1.5.0/go.mod h1:SpXXQ5YoyJw6s3/6cMTQuxvgRl3PCJiyaX9p6b155UU=
+github.com/spf13/cobra v0.0.3/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ=
+github.com/spf13/cobra v0.0.5/go.mod h1:3K3wKZymM7VvHMDS9+Akkh4K60UwM26emMESw8tLCHU=
+github.com/spf13/cobra v1.0.0/go.mod h1:/6GTrnGXV9HjY+aR4k0oJ5tcvakLuG6EuKReYlHNrgE=
+github.com/spf13/cobra v1.1.1/go.mod h1:WnodtKOvamDL/PwE2M4iKs8aMDBZ5Q5klgD3qfVJQMI=
+github.com/spf13/cobra v1.4.0/go.mod h1:Wo4iy3BUC+X2Fybo0PDqwJIv3dNRiZLHQymsfxlB84g=
+github.com/spf13/cobra v1.5.0 h1:X+jTBEBqF0bHN+9cSMgmfuvv2VHJ9ezmFNf9Y/XstYU=
+github.com/spf13/cobra v1.5.0/go.mod h1:dWXEIy2H428czQCjInthrTRUg7yKbok+2Qi/yBIJoUM=
+github.com/spf13/jwalterweatherman v1.0.0/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo=
+github.com/spf13/jwalterweatherman v1.1.0 h1:ue6voC5bR5F8YxI5S67j9i582FU4Qvo2bmqnqMYADFk=
+github.com/spf13/jwalterweatherman v1.1.0/go.mod h1:aNWZUN0dPAAO/Ljvb5BEdw96iTZ0EXowPYD95IqWIGo=
+github.com/spf13/pflag v1.0.1/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4=
+github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4=
+github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA=
+github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
+github.com/spf13/viper v1.3.2/go.mod h1:ZiWeW+zYFKm7srdB9IoDzzZXaJaI5eL9QjNiN/DMA2s=
+github.com/spf13/viper v1.4.0/go.mod h1:PTJ7Z/lr49W6bUbkmS1V3by4uWynFiR9p7+dSq/yZzE=
+github.com/spf13/viper v1.7.0/go.mod h1:8WkrPz2fc9jxqZNCJI/76HCieCp4Q8HaLFoCha5qpdg=
+github.com/spf13/viper v1.7.1/go.mod h1:8WkrPz2fc9jxqZNCJI/76HCieCp4Q8HaLFoCha5qpdg=
+github.com/spf13/viper v1.10.1/go.mod h1:IGlFPqhNAPKRxohIzWpI5QEy4kuI7tcl5WvR+8qy1rU=
+github.com/spf13/viper v1.12.0 h1:CZ7eSOd3kZoaYDLbXnmzgQI5RlciuXBMA+18HwHRfZQ=
+github.com/spf13/viper v1.12.0/go.mod h1:b6COn30jlNxbm/V2IqWiNWkJ+vZNiMNksliPCiuKtSI=
+github.com/strangelove-ventures/ibctest v0.0.0-20220713213153-930886d8db30 h1:pMhrxU1tY220nxDu6t/gb0H30NG+WYiSJFS5OrcxLFs=
+github.com/strangelove-ventures/ibctest v0.0.0-20220713213153-930886d8db30/go.mod h1:aWBeEKU4lGfvJ9qO543zJbQGtB2fK2ffrJh6jbtowEM=
+github.com/streadway/amqp v0.0.0-20190404075320-75d898a42a94/go.mod h1:AZpEONHx3DKn8O/DFsRAY58/XVQiIPMTMB1SddzLXVw=
+github.com/streadway/amqp v0.0.0-20190827072141-edfb9018d271/go.mod h1:AZpEONHx3DKn8O/DFsRAY58/XVQiIPMTMB1SddzLXVw=
+github.com/streadway/amqp v1.0.0/go.mod h1:AZpEONHx3DKn8O/DFsRAY58/XVQiIPMTMB1SddzLXVw=
+github.com/streadway/handy v0.0.0-20190108123426-d5acb3125c2a/go.mod h1:qNTQ5P5JnDBl6z3cMAg/SywNDC5ABu5ApDIw6lUbRmI=
+github.com/streadway/handy v0.0.0-20200128134331-0f66f006fb2e/go.mod h1:qNTQ5P5JnDBl6z3cMAg/SywNDC5ABu5ApDIw6lUbRmI=
+github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
+github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
+github.com/stretchr/objx v0.2.0/go.mod h1:qt09Ya8vawLte6SNmTgCsAVtYtaKzEcn8ATUoHMkEqE=
+github.com/stretchr/objx v0.4.0 h1:M2gUjqZET1qApGOWNSnZ49BAIMX4F/1plDv3+l31EJ4=
+github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw=
+github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
+github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
+github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4=
+github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA=
+github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
+github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
+github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
+github.com/stretchr/testify v1.8.0 h1:pSgiaMZlXftHpm5L7V1+rVB+AZJydKsMxsQBIJw4PKk=
+github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU=
+github.com/subosito/gotenv v1.2.0/go.mod h1:N0PQaV/YGNqwC0u51sEeR/aUtSLEXKX9iv69rRypqCw=
+github.com/subosito/gotenv v1.3.0 h1:mjC+YW8QpAdXibNi+vNWgzmgBH4+5l5dCXv8cNysBLI=
+github.com/subosito/gotenv v1.3.0/go.mod h1:YzJjq/33h7nrwdY+iHMhEOEEbW0ovIz0tB6t6PwAXzs=
+github.com/syndtr/gocapability v0.0.0-20200815063812-42c35b437635/go.mod h1:hkRG7XYTFWNJGYcbNJQlaLq0fg1yr4J4t/NcTQtrfww=
+github.com/syndtr/goleveldb v1.0.1-0.20200815110645-5c35d600f0ca h1:Ld/zXl5t4+D69SiV4JoN7kkfvJdOWlPpfxrzxpLMoUk=
+github.com/syndtr/goleveldb v1.0.1-0.20200815110645-5c35d600f0ca/go.mod h1:u2MKkTVTVJWe5D1rCvame8WqhBd88EuIwODJZ1VHCPM=
+github.com/tecbot/gorocksdb v0.0.0-20191217155057-f0fad39f321c h1:g+WoO5jjkqGAzHWCjJB1zZfXPIAaDpzXIEJ0eS6B5Ok=
+github.com/tecbot/gorocksdb v0.0.0-20191217155057-f0fad39f321c/go.mod h1:ahpPrc7HpcfEWDQRZEmnXMzHY03mLDYMCxeDzy46i+8=
+github.com/tendermint/btcd v0.1.1 h1:0VcxPfflS2zZ3RiOAHkBiFUcPvbtRj5O7zHmcJWHV7s=
+github.com/tendermint/btcd v0.1.1/go.mod h1:DC6/m53jtQzr/NFmMNEu0rxf18/ktVoVtMrnDD5pN+U=
+github.com/tendermint/crypto v0.0.0-20191022145703-50d29ede1e15 h1:hqAk8riJvK4RMWx1aInLzndwxKalgi5rTqgfXxOxbEI=
+github.com/tendermint/crypto v0.0.0-20191022145703-50d29ede1e15/go.mod h1:z4YtwM70uOnk8h0pjJYlj3zdYwi9l03By6iAIF5j/Pk=
+github.com/tendermint/go-amino v0.16.0 h1:GyhmgQKvqF82e2oZeuMSp9JTN0N09emoSZlb2lyGa2E=
+github.com/tendermint/go-amino v0.16.0/go.mod h1:TQU0M1i/ImAo+tYpZi73AU3V/dKeCoMC9Sphe2ZwGME=
+github.com/tendermint/tendermint v0.34.14/go.mod h1:FrwVm3TvsVicI9Z7FlucHV6Znfd5KBc/Lpp69cCwtk0=
+github.com/tendermint/tendermint v0.34.19 h1:y0P1qI5wSa9IRuhKnTDA6IUcOrLi1hXJuALR+R7HFEk=
+github.com/tendermint/tendermint v0.34.19/go.mod h1:R5+wgIwSxMdKQcmOaeudL0Cjkr3HDkhpcdum6VeU3R4=
+github.com/tendermint/tm-db v0.6.4/go.mod h1:dptYhIpJ2M5kUuenLr+Yyf3zQOv1SgBZcl8/BmWlMBw=
+github.com/tendermint/tm-db v0.6.6 h1:EzhaOfR0bdKyATqcd5PNeyeq8r+V4bRPHBfyFdD9kGM=
+github.com/tendermint/tm-db v0.6.6/go.mod h1:wP8d49A85B7/erz/r4YbKssKw6ylsO/hKtFk7E1aWZI=
+github.com/tinylib/msgp v1.1.5/go.mod h1:eQsjooMTnV42mHu917E26IogZ2930nFyBQdofk10Udg=
+github.com/tmc/grpc-websocket-proxy v0.0.0-20170815181823-89b8d40f7ca8/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U=
+github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U=
+github.com/ttacon/chalk v0.0.0-20160626202418-22c06c80ed31/go.mod h1:onvgF043R+lC5RZ8IT9rBXDaEDnpnw/Cl+HFiw+v/7Q=
+github.com/tv42/httpunix v0.0.0-20150427012821-b75d8614f926/go.mod h1:9ESjWnEqriFuLhtthL60Sar/7RFoluCcXsuvEwTV5KM=
+github.com/tv42/httpunix v0.0.0-20191220191345-2ba4b9c3382c/go.mod h1:hzIxponao9Kjc7aWznkXaL4U4TWaDSs8zcsY4Ka08nM=
+github.com/ugorji/go v1.1.4/go.mod h1:uQMGLiO92mf5W77hV/PUCpI3pbzQx3CRekS0kk+RGrc=
+github.com/ugorji/go/codec v0.0.0-20181204163529-d75b2dcb6bc8/go.mod h1:VFNgLljTbGfSG7qAOspJ7OScBnGdDN/yBr0sguwnwf0=
+github.com/urfave/cli v1.20.0/go.mod h1:70zkFmudgCuE/ngEzBv17Jvp/497gISqfk5gWijbERA=
+github.com/urfave/cli v1.22.1/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0=
+github.com/vishvananda/netlink v1.1.0/go.mod h1:cTgwzPIzzgDAYoQrMm0EdrjRUBkTqKYppBueQtXaqoE=
+github.com/vishvananda/netns v0.0.0-20191106174202-0a2b9b5464df/go.mod h1:JP3t17pCcGlemwknint6hfoeCVQrEMVwxRLRjXpq+BU=
+github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU=
+github.com/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77/go.mod h1:aYKd//L2LvnjZzWKhF00oedf4jCCReLcmhLdhm1A27Q=
+github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
+github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
+github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
+github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
+github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k=
+github.com/yuin/goldmark v1.4.0/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k=
+github.com/zondax/hid v0.9.0 h1:eiT3P6vNxAEVxXMw66eZUAAnU2zD33JBkfG/EnfAKl8=
+github.com/zondax/hid v0.9.0/go.mod h1:l5wttcP0jwtdLjqjMMWFVEE7d1zO0jvSPA9OPZxWpEM=
+go.etcd.io/bbolt v1.3.2/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU=
+go.etcd.io/bbolt v1.3.3/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU=
+go.etcd.io/bbolt v1.3.5/go.mod h1:G5EMThwa9y8QZGBClrRx5EY+Yw9kAhnjy3bSjsnlVTQ=
+go.etcd.io/bbolt v1.3.6 h1:/ecaJf0sk1l4l6V4awd65v2C3ILy7MSj+s/x1ADCIMU=
+go.etcd.io/bbolt v1.3.6/go.mod h1:qXsaaIqmgQH0T+OPdb99Bf+PKfBBQVAdyD6TY9G8XM4=
+go.etcd.io/etcd v0.0.0-20191023171146-3cf2f69b5738/go.mod h1:dnLIgRNXwCJa5e+c6mIZCrds/GIG4ncV9HhK5PX7jPg=
+go.etcd.io/etcd/api/v3 v3.5.0/go.mod h1:cbVKeC6lCfl7j/8jBhAK6aIYO9XOjdptoxU/nLQcPvs=
+go.etcd.io/etcd/api/v3 v3.5.1/go.mod h1:cbVKeC6lCfl7j/8jBhAK6aIYO9XOjdptoxU/nLQcPvs=
+go.etcd.io/etcd/client/pkg/v3 v3.5.0/go.mod h1:IJHfcCEKxYu1Os13ZdwCwIUTUVGYTSAM3YSwc9/Ac1g=
+go.etcd.io/etcd/client/pkg/v3 v3.5.1/go.mod h1:IJHfcCEKxYu1Os13ZdwCwIUTUVGYTSAM3YSwc9/Ac1g=
+go.etcd.io/etcd/client/v2 v2.305.0/go.mod h1:h9puh54ZTgAKtEbut2oe9P4L/oqKCVB6xsXlzd7alYQ=
+go.etcd.io/etcd/client/v2 v2.305.1/go.mod h1:pMEacxZW7o8pg4CrFE7pquyCJJzZvkvdD2RibOCCCGs=
+go.etcd.io/etcd/client/v3 v3.5.0/go.mod h1:AIKXXVX/DQXtfTEqBryiLTUXwON+GuvO6Z7lLS/oTh0=
+go.opencensus.io v0.20.1/go.mod h1:6WKK9ahsWS3RSO+PY9ZHZUfv2irvY6gN279GOPZjmmk=
+go.opencensus.io v0.20.2/go.mod h1:6WKK9ahsWS3RSO+PY9ZHZUfv2irvY6gN279GOPZjmmk=
+go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU=
+go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8=
+go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw=
+go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw=
+go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw=
+go.opencensus.io v0.22.5/go.mod h1:5pWMHQbX5EPX2/62yrJeAkowc+lfs/XD7Uxpq3pI6kk=
+go.opencensus.io v0.23.0/go.mod h1:XItmlyltB5F7CS4xOC1DcqMoFqwtC6OG2xF7mCv7P7E=
+go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI=
+go.uber.org/atomic v1.3.2/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE=
+go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE=
+go.uber.org/atomic v1.5.0/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ=
+go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc=
+go.uber.org/atomic v1.9.0 h1:ECmE8Bn/WFTYwEW/bpKD3M8VtR/zQVbavAoalC1PYyE=
+go.uber.org/atomic v1.9.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc=
+go.uber.org/goleak v1.1.11-0.20210813005559-691160354723/go.mod h1:cwTWslyiVhfpKIDGSZEM2HlOvcqm+tG4zioyIeLoqMQ=
+go.uber.org/goleak v1.1.11/go.mod h1:cwTWslyiVhfpKIDGSZEM2HlOvcqm+tG4zioyIeLoqMQ=
+go.uber.org/goleak v1.1.12 h1:gZAh5/EyT/HQwlpkCy6wTpqfH9H8Lz8zbm3dZh+OyzA=
+go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0=
+go.uber.org/multierr v1.3.0/go.mod h1:VgVr7evmIr6uPjLBxg28wmKNXyqE9akIJ5XnfpiKl+4=
+go.uber.org/multierr v1.6.0/go.mod h1:cdWPpRnG4AhwMwsgIHip0KRBQjJy5kYEpYjJxpXp9iU=
+go.uber.org/multierr v1.7.0 h1:zaiO/rmgFjbmCXdSYJWQcdvOCsthmdaHfr3Gm2Kx4Ec=
+go.uber.org/multierr v1.7.0/go.mod h1:7EAYxJLBy9rStEaz58O2t4Uvip6FSURkq8/ppBp95ak=
+go.uber.org/tools v0.0.0-20190618225709-2cfd321de3ee/go.mod h1:vJERXedbb3MVM5f9Ejo0C68/HhF8uaILCdgjnY+goOA=
+go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q=
+go.uber.org/zap v1.13.0/go.mod h1:zwrFLgMcdUuIBviXEYEH1YKNaOBnKXsx2IPda5bBwHM=
+go.uber.org/zap v1.17.0/go.mod h1:MXVU+bhUf/A7Xi2HNOnopQOrmycQ5Ih87HtOu4q5SSo=
+go.uber.org/zap v1.19.1/go.mod h1:j3DNczoxDZroyBnOT1L/Q79cfUMGZxlv/9dzN7SM1rI=
+go.uber.org/zap v1.21.0 h1:WefMeulhovoZ2sYXz7st6K0sLj7bBhpiFaud4r4zST8=
+go.uber.org/zap v1.21.0/go.mod h1:wjWOCqI0f2ZZrJF/UufIOkiC8ii6tm1iqIsLo76RfJw=
+golang.org/x/crypto v0.0.0-20170930174604-9419663f5a44/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
+golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
+golang.org/x/crypto v0.0.0-20181029021203-45a5f77698d3/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
+golang.org/x/crypto v0.0.0-20181203042331-505ab145d0a9/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
+golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
+golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
+golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
+golang.org/x/crypto v0.0.0-20190701094942-4def268fd1a4/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
+golang.org/x/crypto v0.0.0-20190820162420-60c769a6c586/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
+golang.org/x/crypto v0.0.0-20190923035154-9ee001bba392/go.mod h1:/lpIB1dKB+9EgE3H3cr1v9wB50oz8l4C4h62xy7jSTY=
+golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
+golang.org/x/crypto v0.0.0-20191206172530-e9b2fee46413/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
+golang.org/x/crypto v0.0.0-20200115085410-6d4e4cb37c7d/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
+golang.org/x/crypto v0.0.0-20200323165209-0ec3e9974c59/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
+golang.org/x/crypto v0.0.0-20200510223506-06a226fb4e37/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
+golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
+golang.org/x/crypto v0.0.0-20200728195943-123391ffb6de/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
+golang.org/x/crypto v0.0.0-20201016220609-9e8e0b390897/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
+golang.org/x/crypto v0.0.0-20201117144127-c1f2f97bffc9/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I=
+golang.org/x/crypto v0.0.0-20210314154223-e6e6c4f2bb5b/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4=
+golang.org/x/crypto v0.0.0-20210421170649-83a5a9bb288b/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4=
+golang.org/x/crypto v0.0.0-20210616213533-5ff15b29337e/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
+golang.org/x/crypto v0.0.0-20210817164053-32db794688a5/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
+golang.org/x/crypto v0.0.0-20210915214749-c084706c2272/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
+golang.org/x/crypto v0.0.0-20211108221036-ceb1ce70b4fa/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
+golang.org/x/crypto v0.0.0-20220411220226-7b82a4e95df4 h1:kUhD7nTDoI3fVd9G4ORWrbV5NY0liEs/Jg2pv5f+bBA=
+golang.org/x/crypto v0.0.0-20220411220226-7b82a4e95df4/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
+golang.org/x/exp v0.0.0-20180321215751-8460e604b9de/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
+golang.org/x/exp v0.0.0-20180807140117-3d87b88a115f/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
+golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
+golang.org/x/exp v0.0.0-20190125153040-c74c464bbbf2/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
+golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
+golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8=
+golang.org/x/exp v0.0.0-20190829153037-c13cbed26979/go.mod h1:86+5VVa7VpoJ4kLfm080zCjGlMRFzhUhsZKEZO7MGek=
+golang.org/x/exp v0.0.0-20191030013958-a1ab85dbe136/go.mod h1:JXzH8nQsPlswgeRAPE3MuO9GYsAcnJvJ4vnMwN/5qkY=
+golang.org/x/exp v0.0.0-20191129062945-2f5052295587/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4=
+golang.org/x/exp v0.0.0-20191227195350-da58074b4299/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4=
+golang.org/x/exp v0.0.0-20200119233911-0405dc783f0a/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4=
+golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EHIKF9dgMWnmCNThgcyBT1FY9mM=
+golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU=
+golang.org/x/image v0.0.0-20180708004352-c73c2afc3b81/go.mod h1:ux5Hcp/YLpHSI86hEcLt0YII63i6oz57MZXIpbrjZUs=
+golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js=
+golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0=
+golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
+golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU=
+golang.org/x/lint v0.0.0-20190301231843-5614ed5bae6f/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
+golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc=
+golang.org/x/lint v0.0.0-20190409202823-959b441ac422/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc=
+golang.org/x/lint v0.0.0-20190909230951-414d861bb4ac/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc=
+golang.org/x/lint v0.0.0-20190930215403-16217165b5de/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc=
+golang.org/x/lint v0.0.0-20191125180803-fdd1cda4f05f/go.mod h1:5qLYkcX4OjUUV8bRuDixDT3tpyyb+LUpUlRWLxfhWrs=
+golang.org/x/lint v0.0.0-20200130185559-910be7a94367/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY=
+golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY=
+golang.org/x/lint v0.0.0-20201208152925-83fdc39ff7b5/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY=
+golang.org/x/lint v0.0.0-20210508222113-6edffad5e616/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY=
+golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod h1:z+o9i4GpDbdi3rU15maQ/Ox0txvL9dWGYEHz965HBQE=
+golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod h1:E/iHnbuqvinMTCcRqshq8CkpyQDoeVncDDYHnLhea+o=
+golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod h1:mXi4GBBbnImb6dmsKGUJ2LatrhH/nqhxcFungHvyanc=
+golang.org/x/mod v0.1.0/go.mod h1:0QHyrYULN0/3qlju5TqG8bIK38QM8yzMo5ekMj3DlcY=
+golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg=
+golang.org/x/mod v0.1.1-0.20191107180719-034126e5016b/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg=
+golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
+golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
+golang.org/x/mod v0.4.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
+golang.org/x/mod v0.4.1/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
+golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
+golang.org/x/mod v0.5.0/go.mod h1:5OXOZSfqPIIbmVBIIKWRFfZjPR0E5r58TLhUjH0a2Ro=
+golang.org/x/mod v0.6.0-dev.0.20220106191415-9b9b3d81d5e3 h1:kQgndtyPBW/JIYERgdxfwMYh3AVStj88WQTlNDi2a+o=
+golang.org/x/mod v0.6.0-dev.0.20220106191415-9b9b3d81d5e3/go.mod h1:3p9vT2HGsQu2K1YbXdKPJLVgG5VJdoTa1poYQBtP1AY=
+golang.org/x/net v0.0.0-20180719180050-a680a1efc54d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
+golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
+golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
+golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
+golang.org/x/net v0.0.0-20181023162649-9b4f9f5ad519/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
+golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
+golang.org/x/net v0.0.0-20181201002055-351d144fa1fc/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
+golang.org/x/net v0.0.0-20181220203305-927f97764cc3/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
+golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
+golang.org/x/net v0.0.0-20190125091013-d26f9f9a57f3/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
+golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
+golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
+golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
+golang.org/x/net v0.0.0-20190501004415-9ce7a6920f09/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
+golang.org/x/net v0.0.0-20190503192946-f4e77d36d62c/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
+golang.org/x/net v0.0.0-20190522155817-f3200d17e092/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks=
+golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks=
+golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
+golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
+golang.org/x/net v0.0.0-20190628185345-da137c7871d7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
+golang.org/x/net v0.0.0-20190724013045-ca1201d0de80/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
+golang.org/x/net v0.0.0-20190813141303-74dc4d7220e7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
+golang.org/x/net v0.0.0-20190923162816-aa69164e4478/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
+golang.org/x/net v0.0.0-20191209160850-c0dbc17a3553/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
+golang.org/x/net v0.0.0-20200114155413-6afb5195e5aa/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
+golang.org/x/net v0.0.0-20200202094626-16171245cfb2/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
+golang.org/x/net v0.0.0-20200222125558-5a598a2470a0/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
+golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
+golang.org/x/net v0.0.0-20200301022130-244492dfa37a/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
+golang.org/x/net v0.0.0-20200324143707-d3edc9973b7e/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A=
+golang.org/x/net v0.0.0-20200501053045-e0ff5e5a1de5/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A=
+golang.org/x/net v0.0.0-20200506145744-7e3656a0809f/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A=
+golang.org/x/net v0.0.0-20200513185701-a91f0712d120/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A=
+golang.org/x/net v0.0.0-20200520004742-59133d7f0dd7/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A=
+golang.org/x/net v0.0.0-20200520182314-0ba52f642ac2/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A=
+golang.org/x/net v0.0.0-20200625001655-4c5254603344/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA=
+golang.org/x/net v0.0.0-20200707034311-ab3426394381/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA=
+golang.org/x/net v0.0.0-20200813134508-3edf25e44fcc/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA=
+golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA=
+golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
+golang.org/x/net v0.0.0-20201031054903-ff519b6c9102/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
+golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
+golang.org/x/net v0.0.0-20201209123823-ac852fbbde11/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
+golang.org/x/net v0.0.0-20201224014010-6772e930b67b/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
+golang.org/x/net v0.0.0-20210119194325-5f4716e94777/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
+golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
+golang.org/x/net v0.0.0-20210316092652-d523dce5a7f4/go.mod h1:RBQZq4jEuRlivfhVLdyRGr576XBO4/greRjx4P4O3yc=
+golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM=
+golang.org/x/net v0.0.0-20210410081132-afb366fc7cd1/go.mod h1:9tjilg8BloeKEkVJvy7fQ90B1CfIiPueXVOjqfkSzI8=
+golang.org/x/net v0.0.0-20210428140749-89ef3d95e781/go.mod h1:OJAsFXCWl8Ukc7SiCT/9KSuxbyM7479/AVlXFRxuMCk=
+golang.org/x/net v0.0.0-20210503060351-7fd8e65b6420/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
+golang.org/x/net v0.0.0-20210525063256-abc453219eb5/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
+golang.org/x/net v0.0.0-20210610132358-84b48f89b13b/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
+golang.org/x/net v0.0.0-20210614182718-04defd469f4e/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
+golang.org/x/net v0.0.0-20210805182204-aaa1db679c0d/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
+golang.org/x/net v0.0.0-20210813160813-60bc85c4be6d/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
+golang.org/x/net v0.0.0-20210903162142-ad29c8ab022f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
+golang.org/x/net v0.0.0-20210917221730-978cfadd31cf/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
+golang.org/x/net v0.0.0-20211208012354-db4efeb81f4b/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
+golang.org/x/net v0.0.0-20220520000938-2e3eb7b945c2 h1:NWy5+hlRbC7HK+PmcXVUmW1IMyFce7to56IUvhUFm7Y=
+golang.org/x/net v0.0.0-20220520000938-2e3eb7b945c2/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk=
+golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
+golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
+golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
+golang.org/x/oauth2 v0.0.0-20191202225959-858c2ad4c8b6/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
+golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
+golang.org/x/oauth2 v0.0.0-20200902213428-5d25da1a8d43/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
+golang.org/x/oauth2 v0.0.0-20201109201403-9fd604954f58/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
+golang.org/x/oauth2 v0.0.0-20201208152858-08078c50e5b5/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
+golang.org/x/oauth2 v0.0.0-20210218202405-ba52d332ba99/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
+golang.org/x/oauth2 v0.0.0-20210220000619-9bb904979d93/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
+golang.org/x/oauth2 v0.0.0-20210313182246-cd4f82c27b84/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
+golang.org/x/oauth2 v0.0.0-20210514164344-f6687ab2804c/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
+golang.org/x/oauth2 v0.0.0-20210628180205-a41e5a781914/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
+golang.org/x/oauth2 v0.0.0-20210805134026-6f1e6394065a/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
+golang.org/x/oauth2 v0.0.0-20210819190943-2bc19b11175f/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
+golang.org/x/oauth2 v0.0.0-20211005180243-6b3c2da341f1/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
+golang.org/x/oauth2 v0.0.0-20211104180415-d3ed0bb246c8/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
+golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
+golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
+golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
+golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
+golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
+golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
+golang.org/x/sync v0.0.0-20200317015054-43a5402ce75a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
+golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
+golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
+golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
+golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
+golang.org/x/sync v0.0.0-20220513210516-0976fa681c29 h1:w8s32wxx3sY+OjLlv9qltkLU5yvJzxjjgiHWLjdIcw4=
+golang.org/x/sync v0.0.0-20220513210516-0976fa681c29/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
+golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
+golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
+golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
+golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
+golang.org/x/sys v0.0.0-20181026203630-95b1ffbd15a5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
+golang.org/x/sys v0.0.0-20181107165924-66b7b1311ac8/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
+golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
+golang.org/x/sys v0.0.0-20181122145206-62eef0e2fa9b/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
+golang.org/x/sys v0.0.0-20181205085412-a5c9d58dba9a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
+golang.org/x/sys v0.0.0-20190130150945-aca44879d564/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
+golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
+golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
+golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20190502145724-3ef323f4f1fd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20190606203320-7fc4e5ec1444/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20190626221950-04f50cda93cb/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20190712062909-fae7ac547cb7/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20190826190057-c7b8b68b1456/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20190904154756-749cb33beabd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20190922100055-0a153f010e69/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20190924154521-2837fb4f24fe/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20191001151750-bb3f8db39f24/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20191008105621-543471e840be/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20191115151921-52ab43148777/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20191120155948-bd437916bb0e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20191210023423-ac6580df4449/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20191220142924-d4481acd189f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20191228213918-04cbcbbfeed8/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20200106162015-b016eb3dc98e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20200113162924-86b910548bc1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20200122134326-e047566fdf82/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20200124204421-9fbb57f87de9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20200202164722-d101bd2416d5/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20200212091648-12a6c2dcc1e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20200302150141-5c8b2ff67527/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20200331124033-c3d80250170d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20200501052902-10377860bb8e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20200511232937-7e40ca221e25/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20200515095857-1151b9dac4a9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20200519105757-fe76b779f299/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20200523222454-059865788121/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20200615200032-f1bc736245b1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20200625212154-ddb9806d33ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20200803210538-64077c9b5642/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20200814200057-3d37ad5750ed/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20200905004654-be1d3432aa8f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20200909081042-eff7692f9009/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20200923182605-d9f96fdee20d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20201015000850-e3ed0017c211/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20201201145000-ef89a241ccb3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20210104204734-6f8348627aad/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20210112080510-489259a85091/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20210119212857-b64e53b001e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20210220050731-9a76102bfb43/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20210225134936-a50acf3fe073/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20210303074136-134d130e1a04/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20210305230114-8fe3ee5dd75b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20210315160823-c6e025ad8005/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20210320140829-1e4c9ba3b0c4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20210403161142-5e06dd20ab57/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20210423185535-09eb48e85fd7/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20210426230700-d19ff857e887/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20210514084401-e8d321eab015/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20210603081109-ebe580a85c40/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20210603125802-9665404d3644/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20210616094352-59db8d763f22/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20210806184541-e5e7981a1069/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20210809222454-d867a43fc93e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20210816183151-1e6c022a8912/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20210823070655-63515b42dcdf/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20210903071746-97244b99971b/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20210908233432-aa78b53d3365/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20210917161153-d61c044b1678/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20210927094055-39ccf1dd6fa6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20211007075335-d3039528d8ac/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20211107104306-e0b2ad06fe42/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20211124211545-fe61309f8881/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20211205182925-97ca703d548d/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20211210111614-af8b64212486/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20220114195835-da31bd327af9/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20220412211240-33da011f77ad/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a h1:dGzPydgVsqGcTRVwiLJ1jVbufYwmzD3LfVPLKsKg+0k=
+golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw=
+golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
+golang.org/x/term v0.0.0-20210927222741-03fcf44c2211 h1:JGgROgKl9N8DuW20oFS5gxc+lE67/N3FcwmBPMe7ArY=
+golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
+golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
+golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
+golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
+golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk=
+golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
+golang.org/x/text v0.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
+golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
+golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
+golang.org/x/text v0.3.7 h1:olpwvP2KacW1ZWvsR7uQhoyTYvKAupfQrRGBFM352Gk=
+golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
+golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
+golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
+golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
+golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
+golang.org/x/time v0.0.0-20200416051211-89c76fbcd5d1/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
+golang.org/x/time v0.0.0-20210723032227-1f47c861a9ac h1:7zkz7BUtwNFFqcowJ+RIgu2MaV/MapERkDIy+mwPyjs=
+golang.org/x/time v0.0.0-20210723032227-1f47c861a9ac/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
+golang.org/x/tools v0.0.0-20180525024113-a5b4c53f6e8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
+golang.org/x/tools v0.0.0-20180828015842-6cd1fcedba52/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
+golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
+golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
+golang.org/x/tools v0.0.0-20190206041539-40960b6deb8e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
+golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY=
+golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
+golang.org/x/tools v0.0.0-20190312151545-0bb0c0a6e846/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
+golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
+golang.org/x/tools v0.0.0-20190328211700-ab21143f2384/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
+golang.org/x/tools v0.0.0-20190425150028-36563e24a262/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q=
+golang.org/x/tools v0.0.0-20190506145303-2d16b83fe98c/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q=
+golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q=
+golang.org/x/tools v0.0.0-20190606124116-d0a3d012864b/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc=
+golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc=
+golang.org/x/tools v0.0.0-20190628153133-6cdbf07be9d0/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc=
+golang.org/x/tools v0.0.0-20190816200558-6889da9d5479/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
+golang.org/x/tools v0.0.0-20190907020128-2ca718005c18/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
+golang.org/x/tools v0.0.0-20190911174233-4f2ddba30aff/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
+golang.org/x/tools v0.0.0-20191012152004-8de300cfc20a/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
+golang.org/x/tools v0.0.0-20191029041327-9cc4af7d6b2c/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
+golang.org/x/tools v0.0.0-20191029190741-b9c20aec41a5/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
+golang.org/x/tools v0.0.0-20191112195655-aa38f8e97acc/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
+golang.org/x/tools v0.0.0-20191113191852-77e3bb0ad9e7/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
+golang.org/x/tools v0.0.0-20191115202509-3a792d9c32b2/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
+golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
+golang.org/x/tools v0.0.0-20191125144606-a911d9008d1f/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
+golang.org/x/tools v0.0.0-20191130070609-6e064ea0cf2d/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
+golang.org/x/tools v0.0.0-20191216173652-a0e659d51361/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
+golang.org/x/tools v0.0.0-20191227053925-7b8e75db28f4/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
+golang.org/x/tools v0.0.0-20200103221440-774c71fcf114/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
+golang.org/x/tools v0.0.0-20200117161641-43d50277825c/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
+golang.org/x/tools v0.0.0-20200122220014-bf1340f18c4a/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
+golang.org/x/tools v0.0.0-20200130002326-2f3ba24bd6e7/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
+golang.org/x/tools v0.0.0-20200204074204-1cc6d1ef6c74/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
+golang.org/x/tools v0.0.0-20200207183749-b753a1ba74fa/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
+golang.org/x/tools v0.0.0-20200212150539-ea181f53ac56/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
+golang.org/x/tools v0.0.0-20200224181240-023911ca70b2/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
+golang.org/x/tools v0.0.0-20200227222343-706bc42d1f0d/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
+golang.org/x/tools v0.0.0-20200304193943-95d2e580d8eb/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw=
+golang.org/x/tools v0.0.0-20200312045724-11d5b4c81c7d/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw=
+golang.org/x/tools v0.0.0-20200331025713-a30bf2db82d4/go.mod h1:Sl4aGygMT6LrqrWclx+PTx3U+LnKx/seiNR+3G19Ar8=
+golang.org/x/tools v0.0.0-20200501065659-ab2804fb9c9d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
+golang.org/x/tools v0.0.0-20200512131952-2bc93b1c0c88/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
+golang.org/x/tools v0.0.0-20200515010526-7d3b6ebf133d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
+golang.org/x/tools v0.0.0-20200618134242-20370b0cb4b2/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
+golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
+golang.org/x/tools v0.0.0-20200729194436-6467de6f59a7/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA=
+golang.org/x/tools v0.0.0-20200804011535-6c149bb5ef0d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA=
+golang.org/x/tools v0.0.0-20200825202427-b303f430e36d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA=
+golang.org/x/tools v0.0.0-20200904185747-39188db58858/go.mod h1:Cj7w3i3Rnn0Xh82ur9kSqwfTHTeVxaDqrfMjpcNT6bE=
+golang.org/x/tools v0.0.0-20201022035929-9cf592e881e9/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
+golang.org/x/tools v0.0.0-20201110124207-079ba7bd75cd/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
+golang.org/x/tools v0.0.0-20201124115921-2c860bdd6e78/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
+golang.org/x/tools v0.0.0-20201201161351-ac6f37ff4c2a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
+golang.org/x/tools v0.0.0-20201208233053-a543418bbed2/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
+golang.org/x/tools v0.0.0-20201224043029-2b0845dc783e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
+golang.org/x/tools v0.0.0-20210105154028-b0ab187a4818/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
+golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
+golang.org/x/tools v0.0.0-20210108195828-e2f9c7f1fc8e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
+golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0=
+golang.org/x/tools v0.1.1/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk=
+golang.org/x/tools v0.1.2/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk=
+golang.org/x/tools v0.1.3/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk=
+golang.org/x/tools v0.1.4/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk=
+golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk=
+golang.org/x/tools v0.1.7/go.mod h1:LGqMHiF4EqQNHR1JncWGqT5BVaXmza+X+BDGol+dOxo=
+golang.org/x/tools v0.1.10 h1:QjFRCZxdOhBJ/UNgnBZLbNV13DlbnK0quyivTnXJM20=
+golang.org/x/tools v0.1.10/go.mod h1:Uh6Zz+xoGYZom868N8YTex3t7RhtHDBrE8Gzo9bV56E=
+golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
+golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
+golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
+golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
+golang.org/x/xerrors v0.0.0-20220517211312-f3a8303e98df h1:5Pf6pFKu98ODmgnpvkJ3kFUOQGGLIzLIkbzUHp47618=
+golang.org/x/xerrors v0.0.0-20220517211312-f3a8303e98df/go.mod h1:K8+ghG5WaK9qNqU5K3HdILfMLy1f3aNYFI/wnl100a8=
+gonum.org/v1/gonum v0.0.0-20180816165407-929014505bf4/go.mod h1:Y+Yx5eoAFn32cQvJDxZx5Dpnq+c3wtXuadVZAcxbbBo=
+gonum.org/v1/gonum v0.8.2/go.mod h1:oe/vMfY3deqTw+1EZJhuvEW2iwGF1bW9wwu7XCu0+v0=
+gonum.org/v1/netlib v0.0.0-20190313105609-8cb42192e0e0/go.mod h1:wa6Ws7BG/ESfp6dHfk7C6KdzKA7wR7u/rKwOGE66zvw=
+gonum.org/v1/plot v0.0.0-20190515093506-e2840ee46a6b/go.mod h1:Wt8AAjI+ypCyYX3nZBvf6cAIx93T+c/OS2HFAYskSZc=
+google.golang.org/api v0.3.1/go.mod h1:6wY9I6uQWHQ8EM57III9mq/AjF+i8G65rmVagqKMtkk=
+google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE=
+google.golang.org/api v0.7.0/go.mod h1:WtwebWUNSVBH/HAw79HIFXZNqEvBhG+Ra+ax0hx3E3M=
+google.golang.org/api v0.8.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg=
+google.golang.org/api v0.9.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg=
+google.golang.org/api v0.13.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI=
+google.golang.org/api v0.14.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI=
+google.golang.org/api v0.15.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI=
+google.golang.org/api v0.17.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE=
+google.golang.org/api v0.18.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE=
+google.golang.org/api v0.19.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE=
+google.golang.org/api v0.20.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE=
+google.golang.org/api v0.22.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE=
+google.golang.org/api v0.24.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE=
+google.golang.org/api v0.28.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE=
+google.golang.org/api v0.29.0/go.mod h1:Lcubydp8VUV7KeIHD9z2Bys/sm/vGKnG1UHuDBSrHWM=
+google.golang.org/api v0.30.0/go.mod h1:QGmEvQ87FHZNiUVJkT14jQNYJ4ZJjdRF23ZXz5138Fc=
+google.golang.org/api v0.35.0/go.mod h1:/XrVsuzM0rZmrsbjJutiuftIzeuTQcEeaYcSk/mQ1dg=
+google.golang.org/api v0.36.0/go.mod h1:+z5ficQTmoYpPn8LCUNVpK5I7hwkpjbcgqA7I34qYtE=
+google.golang.org/api v0.40.0/go.mod h1:fYKFpnQN0DsDSKRVRcQSDQNtqWPfM9i+zNPxepjRCQ8=
+google.golang.org/api v0.41.0/go.mod h1:RkxM5lITDfTzmyKFPt+wGrCJbVfniCr2ool8kTBzRTU=
+google.golang.org/api v0.43.0/go.mod h1:nQsDGjRXMo4lvh5hP0TKqF244gqhGcr/YSIykhUk/94=
+google.golang.org/api v0.47.0/go.mod h1:Wbvgpq1HddcWVtzsVLyfLp8lDg6AA241LmgIL59tHXo=
+google.golang.org/api v0.48.0/go.mod h1:71Pr1vy+TAZRPkPs/xlCf5SsU8WjuAWv1Pfjbtukyy4=
+google.golang.org/api v0.50.0/go.mod h1:4bNT5pAuq5ji4SRZm+5QIkjny9JAyVD/3gaSihNefaw=
+google.golang.org/api v0.51.0/go.mod h1:t4HdrdoNgyN5cbEfm7Lum0lcLDLiise1F8qDKX00sOU=
+google.golang.org/api v0.54.0/go.mod h1:7C4bFFOvVDGXjfDTAsgGwDgAxRDeQ4X8NvUedIt6z3k=
+google.golang.org/api v0.55.0/go.mod h1:38yMfeP1kfjsl8isn0tliTjIb1rJXcQi4UXlbqivdVE=
+google.golang.org/api v0.56.0/go.mod h1:38yMfeP1kfjsl8isn0tliTjIb1rJXcQi4UXlbqivdVE=
+google.golang.org/api v0.57.0/go.mod h1:dVPlbZyBo2/OjBpmvNdpn2GRm6rPy75jyU7bmhdrMgI=
+google.golang.org/api v0.59.0/go.mod h1:sT2boj7M9YJxZzgeZqXogmhfmRWDtPzT31xkieUbuZU=
+google.golang.org/api v0.61.0/go.mod h1:xQRti5UdCmoCEqFxcz93fTl338AVqDgyaDRuOZ3hg9I=
+google.golang.org/api v0.63.0/go.mod h1:gs4ij2ffTRXwuzzgJl/56BdwJaA194ijkfn++9tDuPo=
+google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM=
+google.golang.org/appengine v1.2.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
+google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
+google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
+google.golang.org/appengine v1.6.1/go.mod h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww/cMBSeb0=
+google.golang.org/appengine v1.6.5/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc=
+google.golang.org/appengine v1.6.6/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc=
+google.golang.org/appengine v1.6.7/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc=
+google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc=
+google.golang.org/genproto v0.0.0-20180831171423-11092d34479b/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc=
+google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE=
+google.golang.org/genproto v0.0.0-20190418145605-e7d98fc518a7/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE=
+google.golang.org/genproto v0.0.0-20190425155659-357c62f0e4bb/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE=
+google.golang.org/genproto v0.0.0-20190502173448-54afdca5d873/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE=
+google.golang.org/genproto v0.0.0-20190530194941-fb225487d101/go.mod h1:z3L6/3dTEVtUr6QSP8miRzeRqwQOioJ9I66odjN4I7s=
+google.golang.org/genproto v0.0.0-20190801165951-fa694d86fc64/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc=
+google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc=
+google.golang.org/genproto v0.0.0-20190911173649-1774047e7e51/go.mod h1:IbNlFCBrqXvoKpeg0TB2l7cyZUmoaFKYIwrEpbDKLA8=
+google.golang.org/genproto v0.0.0-20191108220845-16a3f7862a1a/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc=
+google.golang.org/genproto v0.0.0-20191115194625-c23dd37a84c9/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc=
+google.golang.org/genproto v0.0.0-20191216164720-4f79533eabd1/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc=
+google.golang.org/genproto v0.0.0-20191230161307-f3c370f40bfb/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc=
+google.golang.org/genproto v0.0.0-20200115191322-ca5a22157cba/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc=
+google.golang.org/genproto v0.0.0-20200122232147-0452cf42e150/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc=
+google.golang.org/genproto v0.0.0-20200204135345-fa8e72b47b90/go.mod h1:GmwEX6Z4W5gMy59cAlVYjN9JhxgbQH6Gn+gFDQe2lzA=
+google.golang.org/genproto v0.0.0-20200212174721-66ed5ce911ce/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=
+google.golang.org/genproto v0.0.0-20200224152610-e50cd9704f63/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=
+google.golang.org/genproto v0.0.0-20200228133532-8c2c7df3a383/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=
+google.golang.org/genproto v0.0.0-20200305110556-506484158171/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=
+google.golang.org/genproto v0.0.0-20200312145019-da6875a35672/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=
+google.golang.org/genproto v0.0.0-20200324203455-a04cca1dde73/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=
+google.golang.org/genproto v0.0.0-20200331122359-1ee6d9798940/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=
+google.golang.org/genproto v0.0.0-20200423170343-7949de9c1215/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=
+google.golang.org/genproto v0.0.0-20200430143042-b979b6f78d84/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=
+google.golang.org/genproto v0.0.0-20200511104702-f5ebc3bea380/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=
+google.golang.org/genproto v0.0.0-20200513103714-09dca8ec2884/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=
+google.golang.org/genproto v0.0.0-20200515170657-fc4c6c6a6587/go.mod h1:YsZOwe1myG/8QRHRsmBRE1LrgQY60beZKjly0O1fX9U=
+google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo=
+google.golang.org/genproto v0.0.0-20200618031413-b414f8b61790/go.mod h1:jDfRM7FcilCzHH/e9qn6dsT145K34l5v+OpcnNgKAAA=
+google.golang.org/genproto v0.0.0-20200729003335-053ba62fc06f/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
+google.golang.org/genproto v0.0.0-20200804131852-c06518451d9c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
+google.golang.org/genproto v0.0.0-20200825200019-8632dd797987/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
+google.golang.org/genproto v0.0.0-20200904004341-0bd0a958aa1d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
+google.golang.org/genproto v0.0.0-20201109203340-2640f1f9cdfb/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
+google.golang.org/genproto v0.0.0-20201119123407-9b1e624d6bc4/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
+google.golang.org/genproto v0.0.0-20201201144952-b05cb90ed32e/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
+google.golang.org/genproto v0.0.0-20201210142538-e3217bee35cc/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
+google.golang.org/genproto v0.0.0-20201214200347-8c77b98c765d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
+google.golang.org/genproto v0.0.0-20210108203827-ffc7fda8c3d7/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
+google.golang.org/genproto v0.0.0-20210222152913-aa3ee6e6a81c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
+google.golang.org/genproto v0.0.0-20210226172003-ab064af71705/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
+google.golang.org/genproto v0.0.0-20210303154014-9728d6b83eeb/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
+google.golang.org/genproto v0.0.0-20210310155132-4ce2db91004e/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
+google.golang.org/genproto v0.0.0-20210319143718-93e7006c17a6/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
+google.golang.org/genproto v0.0.0-20210402141018-6c239bbf2bb1/go.mod h1:9lPAdzaEmUacj36I+k7YKbEc5CXzPIeORRgDAUOu28A=
+google.golang.org/genproto v0.0.0-20210513213006-bf773b8c8384/go.mod h1:P3QM42oQyzQSnHPnZ/vqoCdDmzH28fzWByN9asMeM8A=
+google.golang.org/genproto v0.0.0-20210602131652-f16073e35f0c/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0=
+google.golang.org/genproto v0.0.0-20210604141403-392c879c8b08/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0=
+google.golang.org/genproto v0.0.0-20210608205507-b6d2f5bf0d7d/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0=
+google.golang.org/genproto v0.0.0-20210624195500-8bfb893ecb84/go.mod h1:SzzZ/N+nwJDaO1kznhnlzqS8ocJICar6hYhVyhi++24=
+google.golang.org/genproto v0.0.0-20210713002101-d411969a0d9a/go.mod h1:AxrInvYm1dci+enl5hChSFPOmmUF1+uAa/UsgNRWd7k=
+google.golang.org/genproto v0.0.0-20210716133855-ce7ef5c701ea/go.mod h1:AxrInvYm1dci+enl5hChSFPOmmUF1+uAa/UsgNRWd7k=
+google.golang.org/genproto v0.0.0-20210728212813-7823e685a01f/go.mod h1:ob2IJxKrgPT52GcgX759i1sleT07tiKowYBGbczaW48=
+google.golang.org/genproto v0.0.0-20210805201207-89edb61ffb67/go.mod h1:ob2IJxKrgPT52GcgX759i1sleT07tiKowYBGbczaW48=
+google.golang.org/genproto v0.0.0-20210813162853-db860fec028c/go.mod h1:cFeNkxwySK631ADgubI+/XFU/xp8FD5KIVV4rj8UC5w=
+google.golang.org/genproto v0.0.0-20210821163610-241b8fcbd6c8/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY=
+google.golang.org/genproto v0.0.0-20210828152312-66f60bf46e71/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY=
+google.golang.org/genproto v0.0.0-20210831024726-fe130286e0e2/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY=
+google.golang.org/genproto v0.0.0-20210903162649-d08c68adba83/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY=
+google.golang.org/genproto v0.0.0-20210909211513-a8c4777a87af/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY=
+google.golang.org/genproto v0.0.0-20210917145530-b395a37504d4/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY=
+google.golang.org/genproto v0.0.0-20210924002016-3dee208752a0/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc=
+google.golang.org/genproto v0.0.0-20211008145708-270636b82663/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc=
+google.golang.org/genproto v0.0.0-20211028162531-8db9c33dc351/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc=
+google.golang.org/genproto v0.0.0-20211118181313-81c1377c94b1/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc=
+google.golang.org/genproto v0.0.0-20211206160659-862468c7d6e0/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc=
+google.golang.org/genproto v0.0.0-20211208223120-3a66f561d7aa/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc=
+google.golang.org/genproto v0.0.0-20220519153652-3a47de7e79bd h1:e0TwkXOdbnH/1x5rc5MZ/VYyiZ4v+RdVfrGMqEwT68I=
+google.golang.org/genproto v0.0.0-20220519153652-3a47de7e79bd/go.mod h1:RAyBrSAP7Fh3Nc84ghnVLDPuV51xc9agzmm4Ph6i0Q4=
+google.golang.org/grpc v1.17.0/go.mod h1:6QZJwpn2B+Zp71q/5VxRsJ6NXXVCE5NRUHRo+f3cWCs=
+google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c=
+google.golang.org/grpc v1.19.1/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c=
+google.golang.org/grpc v1.20.0/go.mod h1:chYK+tFQF0nDUGJgXMSgLCQk3phJEuONr2DCgLDdAQM=
+google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38=
+google.golang.org/grpc v1.21.0/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM=
+google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM=
+google.golang.org/grpc v1.22.1/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg=
+google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg=
+google.golang.org/grpc v1.23.1/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg=
+google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY=
+google.golang.org/grpc v1.26.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk=
+google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk=
+google.golang.org/grpc v1.27.1/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk=
+google.golang.org/grpc v1.28.0/go.mod h1:rpkK4SK4GF4Ach/+MFLZUBavHOvF2JJB5uozKKal+60=
+google.golang.org/grpc v1.29.1/go.mod h1:itym6AZVZYACWQqET3MqgPpjcuV5QH3BxFS3IjizoKk=
+google.golang.org/grpc v1.30.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak=
+google.golang.org/grpc v1.31.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak=
+google.golang.org/grpc v1.31.1/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak=
+google.golang.org/grpc v1.33.1/go.mod h1:fr5YgcSWrqhRRxogOsw7RzIpsmvOZ6IcH4kBYTpR3n0=
+google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc=
+google.golang.org/grpc v1.34.0/go.mod h1:WotjhfgOW/POjDeRt8vscBtXq+2VjORFy659qA51WJ8=
+google.golang.org/grpc v1.35.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU=
+google.golang.org/grpc v1.36.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU=
+google.golang.org/grpc v1.36.1/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU=
+google.golang.org/grpc v1.37.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM=
+google.golang.org/grpc v1.37.1/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM=
+google.golang.org/grpc v1.38.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM=
+google.golang.org/grpc v1.39.0/go.mod h1:PImNr+rS9TWYb2O4/emRugxiyHZ5JyHW5F+RPnDzfrE=
+google.golang.org/grpc v1.39.1/go.mod h1:PImNr+rS9TWYb2O4/emRugxiyHZ5JyHW5F+RPnDzfrE=
+google.golang.org/grpc v1.40.0/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34=
+google.golang.org/grpc v1.40.1/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34=
+google.golang.org/grpc v1.42.0/go.mod h1:k+4IHHFw41K8+bbowsex27ge2rCb65oeWqe4jJ590SU=
+google.golang.org/grpc v1.43.0/go.mod h1:k+4IHHFw41K8+bbowsex27ge2rCb65oeWqe4jJ590SU=
+google.golang.org/grpc v1.45.0/go.mod h1:lN7owxKUQEqMfSyQikvvk5tf/6zMPsrK+ONuO11+0rQ=
+google.golang.org/grpc v1.46.0/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACuMGWk=
+google.golang.org/grpc v1.47.0 h1:9n77onPX5F3qfFCqjy9dhn8PbNQsIKeVU04J9G7umt8=
+google.golang.org/grpc v1.47.0/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACuMGWk=
+google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0/go.mod h1:6Kw0yEErY5E/yWrBtf03jp27GLLJujG4z/JK95pnjjw=
+google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8=
+google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0=
+google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM=
+google.golang.org/protobuf v1.20.1-0.20200309200217-e05f789c0967/go.mod h1:A+miEFZTKqfCUM6K7xSMQL9OKL/b6hQv+e19PK+JZNE=
+google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzikPIcrTAo=
+google.golang.org/protobuf v1.22.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU=
+google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU=
+google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU=
+google.golang.org/protobuf v1.24.0/go.mod h1:r/3tXBNzIEhYS9I1OUVjXDlt8tc493IdKGjtUeSXeh4=
+google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c=
+google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw=
+google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc=
+google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc=
+google.golang.org/protobuf v1.28.0 h1:w43yiav+6bVFTBQFZX0r7ipe9JQ1QsbMgHwbBziscLw=
+google.golang.org/protobuf v1.28.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I=
+gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw=
+gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
+gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
+gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
+gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
+gopkg.in/check.v1 v1.0.0-20200902074654-038fdea0a05b/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
+gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk=
+gopkg.in/cheggaaa/pb.v1 v1.0.25/go.mod h1:V/YB90LKu/1FcN3WVnfiiE5oMCibMjukxqG/qStrOgw=
+gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI=
+gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys=
+gopkg.in/gcfg.v1 v1.2.3/go.mod h1:yesOnuUOFQAhST5vPY4nbZsb/huCgGGXlipJsBn0b3o=
+gopkg.in/ini.v1 v1.51.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k=
+gopkg.in/ini.v1 v1.66.2/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k=
+gopkg.in/ini.v1 v1.66.4 h1:SsAcf+mM7mRZo2nJNGt8mZCjG8ZRaNGMURJw7BsIST4=
+gopkg.in/ini.v1 v1.66.4/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k=
+gopkg.in/resty.v1 v1.12.0/go.mod h1:mDo4pnntr5jdWRML875a/NmxYqAlA73dVijT2AXvQQo=
+gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 h1:uRGJdciOHaEIrze2W8Q3AKkepLTh2hOroT7a+7czfdQ=
+gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw=
+gopkg.in/warnings.v0 v0.1.2/go.mod h1:jksf8JmL6Qr/oQM2OXTHunEvvTAsrWBLb6OOjuVWRNI=
+gopkg.in/yaml.v2 v2.0.0-20170812160011-eb3733d160e7/go.mod h1:JAlM8MvJe8wmxCU4Bli9HhUf9+ttbYbLASfIpnQbh74=
+gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
+gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
+gopkg.in/yaml.v2 v2.2.3/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
+gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
+gopkg.in/yaml.v2 v2.2.5/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
+gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
+gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
+gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY=
+gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ=
+gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
+gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
+gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
+gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
+gotest.tools v2.2.0+incompatible h1:VsBPFP1AI068pPrMxtb/S8Zkgf9xEmTLJjfM+P5UIEo=
+gotest.tools v2.2.0+incompatible/go.mod h1:DsYFclhRJ6vuDpmuTbkuFWG+y2sxOXAzmJt81HFBacw=
+gotest.tools/v3 v3.0.3 h1:4AuOwCGf4lLR9u3YOe2awrHygurzhO/HeQ6laiA6Sx0=
+honnef.co/go/tools v0.0.0-20180728063816-88497007e858/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
+honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
+honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
+honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
+honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
+honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg=
+honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k=
+honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k=
+lukechampine.com/uint128 v1.1.1 h1:pnxCASz787iMf+02ssImqk6OLt+Z5QHMoZyUXR4z6JU=
+lukechampine.com/uint128 v1.1.1/go.mod h1:c4eWIwlEGaxC/+H1VguhU4PHXNWDCDMUlWdIWl2j1gk=
+modernc.org/cc/v3 v3.36.0 h1:0kmRkTmqNidmu3c7BNDSdVHCxXCkWLmWmCIVX4LUboo=
+modernc.org/cc/v3 v3.36.0/go.mod h1:NFUHyPn4ekoC/JHeZFfZurN6ixxawE1BnVonP/oahEI=
+modernc.org/ccgo/v3 v3.0.0-20220428102840-41399a37e894/go.mod h1:eI31LL8EwEBKPpNpA4bU1/i+sKOwOrQy8D87zWUcRZc=
+modernc.org/ccgo/v3 v3.0.0-20220430103911-bc99d88307be/go.mod h1:bwdAnOoaIt8Ax9YdWGjxWsdkPcZyRPHqrOvJxaKAKGw=
+modernc.org/ccgo/v3 v3.16.4/go.mod h1:tGtX0gE9Jn7hdZFeU88slbTh1UtCYKusWOoCJuvkWsQ=
+modernc.org/ccgo/v3 v3.16.6 h1:3l18poV+iUemQ98O3X5OMr97LOqlzis+ytivU4NqGhA=
+modernc.org/ccgo/v3 v3.16.6/go.mod h1:tGtX0gE9Jn7hdZFeU88slbTh1UtCYKusWOoCJuvkWsQ=
+modernc.org/ccorpus v1.11.6 h1:J16RXiiqiCgua6+ZvQot4yUuUy8zxgqbqEEUuGPlISk=
+modernc.org/ccorpus v1.11.6/go.mod h1:2gEUTrWqdpH2pXsmTM1ZkjeSrUWDpjMu2T6m29L/ErQ=
+modernc.org/httpfs v1.0.6 h1:AAgIpFZRXuYnkjftxTAZwMIiwEqAfk8aVB2/oA6nAeM=
+modernc.org/httpfs v1.0.6/go.mod h1:7dosgurJGp0sPaRanU53W4xZYKh14wfzX420oZADeHM=
+modernc.org/libc v0.0.0-20220428101251-2d5f3daf273b/go.mod h1:p7Mg4+koNjc8jkqwcoFBJx7tXkpj00G77X7A72jXPXA=
+modernc.org/libc v1.16.0/go.mod h1:N4LD6DBE9cf+Dzf9buBlzVJndKr/iJHG97vGLHYnb5A=
+modernc.org/libc v1.16.1/go.mod h1:JjJE0eu4yeK7tab2n4S1w8tlWd9MxXLRzheaRnAKymU=
+modernc.org/libc v1.16.7 h1:qzQtHhsZNpVPpeCu+aMIQldXeV1P0vRhSqCL0nOIJOA=
+modernc.org/libc v1.16.7/go.mod h1:hYIV5VZczAmGZAnG15Vdngn5HSF5cSkbvfz2B7GRuVU=
+modernc.org/mathutil v1.2.2/go.mod h1:mZW8CKdRPY1v87qxC/wUdX5O1qDzXMP5TH3wjfpga6E=
+modernc.org/mathutil v1.4.1 h1:ij3fYGe8zBF4Vu+g0oT7mB06r8sqGWKuJu1yXeR4by8=
+modernc.org/mathutil v1.4.1/go.mod h1:mZW8CKdRPY1v87qxC/wUdX5O1qDzXMP5TH3wjfpga6E=
+modernc.org/memory v1.1.1 h1:bDOL0DIDLQv7bWhP3gMvIrnoFw+Eo6F7a2QK9HPDiFU=
+modernc.org/memory v1.1.1/go.mod h1:/0wo5ibyrQiaoUoH7f9D8dnglAmILJ5/cxZlRECf+Nw=
+modernc.org/opt v0.1.1 h1:/0RX92k9vwVeDXj+Xn23DKp2VJubL7k8qNffND6qn3A=
+modernc.org/opt v0.1.1/go.mod h1:WdSiB5evDcignE70guQKxYUl14mgWtbClRi5wmkkTX0=
+modernc.org/sqlite v1.17.3 h1:iE+coC5g17LtByDYDWKpR6m2Z9022YrSh3bumwOnIrI=
+modernc.org/sqlite v1.17.3/go.mod h1:10hPVYar9C0kfXuTWGz8s0XtB8uAGymUy51ZzStYe3k=
+modernc.org/strutil v1.1.1 h1:xv+J1BXY3Opl2ALrBwyfEikFAj8pmqcpnfmuwUwcozs=
+modernc.org/strutil v1.1.1/go.mod h1:DE+MQQ/hjKBZS2zNInV5hhcipt5rLPWkmpbGeW5mmdw=
+modernc.org/tcl v1.13.1 h1:npxzTwFTZYM8ghWicVIX1cRWzj7Nd8i6AqqX2p+IYao=
+modernc.org/tcl v1.13.1/go.mod h1:XOLfOwzhkljL4itZkK6T72ckMgvj0BDsnKNdZVUOecw=
+modernc.org/token v1.0.0 h1:a0jaWiNMDhDUtqOj09wvjWWAqd3q7WpBulmL9H2egsk=
+modernc.org/token v1.0.0/go.mod h1:UGzOrNV1mAFSEB63lOFHIpNRUVMvYTc6yu1SMY/XTDM=
+modernc.org/z v1.5.1 h1:RTNHdsrOpeoSeOF4FbzTo8gBYByaJ5xT7NgZ9ZqRiJM=
+modernc.org/z v1.5.1/go.mod h1:eWFB510QWW5Th9YGZT81s+LwvaAs3Q2yr4sP0rmLkv8=
+nhooyr.io/websocket v1.8.6 h1:s+C3xAMLwGmlI31Nyn/eAehUlZPwfYZu2JXM621Q5/k=
+rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8=
+rsc.io/pdf v0.1.1/go.mod h1:n8OzWcQ6Sp37PL01nO98y4iUCRdTGarVfzxY20ICaU4=
+rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0=
+rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA=
+sigs.k8s.io/yaml v1.1.0/go.mod h1:UJmg0vDUVViEyp3mgSv9WPwZCDxu4rQW1olrI1uml+o=
+sigs.k8s.io/yaml v1.2.0/go.mod h1:yfXDCHCao9+ENCvLSE62v9VSji2MKu5jeNfTrofGhJc=
+sourcegraph.com/sourcegraph/appdash v0.0.0-20190731080439-ebfcffb1b5c0/go.mod h1:hI742Nqp5OhwiqlzhgfbWU4mW4yO10fP+LoT9WOswdU=
diff --git a/e2e/scripts/run-e2e.sh b/e2e/scripts/run-e2e.sh
new file mode 100755
index 00000000000..1e0875c099f
--- /dev/null
+++ b/e2e/scripts/run-e2e.sh
@@ -0,0 +1,17 @@
+#!/bin/bash
+
+set -euo pipefail
+
+SUITE="${1}"
+TEST="${2}"
+export SIMD_TAG="${SIMD_TAG:-latest}"
+export SIMD_IMAGE="${SIMD_IMAGE:-ibc-go-simd-e2e}"
+
+# In CI, the docker images will be built separately.
+# context for building the image is one directory up.
+if [ "${CI:-}" != "true" ]
+then
+ (cd ..; docker build . -t "${SIMD_IMAGE}:${SIMD_TAG}")
+fi
+
+go test -v ./ --run ${SUITE} -testify.m ^${TEST}$
diff --git a/e2e/testconfig/testconfig.go b/e2e/testconfig/testconfig.go
new file mode 100644
index 00000000000..46be84e1e58
--- /dev/null
+++ b/e2e/testconfig/testconfig.go
@@ -0,0 +1,93 @@
+package testconfig
+
+import (
+ "fmt"
+ "os"
+
+ "github.com/strangelove-ventures/ibctest/ibc"
+)
+
+const (
+ DefaultSimdImage = "ghcr.io/cosmos/ibc-go-simd-e2e"
+ SimdImageEnv = "SIMD_IMAGE"
+ SimdTagEnv = "SIMD_TAG"
+ GoRelayerTag = "RLY_TAG"
+
+ defaultRlyTag = "main"
+)
+
+// TestConfig holds various fields used in the E2E tests.
+type TestConfig struct {
+ SimdImage string
+ SimdTag string
+ RlyTag string
+}
+
+// FromEnv returns a TestConfig constructed from environment variables.
+func FromEnv() TestConfig {
+ simdImage, ok := os.LookupEnv(SimdImageEnv)
+ if !ok {
+ simdImage = DefaultSimdImage
+ }
+
+ simdTag, ok := os.LookupEnv(SimdTagEnv)
+ if !ok {
+ panic(fmt.Sprintf("must specify simd version for test with environment variable [%s]", SimdTagEnv))
+ }
+
+ rlyTag, ok := os.LookupEnv(GoRelayerTag)
+ if !ok {
+ rlyTag = defaultRlyTag
+ }
+
+ return TestConfig{
+ SimdImage: simdImage,
+ SimdTag: simdTag,
+ RlyTag: rlyTag,
+ }
+}
+
+// ChainOptions stores chain configurations for the chains that will be
+// created for the tests. They can be modified by passing ChainOptionConfiguration
+// to E2ETestSuite.GetChains.
+type ChainOptions struct {
+ ChainAConfig *ibc.ChainConfig
+ ChainBConfig *ibc.ChainConfig
+}
+
+// ChainOptionConfiguration enables arbitrary configuration of ChainOptions.
+type ChainOptionConfiguration func(options *ChainOptions)
+
+// DefaultChainOptions returns the default configuration for the chains.
+// These options can be configured by passing configuration functions to E2ETestSuite.GetChains.
+func DefaultChainOptions() ChainOptions {
+ tc := FromEnv()
+ chainACfg := newDefaultSimappConfig(tc, "simapp-a", "chain-a", "atoma")
+ chainBCfg := newDefaultSimappConfig(tc, "simapp-b", "chain-b", "atomb")
+ return ChainOptions{
+ ChainAConfig: &chainACfg,
+ ChainBConfig: &chainBCfg,
+ }
+}
+
+// newDefaultSimappConfig creates an ibc configuration for simd.
+func newDefaultSimappConfig(tc TestConfig, name, chainID, denom string) ibc.ChainConfig {
+ return ibc.ChainConfig{
+ Type: "cosmos",
+ Name: name,
+ ChainID: chainID,
+ Images: []ibc.DockerImage{
+ {
+ Repository: tc.SimdImage,
+ Version: tc.SimdTag,
+ },
+ },
+ Bin: "simd",
+ Bech32Prefix: "cosmos",
+ Denom: denom,
+ GasPrices: fmt.Sprintf("0.00%s", denom),
+ GasAdjustment: 1.3,
+ TrustingPeriod: "508h",
+ NoHostMount: false,
+ }
+}
diff --git a/e2e/testsuite/relayer.go b/e2e/testsuite/relayer.go
new file mode 100644
index 00000000000..123a54465d1
--- /dev/null
+++ b/e2e/testsuite/relayer.go
@@ -0,0 +1,24 @@
+package testsuite
+
+import (
+ "testing"
+
+ "e2e/testconfig"
+
+ dockerclient "github.com/docker/docker/client"
+ "github.com/strangelove-ventures/ibctest"
+ "github.com/strangelove-ventures/ibctest/ibc"
+ "github.com/strangelove-ventures/ibctest/relayer"
+ "go.uber.org/zap"
+)
+
+const (
+ cosmosRelayerRepository = "ghcr.io/cosmos/relayer"
+)
+
+// newCosmosRelayer returns an instance of the go relayer.
+func newCosmosRelayer(t *testing.T, tc testconfig.TestConfig, logger *zap.Logger, dockerClient *dockerclient.Client, network string) ibc.Relayer {
+ return ibctest.NewBuiltinRelayerFactory(ibc.CosmosRly, logger, relayer.CustomDockerImage(cosmosRelayerRepository, tc.RlyTag)).Build(
+ t, dockerClient, network,
+ )
+}
diff --git a/e2e/testsuite/testsuite.go b/e2e/testsuite/testsuite.go
new file mode 100644
index 00000000000..7874f956639
--- /dev/null
+++ b/e2e/testsuite/testsuite.go
@@ -0,0 +1,340 @@
+package testsuite
+
+import (
+ "context"
+ "fmt"
+ "io/ioutil"
+ "strings"
+ "time"
+
+ "e2e/testconfig"
+
+ sdk "github.com/cosmos/cosmos-sdk/types"
+ dockerclient "github.com/docker/docker/client"
+ "github.com/strangelove-ventures/ibctest"
+ "github.com/strangelove-ventures/ibctest/broadcast"
+ "github.com/strangelove-ventures/ibctest/chain/cosmos"
+ "github.com/strangelove-ventures/ibctest/ibc"
+ "github.com/strangelove-ventures/ibctest/test"
+ "github.com/strangelove-ventures/ibctest/testreporter"
+ "github.com/stretchr/testify/suite"
+ "go.uber.org/zap"
+ "go.uber.org/zap/zaptest"
+ "google.golang.org/grpc"
+ "google.golang.org/grpc/credentials/insecure"
+
+ feetypes "github.com/cosmos/ibc-go/v4/modules/apps/29-fee/types"
+)
+
+const (
+ // ChainARelayerName is the name given to the relayer wallet on ChainA
+ ChainARelayerName = "rlyA"
+ // ChainBRelayerName is the name given to the relayer wallet on ChainB
+ ChainBRelayerName = "rlyB"
+)
+
+// E2ETestSuite has methods and functionality which can be shared among all test suites.
+type E2ETestSuite struct {
+ suite.Suite
+
+ grpcClients map[string]GRPCClients
+ paths map[string]path
+ logger *zap.Logger
+ DockerClient *dockerclient.Client
+ network string
+ startRelayerFn func(relayer ibc.Relayer)
+}
+
+// GRPCClients holds a reference to any GRPC clients that are needed by the tests.
+// These should typically be used for query clients only. If we need to make changes, we should
+// use E2ETestSuite.BroadcastMessages to broadcast transactions instead.
+type GRPCClients struct {
+ FeeQueryClient feetypes.QueryClient
+}
+
+// path is a pairing of two chains which will be used in a test.
+type path struct {
+ chainA, chainB *cosmos.CosmosChain
+}
+
+// newPath returns a path built from the given chains.
+func newPath(chainA, chainB *cosmos.CosmosChain) path {
+ return path{
+ chainA: chainA,
+ chainB: chainB,
+ }
+}
+
+// GetRelayerUsers returns two ibctest.User instances which can be used for the relayer users
+// on the two chains.
+func (s *E2ETestSuite) GetRelayerUsers(ctx context.Context, chainOpts ...testconfig.ChainOptionConfiguration) (*ibctest.User, *ibctest.User) {
+ chainA, chainB := s.GetChains(chainOpts...)
+ chainAAccountBytes, err := chainA.GetAddress(ctx, ChainARelayerName)
+ s.Require().NoError(err)
+
+ chainBAccountBytes, err := chainB.GetAddress(ctx, ChainBRelayerName)
+ s.Require().NoError(err)
+
+ chainARelayerUser := ibctest.User{
+ Address: chainAAccountBytes,
+ KeyName: ChainARelayerName,
+ }
+
+ chainBRelayerUser := ibctest.User{
+ Address: chainBAccountBytes,
+ KeyName: ChainBRelayerName,
+ }
+ return &chainARelayerUser, &chainBRelayerUser
+}
+
+// SetupChainsRelayerAndChannel create two chains, a relayer, establishes a connection and creates a channel
+// using the given channel options. The relayer returned by this function has not yet started. It should be started
+// with E2ETestSuite.StartRelayer if needed.
+// This should be called at the start of every test, unless fine grained control is required.
+func (s *E2ETestSuite) SetupChainsRelayerAndChannel(ctx context.Context, channelOpts ...func(*ibc.CreateChannelOptions)) (ibc.Relayer, ibc.ChannelOutput) {
+ chainA, chainB := s.GetChains()
+ home, err := ioutil.TempDir("", "")
+ s.Require().NoError(err)
+
+ r := newCosmosRelayer(s.T(), testconfig.FromEnv(), s.logger, s.DockerClient, s.network)
+
+ pathName := fmt.Sprintf("%s-path", s.T().Name())
+ pathName = strings.ReplaceAll(pathName, "/", "-")
+
+ ic := ibctest.NewInterchain().
+ AddChain(chainA).
+ AddChain(chainB).
+ AddRelayer(r, "r").
+ AddLink(ibctest.InterchainLink{
+ Chain1: chainA,
+ Chain2: chainB,
+ Relayer: r,
+ Path: pathName,
+ })
+
+ channelOptions := ibc.DefaultChannelOpts()
+ for _, opt := range channelOpts {
+ opt(&channelOptions)
+ }
+
+ eRep := s.getRelayerExecReporter()
+ s.Require().NoError(ic.Build(ctx, eRep, ibctest.InterchainBuildOptions{
+ TestName: s.T().Name(),
+ HomeDir: home,
+ Client: s.DockerClient,
+ NetworkID: s.network,
+ CreateChannelOpts: channelOptions,
+ }))
+
+ s.startRelayerFn = func(relayer ibc.Relayer) {
+ err := relayer.StartRelayer(ctx, eRep, pathName)
+ s.Require().NoError(err, fmt.Sprintf("failed to start relayer: %s", err))
+ s.T().Cleanup(func() {
+ if !s.T().Failed() {
+ if err := relayer.StopRelayer(ctx, eRep); err != nil {
+ s.T().Logf("error stopping relayer: %v", err)
+ }
+ }
+ })
+ // wait for relayer to start.
+ time.Sleep(time.Second * 10)
+ }
+
+ s.initGRPCClients(chainA)
+ s.initGRPCClients(chainB)
+
+ chainAChannels, err := r.GetChannels(ctx, eRep, chainA.Config().ChainID)
+ s.Require().NoError(err)
+ return r, chainAChannels[len(chainAChannels)-1]
+}
+
+// GetChains returns two chains that can be used in a test. The pair returned
+// is unique to the current test being run. Note: this function does not create containers.
+func (s *E2ETestSuite) GetChains(chainOpts ...testconfig.ChainOptionConfiguration) (*cosmos.CosmosChain, *cosmos.CosmosChain) {
+ if s.paths == nil {
+ s.paths = map[string]path{}
+ }
+
+ path, ok := s.paths[s.T().Name()]
+ if ok {
+ return path.chainA, path.chainB
+ }
+
+ chainOptions := testconfig.DefaultChainOptions()
+ for _, opt := range chainOpts {
+ opt(&chainOptions)
+ }
+
+ chainA, chainB := s.createCosmosChains(chainOptions)
+ path = newPath(chainA, chainB)
+ s.paths[s.T().Name()] = path
+
+ return path.chainA, path.chainB
+}
+
+// BroadcastMessages broadcasts the provided messages to the given chain and signs them on behalf of the provided user.
+// Once the broadcast response is returned, we wait for a few blocks to be created on both chain A and chain B.
+func (s *E2ETestSuite) BroadcastMessages(ctx context.Context, chain *cosmos.CosmosChain, user broadcast.User, msgs ...sdk.Msg) (sdk.TxResponse, error) {
+ broadcaster := cosmos.NewBroadcaster(s.T(), chain)
+ resp, err := ibctest.BroadcastTx(ctx, broadcaster, user, msgs...)
+ if err != nil {
+ return sdk.TxResponse{}, err
+ }
+
+ chainA, chainB := s.GetChains()
+ err = test.WaitForBlocks(ctx, 2, chainA, chainB)
+ return resp, err
+}
+
+// GetRelayerWallets returns the relayer wallets associated with the chains.
+func (s *E2ETestSuite) GetRelayerWallets(relayer ibc.Relayer) (ibc.RelayerWallet, ibc.RelayerWallet, error) {
+ chainA, chainB := s.GetChains()
+ chainARelayerWallet, ok := relayer.GetWallet(chainA.Config().ChainID)
+ if !ok {
+ return ibc.RelayerWallet{}, ibc.RelayerWallet{}, fmt.Errorf("unable to find chain A relayer wallet")
+ }
+
+ chainBRelayerWallet, ok := relayer.GetWallet(chainB.Config().ChainID)
+ if !ok {
+ return ibc.RelayerWallet{}, ibc.RelayerWallet{}, fmt.Errorf("unable to find chain B relayer wallet")
+ }
+ return chainARelayerWallet, chainBRelayerWallet, nil
+}
+
+// RecoverRelayerWallets adds the corresponding relayer address to the keychain of the chain.
+// This is useful if commands executed on the chains expect the relayer information to present in the keychain.
+func (s *E2ETestSuite) RecoverRelayerWallets(ctx context.Context, relayer ibc.Relayer) error {
+ chainARelayerWallet, chainBRelayerWallet, err := s.GetRelayerWallets(relayer)
+ if err != nil {
+ return err
+ }
+
+ chainA, chainB := s.GetChains()
+
+ if err := chainA.RecoverKey(ctx, ChainARelayerName, chainARelayerWallet.Mnemonic); err != nil {
+ return fmt.Errorf("could not recover relayer wallet on chain A: %s", err)
+ }
+ if err := chainB.RecoverKey(ctx, ChainBRelayerName, chainBRelayerWallet.Mnemonic); err != nil {
+ return fmt.Errorf("could not recover relayer wallet on chain B: %s", err)
+ }
+ return nil
+}
+
+// StartRelayer starts the given relayer.
+func (s *E2ETestSuite) StartRelayer(relayer ibc.Relayer) {
+ if s.startRelayerFn == nil {
+ panic("cannot start relayer before it is created!")
+ }
+
+ s.startRelayerFn(relayer)
+}
+
+// CreateUserOnChainA creates a user with the given amount of funds on chain A.
+func (s *E2ETestSuite) CreateUserOnChainA(ctx context.Context, amount int64) *ibctest.User {
+ chainA, _ := s.GetChains()
+ return ibctest.GetAndFundTestUsers(s.T(), ctx, strings.ReplaceAll(s.T().Name(), " ", "-"), amount, chainA)[0]
+}
+
+// CreateUserOnChainB creates a user with the given amount of funds on chain B.
+func (s *E2ETestSuite) CreateUserOnChainB(ctx context.Context, amount int64) *ibctest.User {
+ _, chainB := s.GetChains()
+ return ibctest.GetAndFundTestUsers(s.T(), ctx, strings.ReplaceAll(s.T().Name(), " ", "-"), amount, chainB)[0]
+}
+
+// GetChainANativeBalance gets the balance of a given user on chain A.
+func (s *E2ETestSuite) GetChainANativeBalance(ctx context.Context, user *ibctest.User) (int64, error) {
+ chainA, _ := s.GetChains()
+ return GetNativeChainBalance(ctx, chainA, user)
+}
+
+// GetChainBNativeBalance gets the balance of a given user on chain B.
+func (s *E2ETestSuite) GetChainBNativeBalance(ctx context.Context, user *ibctest.User) (int64, error) {
+ _, chainB := s.GetChains()
+ return GetNativeChainBalance(ctx, chainB, user)
+}
+
+// GetChainGRCPClients gets the GRPC clients associated with the given chain.
+func (s *E2ETestSuite) GetChainGRCPClients(chain ibc.Chain) GRPCClients {
+ cs, ok := s.grpcClients[chain.Config().ChainID]
+ s.Require().True(ok, "chain %s does not have GRPC clients", chain.Config().ChainID)
+ return cs
+}
+
+// initGRPCClients establishes GRPC clients with the given chain.
+// The created GRPCClients can be retrieved with GetChainGRCPClients.
+func (s *E2ETestSuite) initGRPCClients(chain *cosmos.CosmosChain) {
+ // Create a connection to the gRPC server.
+ grpcConn, err := grpc.Dial(
+ chain.GetHostGRPCAddress(),
+ grpc.WithTransportCredentials(insecure.NewCredentials()),
+ )
+ s.Require().NoError(err)
+ s.T().Cleanup(func() {
+ if err := grpcConn.Close(); err != nil {
+ s.T().Logf("failed closing GRPC connection to chain %s: %s", chain.Config().ChainID, err)
+ }
+ })
+
+ if s.grpcClients == nil {
+ s.grpcClients = make(map[string]GRPCClients)
+ }
+
+ s.grpcClients[chain.Config().ChainID] = GRPCClients{
+ FeeQueryClient: feetypes.NewQueryClient(grpcConn),
+ }
+}
+
+// AssertValidTxResponse verifies that an sdk.TxResponse
+// has non-empty values.
+func (s *E2ETestSuite) AssertValidTxResponse(resp sdk.TxResponse) {
+ respLogsMsg := resp.Logs.String()
+ s.Require().NotEqual(int64(0), resp.GasUsed, respLogsMsg)
+ s.Require().NotEqual(int64(0), resp.GasWanted, respLogsMsg)
+ s.Require().NotEmpty(resp.Events, respLogsMsg)
+ s.Require().NotEmpty(resp.Data, respLogsMsg)
+}
+
+// createCosmosChains creates two separate chains in docker containers.
+// test and can be retrieved with GetChains.
+func (s *E2ETestSuite) createCosmosChains(chainOptions testconfig.ChainOptions) (*cosmos.CosmosChain, *cosmos.CosmosChain) {
+ ctx := context.Background()
+ client, network := ibctest.DockerSetup(s.T())
+
+ s.logger = zap.NewExample()
+ s.DockerClient = client
+ s.network = network
+
+ logger := zaptest.NewLogger(s.T())
+
+ // TODO(chatton): allow for controller over number of validators and full nodes.
+ chainA := cosmos.NewCosmosChain(s.T().Name(), *chainOptions.ChainAConfig, 1, 0, logger)
+ chainB := cosmos.NewCosmosChain(s.T().Name(), *chainOptions.ChainBConfig, 1, 0, logger)
+
+ s.T().Cleanup(func() {
+ if !s.T().Failed() {
+ for _, c := range []*cosmos.CosmosChain{chainA, chainB} {
+ if err := c.Cleanup(ctx); err != nil {
+ s.T().Logf("Chain cleanup for %s failed: %v", c.Config().ChainID, err)
+ }
+ }
+ }
+ })
+
+ return chainA, chainB
+}
+
+// getRelayerExecReporter returns a testreporter.RelayerExecReporter instances
+// using the current test's testing.T.
+func (s *E2ETestSuite) getRelayerExecReporter() *testreporter.RelayerExecReporter {
+ rep := testreporter.NewNopReporter()
+ return rep.RelayerExecReporter(s.T())
+}
+
+// GetNativeChainBalance returns the balance of a specific user on a chain using the native denom.
+func GetNativeChainBalance(ctx context.Context, chain ibc.Chain, user *ibctest.User) (int64, error) {
+ bal, err := chain.GetBalance(ctx, user.Bech32Address(chain.Config().Bech32Prefix), chain.Config().Denom)
+ if err != nil {
+ return -1, err
+ }
+ return bal, nil
+}
diff --git a/e2e/testvalues/values.go b/e2e/testvalues/values.go
new file mode 100644
index 00000000000..ce11c09bc98
--- /dev/null
+++ b/e2e/testvalues/values.go
@@ -0,0 +1,32 @@
+package testvalues
+
+import (
+ sdk "github.com/cosmos/cosmos-sdk/types"
+ "github.com/strangelove-ventures/ibctest/ibc"
+
+ feetypes "github.com/cosmos/ibc-go/v4/modules/apps/29-fee/types"
+)
+
+const (
+ StartingTokenAmount int64 = 10_000_000
+ IBCTransferAmount int64 = 10_000
+)
+
+// ImmediatelyTimeout returns an ibc.IBCTimeout which will cause an IBC transfer to timeout immediately.
+func ImmediatelyTimeout() *ibc.IBCTimeout {
+ return &ibc.IBCTimeout{
+ NanoSeconds: 1,
+ }
+}
+
+func DefaultFee(denom string) feetypes.Fee {
+ return feetypes.Fee{
+ RecvFee: sdk.NewCoins(sdk.NewCoin(denom, sdk.NewInt(50))),
+ AckFee: sdk.NewCoins(sdk.NewCoin(denom, sdk.NewInt(25))),
+ TimeoutFee: sdk.NewCoins(sdk.NewCoin(denom, sdk.NewInt(10))),
+ }
+}
+
+func DefaultTransferAmount(denom string) sdk.Coin {
+ return sdk.Coin{Denom: denom, Amount: sdk.NewInt(IBCTransferAmount)}
+}
diff --git a/go.mod b/go.mod
index 7b9443ade4d..c557dacf702 100644
--- a/go.mod
+++ b/go.mod
@@ -1,13 +1,13 @@
-go 1.17
+go 1.18
-module github.com/cosmos/ibc-go/v3
+module github.com/cosmos/ibc-go/v4
replace github.com/gogo/protobuf => github.com/regen-network/protobuf v1.3.3-alpha.regen.1
require (
github.com/armon/go-metrics v0.4.0
github.com/confio/ics23/go v0.7.0
- github.com/cosmos/cosmos-sdk v0.45.5
+ github.com/cosmos/cosmos-sdk v0.45.6
github.com/gogo/protobuf v1.3.3
github.com/golang/protobuf v1.5.2
github.com/gorilla/mux v1.8.0
@@ -17,11 +17,11 @@ require (
github.com/spf13/cast v1.5.0
github.com/spf13/cobra v1.5.0
github.com/spf13/viper v1.12.0
- github.com/stretchr/testify v1.7.5
+ github.com/stretchr/testify v1.8.0
github.com/tendermint/tendermint v0.34.19
github.com/tendermint/tm-db v0.6.6
google.golang.org/genproto v0.0.0-20220519153652-3a47de7e79bd
- google.golang.org/grpc v1.47.0
+ google.golang.org/grpc v1.48.0
google.golang.org/protobuf v1.28.0
gopkg.in/yaml.v2 v2.4.0
)
@@ -81,7 +81,6 @@ require (
github.com/libp2p/go-buffer-pool v0.0.2 // indirect
github.com/magiconair/properties v1.8.6 // indirect
github.com/mattn/go-isatty v0.0.14 // indirect
- github.com/matttproud/golang_protobuf_extensions v1.0.1 // indirect
github.com/mimoo/StrobeGo v0.0.0-20181016162300-f8f6d4d2b643 // indirect
github.com/minio/highwayhash v1.0.2 // indirect
github.com/mitchellh/go-homedir v1.1.0 // indirect
@@ -98,7 +97,6 @@ require (
github.com/prometheus/procfs v0.7.3 // indirect
github.com/rcrowley/go-metrics v0.0.0-20200313005456-10cdbea86bc0 // indirect
github.com/rs/cors v1.8.2 // indirect
- github.com/rs/zerolog v1.23.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/spf13/jwalterweatherman v1.1.0 // indirect
@@ -120,3 +118,9 @@ require (
gopkg.in/yaml.v3 v3.0.1 // indirect
nhooyr.io/websocket v1.8.6 // indirect
)
+
+require (
+ github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369 // indirect
+ github.com/rs/zerolog v1.26.1 // indirect
+ gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c // indirect
+)
diff --git a/go.sum b/go.sum
index 05c8bcbda2f..01f587eac52 100644
--- a/go.sum
+++ b/go.sum
@@ -29,18 +29,12 @@ cloud.google.com/go v0.93.3/go.mod h1:8utlLll2EF5XMAV15woO4lSbWQlk8rer9aLOfLh7+Y
cloud.google.com/go v0.94.1/go.mod h1:qAlAugsXlC+JWO+Bke5vCtc9ONxjQT3drlTTnAplMW4=
cloud.google.com/go v0.97.0/go.mod h1:GF7l59pYBVlXQIBLx3a761cZ41F9bBH3JUlihCt2Udc=
cloud.google.com/go v0.99.0/go.mod h1:w0Xx2nLzqWJPuozYQX+hFfCSI8WioryfRDzkoI/Y2ZA=
-cloud.google.com/go v0.100.2/go.mod h1:4Xra9TjzAeYHrl5+oeLlzbM2k3mjVhZh4UqTZ//w99A=
cloud.google.com/go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o=
cloud.google.com/go/bigquery v1.3.0/go.mod h1:PjpwJnslEMmckchkHFfq+HTD2DmtT67aNFKH1/VBDHE=
cloud.google.com/go/bigquery v1.4.0/go.mod h1:S8dzgnTigyfTmLBfrtrhyYhwRxG72rYxvftPBK2Dvzc=
cloud.google.com/go/bigquery v1.5.0/go.mod h1:snEHRnqQbz117VIFhE8bmtwIDY80NLUZUMb4Nv6dBIg=
cloud.google.com/go/bigquery v1.7.0/go.mod h1://okPTzCYNXSlb24MZs83e2Do+h+VXtc4gLoIoXIAPc=
cloud.google.com/go/bigquery v1.8.0/go.mod h1:J5hqkt3O0uAFnINi6JXValWIb1v0goeZM77hZzJN/fQ=
-cloud.google.com/go/compute v0.1.0/go.mod h1:GAesmwr110a34z04OlxYkATPBEfVhkymfTBXtfbBFow=
-cloud.google.com/go/compute v1.3.0/go.mod h1:cCZiE1NHEtai4wiufUhW8I8S1JKkAnhnQJWM7YD99wM=
-cloud.google.com/go/compute v1.5.0/go.mod h1:9SMHyhJlzhlkJqrPAc839t2BZFTSk6Jdj6mkzQJeu0M=
-cloud.google.com/go/compute v1.6.0/go.mod h1:T29tfhtVbq1wvAPo0E3+7vhgmkOYeXjhFvz/FMzPu0s=
-cloud.google.com/go/compute v1.6.1/go.mod h1:g85FgpzFvNULZ+S8AYq87axRKuf2Kh7deLqV/jJ3thU=
cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE=
cloud.google.com/go/datastore v1.1.0/go.mod h1:umbIZjpQpHh4hmRpGhH4tLFup+FVzqBi1b3c64qFpCk=
cloud.google.com/go/firestore v1.1.0/go.mod h1:ulACoGHTpvq5r8rxGJ4ddJZBZqakUQqClKRT5SZwBmk=
@@ -232,8 +226,8 @@ github.com/coreos/pkg v0.0.0-20160727233714-3ac0863d7acf/go.mod h1:E3G3o1h8I7cfc
github.com/coreos/pkg v0.0.0-20180928190104-399ea9e2e55f/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA=
github.com/cosmos/btcutil v1.0.4 h1:n7C2ngKXo7UC9gNyMNLbzqz7Asuf+7Qv4gnX/rOdQ44=
github.com/cosmos/btcutil v1.0.4/go.mod h1:Ffqc8Hn6TJUdDgHBwIZLtrLQC1KdJ9jGJl/TvgUaxbU=
-github.com/cosmos/cosmos-sdk v0.45.5 h1:GVrZM+lss6y626Pq6loxh/3KLRgK/J6/alTkcKkYmGU=
-github.com/cosmos/cosmos-sdk v0.45.5/go.mod h1:WOqtDxN3eCCmnYLVla10xG7lEXkFjpTaqm2a2WasgCc=
+github.com/cosmos/cosmos-sdk v0.45.6 h1:bnYLOcDp0cKWMLeUTTJIttq6xxRep52ulPxXC3BCfuQ=
+github.com/cosmos/cosmos-sdk v0.45.6/go.mod h1:bPeeVMEtVvH3y3xAGHVbK+/CZlpaazzh77hG8ZrcJpI=
github.com/cosmos/go-bip39 v0.0.0-20180819234021-555e2067c45d/go.mod h1:tSxLoYXyBmiFeKpvmq4dzayMdCjCnu8uqmCysIGBT2Y=
github.com/cosmos/go-bip39 v1.0.0 h1:pcomnQdrdH22njcAatO0yWojsUnCO3y2tNoV1cb6hHY=
github.com/cosmos/go-bip39 v1.0.0/go.mod h1:RNJv0H/pOIVgxw6KS7QeX2a0Uo0aKUlfhZ4xuwvCdJw=
@@ -328,7 +322,6 @@ github.com/franela/goblin v0.0.0-20210519012713-85d372ac71e2/go.mod h1:VzmDKDJVZ
github.com/franela/goreq v0.0.0-20171204163338-bcd34c9993f8/go.mod h1:ZhphrRTfi2rbfLwlschooIH4+wKKDR4Pdxhh+TRoA20=
github.com/frankban/quicktest v1.11.3/go.mod h1:wRf/ReqHper53s+kmmSZizM8NamnL3IM0I9ntUbOk+k=
github.com/frankban/quicktest v1.14.3 h1:FJKSZTDHjyhriyC81FLQ0LY93eSai0ZyR/ZIkd3ZUKE=
-github.com/frankban/quicktest v1.14.3/go.mod h1:mgiwOwqx65TmIk1wJ6Q7wvnVMocbUorkibMOrVTHZps=
github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo=
github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ=
github.com/fsnotify/fsnotify v1.5.1/go.mod h1:T3375wBYaZdLLcVNkcVbzGHY7f1l/uK5T5Ai1i3InKU=
@@ -444,9 +437,7 @@ github.com/google/go-cmp v0.5.3/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/
github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
-github.com/google/go-cmp v0.5.7/go.mod h1:n+brtR0CgQNWTVd5ZUFpTBC8YFBDLK/h/bpaJ8/DtOE=
github.com/google/go-cmp v0.5.8 h1:e6P7q2lk1O+qJJb4BtCQXlK8vWEO8V1ZeuEdJNOqZyg=
-github.com/google/go-cmp v0.5.8/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
github.com/google/gofuzz v0.0.0-20170612174753-24818f796faf/go.mod h1:HP5RmnzzSNb993RKQDq4+1A4ia9nllfqcQFTQJedwGI=
github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
github.com/google/gofuzz v1.1.1-0.20200604201612-c04b05f3adfa h1:Q75Upo5UN4JbPFURXZ8nLKYUvF85dyFRop/vQ0Rv+64=
@@ -480,12 +471,8 @@ github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+
github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk=
github.com/googleapis/gax-go/v2 v2.1.0/go.mod h1:Q3nei7sK6ybPYH7twZdmQpAd1MKb7pfu6SK+H1/DsU0=
github.com/googleapis/gax-go/v2 v2.1.1/go.mod h1:hddJymUZASv3XPyGkUpKj8pPO47Rmb0eJc8R6ouapiM=
-github.com/googleapis/gax-go/v2 v2.2.0/go.mod h1:as02EH8zWkzwUoLbBaFeQ+arQaj/OthfcblKl4IGNaM=
-github.com/googleapis/gax-go/v2 v2.3.0/go.mod h1:b8LNqSzNabLiUpXKkY7HAR5jr6bIT99EXz9pXxye9YM=
-github.com/googleapis/gax-go/v2 v2.4.0/go.mod h1:XOTVJ59hdnfJLIP/dh8n5CGryZR2LxK9wbMD5+iXC6c=
github.com/googleapis/google-cloud-go-testing v0.0.0-20200911160855-bcd43fbb19e8/go.mod h1:dvDLG8qkwmyD9a/MJJN3XJcT3xFxOKAvTZGvuZmac9g=
github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY=
-github.com/gordonklaus/ineffassign v0.0.0-20200309095847-7953dde2c7bf/go.mod h1:cuNKsD1zp2v6XfE/orVX2QE1LC+i254ceGcVeDT3pTU=
github.com/gorilla/context v1.1.1/go.mod h1:kBGZzfjB9CEq2AlWe17Uuf7NDRt0dE0s8S51q0aT7Yg=
github.com/gorilla/handlers v1.5.1 h1:9lRY6j8DEeeBT10CvO9hGW0gmky0BprnvDI5vfhUHH4=
github.com/gorilla/handlers v1.5.1/go.mod h1:t8XrUpc4KVXb7HGyJ4/cEnwQiaxrX/hz1Zv/4g96P1Q=
@@ -534,7 +521,6 @@ github.com/hashicorp/go-cleanhttp v0.5.2/go.mod h1:kO/YDlP8L1346E6Sodw+PrpBSV4/S
github.com/hashicorp/go-hclog v0.12.0/go.mod h1:whpDNt7SSdeAju8AWKIWsul05p54N/39EeqMAyrmvFQ=
github.com/hashicorp/go-hclog v0.16.2/go.mod h1:whpDNt7SSdeAju8AWKIWsul05p54N/39EeqMAyrmvFQ=
github.com/hashicorp/go-hclog v1.0.0/go.mod h1:whpDNt7SSdeAju8AWKIWsul05p54N/39EeqMAyrmvFQ=
-github.com/hashicorp/go-hclog v1.2.0/go.mod h1:whpDNt7SSdeAju8AWKIWsul05p54N/39EeqMAyrmvFQ=
github.com/hashicorp/go-immutable-radix v1.0.0/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60=
github.com/hashicorp/go-immutable-radix v1.3.1 h1:DKHmCUm2hRBK510BaiZlwvpD40f8bJFeZnpfm2KLowc=
github.com/hashicorp/go-immutable-radix v1.3.1/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60=
@@ -567,7 +553,6 @@ github.com/hashicorp/memberlist v0.3.0/go.mod h1:MS2lj3INKhZjWNqd3N0m3J+Jxf3DAOn
github.com/hashicorp/serf v0.8.2/go.mod h1:6hOLApaqBFA1NXqRQAsxw9QxuDEvNxSQRwA/JwenrHc=
github.com/hashicorp/serf v0.9.5/go.mod h1:UWDWwZeL5cuWDJdl0C6wrvrUwEqtQ4ZKBKKENpqIUyk=
github.com/hashicorp/serf v0.9.6/go.mod h1:TXZNMjZQijwlDvp+r0b63xZ45H7JmCmgg4gpTwn9UV4=
-github.com/hashicorp/serf v0.9.7/go.mod h1:TXZNMjZQijwlDvp+r0b63xZ45H7JmCmgg4gpTwn9UV4=
github.com/hdevalence/ed25519consensus v0.0.0-20210204194344-59a8610d2b87 h1:uUjLpLt6bVvZ72SQc/B4dXcPBw4Vgd7soowdRl52qEM=
github.com/hdevalence/ed25519consensus v0.0.0-20210204194344-59a8610d2b87/go.mod h1:XGsKKeXxeRr95aEOgipvluMPlgjr7dGlk9ZTWOjcUcg=
github.com/holiman/uint256 v1.1.1/go.mod h1:y4ga/t+u+Xwd7CpDgZESaRcWy0I7XMlTMA25ApIH5Jw=
@@ -591,7 +576,6 @@ github.com/jedisct1/go-minisign v0.0.0-20190909160543-45766022959e/go.mod h1:G1C
github.com/jessevdk/go-flags v0.0.0-20141203071132-1679536dcc89/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI=
github.com/jessevdk/go-flags v1.4.0/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI=
github.com/jhump/protoreflect v1.9.0 h1:npqHz788dryJiR/l6K/RUQAyh2SwV91+d1dnh4RjO9w=
-github.com/jhump/protoreflect v1.9.0/go.mod h1:7GcYQDdMU/O/BBrl/cX6PNHpXh6cenjd8pneu5yW7Tg=
github.com/jmespath/go-jmespath v0.0.0-20180206201540-c2b33e8439af/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k=
github.com/jmespath/go-jmespath v0.4.0/go.mod h1:T8mJZnbsbmF+m6zOOFylbeCJqk5+pHWvzYPziyZiYoo=
github.com/jmespath/go-jmespath/internal/testify v1.5.1/go.mod h1:L3OGu8Wl2/fWfCI6z80xFu9LTZmf1ZRjMHUOPmWr69U=
@@ -634,7 +618,6 @@ github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORN
github.com/kr/pretty v0.2.0/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI=
github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI=
github.com/kr/pretty v0.3.0 h1:WgNl7dwNpEZ6jJ9k1snq4pZsg7DOEN8hP9Xw0Tsjwk0=
-github.com/kr/pretty v0.3.0/go.mod h1:640gp4NfQd8pI5XOwp5fnNeVWj67G7CFk/SaSQn7NBk=
github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
@@ -679,8 +662,9 @@ github.com/mattn/go-runewidth v0.0.2/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzp
github.com/mattn/go-runewidth v0.0.3/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU=
github.com/mattn/go-runewidth v0.0.4/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU=
github.com/mattn/go-sqlite3 v1.14.9/go.mod h1:NyWgC/yNuGj7Q9rpYnZvas74GogHl5/Z4A/KQRfk6bU=
-github.com/matttproud/golang_protobuf_extensions v1.0.1 h1:4hp9jkHxhMHkqkrB3Ix0jegS5sx/RkqARlsWZ6pIwiU=
github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0=
+github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369 h1:I0XW9+e1XWDxdcEniV4rQAIOPUGDq67JSCiRCgGCZLI=
+github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369/go.mod h1:BSXmuO+STAnVfrANrmjBb36TMTDstsz7MSK+HVaYKv4=
github.com/miekg/dns v1.0.14/go.mod h1:W1PPwlIAgtquWBMBEV9nkV9Cazfe8ScdGz/Lj7v3Nrg=
github.com/miekg/dns v1.1.26/go.mod h1:bPDLeHnStXmXAq1m/Ch/hvfNHr14JKNPMBo3VZKjuso=
github.com/miekg/dns v1.1.41/go.mod h1:p6aan82bvRIyn+zDIv9xYNUpwa73JcSh9BKwknJysuI=
@@ -737,9 +721,7 @@ github.com/nats-io/nkeys v0.2.0/go.mod h1:XdZpAbhgyyODYqjTawOnIOI7VlbKSarI9Gfy1t
github.com/nats-io/nkeys v0.3.0/go.mod h1:gvUNGjVcM2IPr5rCsRsC6Wb3Hr2CQAm08dsxtV6A5y4=
github.com/nats-io/nuid v1.0.1/go.mod h1:19wcPz3Ph3q0Jbyiqsd0kePYG7A95tJPxeL+1OSON2c=
github.com/neilotoole/errgroup v0.1.5/go.mod h1:Q2nLGf+594h0CLBs/Mbg6qOr7GtqDK7C2S41udRnToE=
-github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e h1:fD57ERR4JtEqsWbfPhv4DMiApHyliiK5xCTNVSPiaAs=
github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno=
-github.com/nishanths/predeclared v0.0.0-20200524104333-86fad755b4d3/go.mod h1:nt3d53pc1VYcphSCIaYAJtnPYnr3Zyn8fMq2wvPGPso=
github.com/nxadm/tail v1.4.4/go.mod h1:kenIhsEOeOJmVchQTgglprH7qJGnHDVpk1VPCcaMI8A=
github.com/nxadm/tail v1.4.8 h1:nPr65rt6Y5JFSKQO7qToXr7pePgD6Gwiw05lkbyAQTE=
github.com/nxadm/tail v1.4.8/go.mod h1:+ncqLTQzXmGhMZNUePPaPqPvBxHAIsmXswZKocGu+AU=
@@ -755,7 +737,6 @@ github.com/onsi/ginkgo v1.12.1/go.mod h1:zj2OWP4+oCPe1qIXoGWkgMRwljMUYCdkwsT2108
github.com/onsi/ginkgo v1.14.0/go.mod h1:iSB4RoI2tjJc9BBv4NKIKWKya62Rps+oPG/Lv9klQyY=
github.com/onsi/ginkgo v1.16.2/go.mod h1:CObGmKUOKaSC0RjmoAK7tKyn4Azo5P2IWuoMnvwxz1E=
github.com/onsi/ginkgo v1.16.4 h1:29JGrr5oVBm5ulCWet69zQkzWipVXIol6ygQUe/EzNc=
-github.com/onsi/ginkgo v1.16.4/go.mod h1:dX+/inL/fNMqNlz0e9LfyB9TswhZpCVdJM/Z6Vvnwo0=
github.com/onsi/gomega v1.4.1/go.mod h1:C1qb7wdrVGGVU+Z6iS04AVkA3Q65CEZX59MT0QO5uiA=
github.com/onsi/gomega v1.4.3/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY=
github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY=
@@ -788,11 +769,6 @@ github.com/openzipkin/zipkin-go v0.2.5/go.mod h1:KpXfKdgRDnnhsxw4pNIH9Md5lyFqKUa
github.com/ory/dockertest v3.3.5+incompatible h1:iLLK6SQwIhcbrG783Dghaaa3WPzGc+4Emza6EbVUUGA=
github.com/ory/dockertest v3.3.5+incompatible/go.mod h1:1vX4m9wsvi00u5bseYwXaSnhNrne+V0E6LAcBILJdPs=
github.com/otiai10/copy v1.6.0 h1:IinKAryFFuPONZ7cm6T6E2QX/vcJwSnlaA5lfoaXIiQ=
-github.com/otiai10/copy v1.6.0/go.mod h1:XWfuS3CrI0R6IE0FbgHsEazaXO8G0LpMp9o8tos0x4E=
-github.com/otiai10/curr v0.0.0-20150429015615-9b4961190c95/go.mod h1:9qAhocn7zKJG+0mI8eUu6xqkFDYS2kb2saOteoSB3cE=
-github.com/otiai10/curr v1.0.0/go.mod h1:LskTG5wDwr8Rs+nNQ+1LlxRjAtTZZjtJW4rMXl6j4vs=
-github.com/otiai10/mint v1.3.0/go.mod h1:F5AjcsTsWUqX+Na9fpHb52P8pcRX2CI6A3ctIT91xUo=
-github.com/otiai10/mint v1.3.2/go.mod h1:/yxELlJQ0ufhjUwhshSj+wFjZ78CnZ48/1wtmBH1OTc=
github.com/pact-foundation/pact-go v1.0.4/go.mod h1:uExwJY4kCzNPcHRj+hCR/HBbOOIwwtUjcrb0b5/5kLM=
github.com/pascaldekloe/goe v0.0.0-20180627143212-57f6aae5913c/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc=
github.com/pascaldekloe/goe v0.1.0 h1:cBOtyMzM9HTpWjXfbbunk26uA6nG3a8n06Wieeh0MwY=
@@ -834,7 +810,6 @@ github.com/prometheus/client_golang v1.4.0/go.mod h1:e9GMxYsXl05ICDXkRhurwBS4Q3O
github.com/prometheus/client_golang v1.7.1/go.mod h1:PY5Wy2awLA44sXw4AOSfFBetzPP4j5+D6mVACh+pe2M=
github.com/prometheus/client_golang v1.8.0/go.mod h1:O9VU6huf47PktckDQfMTX0Y8tY0/7TSWwj+ITvv0TnM=
github.com/prometheus/client_golang v1.11.0/go.mod h1:Z6t4BnS23TR94PD6BsDNk8yVqroYurpAkEiz0P2BEV0=
-github.com/prometheus/client_golang v1.11.1/go.mod h1:Z6t4BnS23TR94PD6BsDNk8yVqroYurpAkEiz0P2BEV0=
github.com/prometheus/client_golang v1.12.1 h1:ZiaPsmm9uiBeaSMRznKsCDNtPCS0T3JVDGF+06gjBzk=
github.com/prometheus/client_golang v1.12.1/go.mod h1:3Z9XVyYiZYEO+YQWt3RD2R3jrbd179Rt297l4aS6nDY=
github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo=
@@ -884,21 +859,19 @@ github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6So
github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ=
github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4=
github.com/rogpeppe/go-internal v1.6.1 h1:/FiVV8dS/e+YqF2JvO3yXRFbBLTIuSDkuC7aBOAvL+k=
-github.com/rogpeppe/go-internal v1.6.1/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc=
github.com/rs/cors v0.0.0-20160617231935-a62a804a8a00/go.mod h1:gFx+x8UowdsKA9AchylcLynDq+nNFfI8FkUZdN/jGCU=
github.com/rs/cors v1.7.0/go.mod h1:gFx+x8UowdsKA9AchylcLynDq+nNFfI8FkUZdN/jGCU=
github.com/rs/cors v1.8.2 h1:KCooALfAYGs415Cwu5ABvv9n9509fSiG5SQJn/AQo4U=
github.com/rs/cors v1.8.2/go.mod h1:XyqrcTp5zjWr1wsJ8PIRZssZ8b/WMcMf71DJnit4EMU=
github.com/rs/xhandler v0.0.0-20160618193221-ed27b6fd6521/go.mod h1:RvLn4FgxWubrpZHtQLnOf6EwhN2hEMusxZOhcW9H3UQ=
-github.com/rs/xid v1.2.1/go.mod h1:+uKXf+4Djp6Md1KODXJxgGQPKngRmWyn10oCKFzNHOQ=
-github.com/rs/zerolog v1.23.0 h1:UskrK+saS9P9Y789yNNulYKdARjPZuS35B8gJF2x60g=
-github.com/rs/zerolog v1.23.0/go.mod h1:6c7hFfxPOy7TacJc4Fcdi24/J0NKYGzjG8FWRI916Qo=
+github.com/rs/xid v1.3.0/go.mod h1:trrq9SKmegXys3aeAKXMUTdJsYXVwGY3RLcfgqegfbg=
+github.com/rs/zerolog v1.26.1 h1:/ihwxqH+4z8UxyI70wM1z9yCvkWcfz/a3mj48k/Zngc=
+github.com/rs/zerolog v1.26.1/go.mod h1:/wSSJWX7lVrsOwlbyTRSOJvqRlc+WjWlfes+CiJ+tmc=
github.com/russross/blackfriday v1.5.2/go.mod h1:JO/DiYxRf+HjHt06OyowR9PTA263kcR/rfWxYHBV53g=
github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
github.com/ryanuber/columnize v0.0.0-20160712163229-9b3edd62028f/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts=
github.com/sagikazarmark/crypt v0.4.0/go.mod h1:ALv2SRj7GxYV4HO9elxH9nS6M9gW+xDNxqmyJ6RfDFM=
-github.com/sagikazarmark/crypt v0.6.0/go.mod h1:U8+INwJo3nBv1m6A/8OBXAq7Jnpspk5AxSgDyEQcea8=
github.com/samuel/go-zookeeper v0.0.0-20190923202752-2cc03de413da/go.mod h1:gi+0XIa01GRL2eRQVjQkKGqKF3SF9vZR/HnPullcV2E=
github.com/sasha-s/go-deadlock v0.2.1-0.20190427202633-1595213edefa h1:0U2s5loxrTy6/VgfVoLuVLFJcURKLH49ie0zSch7gh4=
github.com/sasha-s/go-deadlock v0.2.1-0.20190427202633-1595213edefa/go.mod h1:F73l+cr82YSh10GxyRI6qZiCgK64VaZjwesgfQ1/iLM=
@@ -972,8 +945,8 @@ github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5
github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
-github.com/stretchr/testify v1.7.5 h1:s5PTfem8p8EbKQOctVV53k6jCJt3UX4IEJzwh+C324Q=
-github.com/stretchr/testify v1.7.5/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU=
+github.com/stretchr/testify v1.8.0 h1:pSgiaMZlXftHpm5L7V1+rVB+AZJydKsMxsQBIJw4PKk=
+github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU=
github.com/subosito/gotenv v1.2.0/go.mod h1:N0PQaV/YGNqwC0u51sEeR/aUtSLEXKX9iv69rRypqCw=
github.com/subosito/gotenv v1.3.0 h1:mjC+YW8QpAdXibNi+vNWgzmgBH4+5l5dCXv8cNysBLI=
github.com/subosito/gotenv v1.3.0/go.mod h1:YzJjq/33h7nrwdY+iHMhEOEEbW0ovIz0tB6t6PwAXzs=
@@ -1027,6 +1000,7 @@ github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9de
github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k=
+github.com/yuin/goldmark v1.4.0/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k=
github.com/zondax/hid v0.9.0 h1:eiT3P6vNxAEVxXMw66eZUAAnU2zD33JBkfG/EnfAKl8=
github.com/zondax/hid v0.9.0/go.mod h1:l5wttcP0jwtdLjqjMMWFVEE7d1zO0jvSPA9OPZxWpEM=
go.etcd.io/bbolt v1.3.2/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU=
@@ -1037,15 +1011,11 @@ go.etcd.io/bbolt v1.3.6/go.mod h1:qXsaaIqmgQH0T+OPdb99Bf+PKfBBQVAdyD6TY9G8XM4=
go.etcd.io/etcd v0.0.0-20191023171146-3cf2f69b5738/go.mod h1:dnLIgRNXwCJa5e+c6mIZCrds/GIG4ncV9HhK5PX7jPg=
go.etcd.io/etcd/api/v3 v3.5.0/go.mod h1:cbVKeC6lCfl7j/8jBhAK6aIYO9XOjdptoxU/nLQcPvs=
go.etcd.io/etcd/api/v3 v3.5.1/go.mod h1:cbVKeC6lCfl7j/8jBhAK6aIYO9XOjdptoxU/nLQcPvs=
-go.etcd.io/etcd/api/v3 v3.5.4/go.mod h1:5GB2vv4A4AOn3yk7MftYGHkUfGtDHnEraIjym4dYz5A=
go.etcd.io/etcd/client/pkg/v3 v3.5.0/go.mod h1:IJHfcCEKxYu1Os13ZdwCwIUTUVGYTSAM3YSwc9/Ac1g=
go.etcd.io/etcd/client/pkg/v3 v3.5.1/go.mod h1:IJHfcCEKxYu1Os13ZdwCwIUTUVGYTSAM3YSwc9/Ac1g=
-go.etcd.io/etcd/client/pkg/v3 v3.5.4/go.mod h1:IJHfcCEKxYu1Os13ZdwCwIUTUVGYTSAM3YSwc9/Ac1g=
go.etcd.io/etcd/client/v2 v2.305.0/go.mod h1:h9puh54ZTgAKtEbut2oe9P4L/oqKCVB6xsXlzd7alYQ=
go.etcd.io/etcd/client/v2 v2.305.1/go.mod h1:pMEacxZW7o8pg4CrFE7pquyCJJzZvkvdD2RibOCCCGs=
-go.etcd.io/etcd/client/v2 v2.305.4/go.mod h1:Ud+VUwIi9/uQHOMA+4ekToJ12lTxlv0zB/+DHwTGEbU=
go.etcd.io/etcd/client/v3 v3.5.0/go.mod h1:AIKXXVX/DQXtfTEqBryiLTUXwON+GuvO6Z7lLS/oTh0=
-go.etcd.io/etcd/client/v3 v3.5.4/go.mod h1:ZaRkVgBZC+L+dLCjTcF1hRXpgZXQPOvnA/Ak/gq3kiY=
go.opencensus.io v0.20.1/go.mod h1:6WKK9ahsWS3RSO+PY9ZHZUfv2irvY6gN279GOPZjmmk=
go.opencensus.io v0.20.2/go.mod h1:6WKK9ahsWS3RSO+PY9ZHZUfv2irvY6gN279GOPZjmmk=
go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU=
@@ -1099,6 +1069,7 @@ golang.org/x/crypto v0.0.0-20210616213533-5ff15b29337e/go.mod h1:GvvjBRRGRdwPK5y
golang.org/x/crypto v0.0.0-20210817164053-32db794688a5/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
golang.org/x/crypto v0.0.0-20210915214749-c084706c2272/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
golang.org/x/crypto v0.0.0-20211108221036-ceb1ce70b4fa/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
+golang.org/x/crypto v0.0.0-20211215165025-cf75a172585e/go.mod h1:P+XmwS30IXTQdn5tA2iutPOUgjI07+tq3H3K9MVA1s8=
golang.org/x/crypto v0.0.0-20220411220226-7b82a4e95df4 h1:kUhD7nTDoI3fVd9G4ORWrbV5NY0liEs/Jg2pv5f+bBA=
golang.org/x/crypto v0.0.0-20220411220226-7b82a4e95df4/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
golang.org/x/exp v0.0.0-20180321215751-8460e604b9de/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
@@ -1202,16 +1173,11 @@ golang.org/x/net v0.0.0-20210503060351-7fd8e65b6420/go.mod h1:9nx3DQGgdP8bBQD5qx
golang.org/x/net v0.0.0-20210525063256-abc453219eb5/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
golang.org/x/net v0.0.0-20210610132358-84b48f89b13b/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
golang.org/x/net v0.0.0-20210614182718-04defd469f4e/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
+golang.org/x/net v0.0.0-20210805182204-aaa1db679c0d/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
golang.org/x/net v0.0.0-20210813160813-60bc85c4be6d/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
golang.org/x/net v0.0.0-20210903162142-ad29c8ab022f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
golang.org/x/net v0.0.0-20210917221730-978cfadd31cf/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
-golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
golang.org/x/net v0.0.0-20211208012354-db4efeb81f4b/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
-golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk=
-golang.org/x/net v0.0.0-20220225172249-27dd8689420f/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk=
-golang.org/x/net v0.0.0-20220325170049-de3da57026de/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk=
-golang.org/x/net v0.0.0-20220412020605-290c469a71a5/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk=
-golang.org/x/net v0.0.0-20220425223048-2871e0cb64e4/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk=
golang.org/x/net v0.0.0-20220520000938-2e3eb7b945c2 h1:NWy5+hlRbC7HK+PmcXVUmW1IMyFce7to56IUvhUFm7Y=
golang.org/x/net v0.0.0-20220520000938-2e3eb7b945c2/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk=
golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
@@ -1231,9 +1197,6 @@ golang.org/x/oauth2 v0.0.0-20210805134026-6f1e6394065a/go.mod h1:KelEdhl1UZF7XfJ
golang.org/x/oauth2 v0.0.0-20210819190943-2bc19b11175f/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
golang.org/x/oauth2 v0.0.0-20211005180243-6b3c2da341f1/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
golang.org/x/oauth2 v0.0.0-20211104180415-d3ed0bb246c8/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
-golang.org/x/oauth2 v0.0.0-20220223155221-ee480838109b/go.mod h1:DAh4E804XQdzx2j+YRIaUnCqCV2RuMz24cGBJ5QYIrc=
-golang.org/x/oauth2 v0.0.0-20220309155454-6242fa91716a/go.mod h1:DAh4E804XQdzx2j+YRIaUnCqCV2RuMz24cGBJ5QYIrc=
-golang.org/x/oauth2 v0.0.0-20220411215720-9780585627b5/go.mod h1:DAh4E804XQdzx2j+YRIaUnCqCV2RuMz24cGBJ5QYIrc=
golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
@@ -1245,7 +1208,6 @@ golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJ
golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
-golang.org/x/sync v0.0.0-20220513210516-0976fa681c29/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
@@ -1335,6 +1297,7 @@ golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBc
golang.org/x/sys v0.0.0-20210616094352-59db8d763f22/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20210806184541-e5e7981a1069/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20210809222454-d867a43fc93e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20210816183151-1e6c022a8912/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20210823070655-63515b42dcdf/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20210903071746-97244b99971b/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
@@ -1345,14 +1308,8 @@ golang.org/x/sys v0.0.0-20211007075335-d3039528d8ac/go.mod h1:oPkhp1MJrh7nUepCBc
golang.org/x/sys v0.0.0-20211124211545-fe61309f8881/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20211205182925-97ca703d548d/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20211210111614-af8b64212486/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
-golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220114195835-da31bd327af9/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
-golang.org/x/sys v0.0.0-20220128215802-99c3d69c2c27/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
-golang.org/x/sys v0.0.0-20220209214540-3681064d5158/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
-golang.org/x/sys v0.0.0-20220227234510-4e6760a101f9/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
-golang.org/x/sys v0.0.0-20220328115105-d36c6a25d886/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220412211240-33da011f77ad/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
-golang.org/x/sys v0.0.0-20220502124256-b6088ccd6cba/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a h1:dGzPydgVsqGcTRVwiLJ1jVbufYwmzD3LfVPLKsKg+0k=
golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw=
@@ -1421,10 +1378,8 @@ golang.org/x/tools v0.0.0-20200331025713-a30bf2db82d4/go.mod h1:Sl4aGygMT6LrqrWc
golang.org/x/tools v0.0.0-20200501065659-ab2804fb9c9d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
golang.org/x/tools v0.0.0-20200512131952-2bc93b1c0c88/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
golang.org/x/tools v0.0.0-20200515010526-7d3b6ebf133d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
-golang.org/x/tools v0.0.0-20200522201501-cb1345f3a375/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
golang.org/x/tools v0.0.0-20200618134242-20370b0cb4b2/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
-golang.org/x/tools v0.0.0-20200717024301-6ddee64345a6/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA=
golang.org/x/tools v0.0.0-20200729194436-6467de6f59a7/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA=
golang.org/x/tools v0.0.0-20200804011535-6c149bb5ef0d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA=
golang.org/x/tools v0.0.0-20200825202427-b303f430e36d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA=
@@ -1443,12 +1398,11 @@ golang.org/x/tools v0.1.2/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk=
golang.org/x/tools v0.1.3/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk=
golang.org/x/tools v0.1.4/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk=
golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk=
+golang.org/x/tools v0.1.7/go.mod h1:LGqMHiF4EqQNHR1JncWGqT5BVaXmza+X+BDGol+dOxo=
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
-golang.org/x/xerrors v0.0.0-20220411194840-2f41105eb62f/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
-golang.org/x/xerrors v0.0.0-20220517211312-f3a8303e98df/go.mod h1:K8+ghG5WaK9qNqU5K3HdILfMLy1f3aNYFI/wnl100a8=
gonum.org/v1/gonum v0.0.0-20180816165407-929014505bf4/go.mod h1:Y+Yx5eoAFn32cQvJDxZx5Dpnq+c3wtXuadVZAcxbbBo=
gonum.org/v1/gonum v0.8.2/go.mod h1:oe/vMfY3deqTw+1EZJhuvEW2iwGF1bW9wwu7XCu0+v0=
gonum.org/v1/netlib v0.0.0-20190313105609-8cb42192e0e0/go.mod h1:wa6Ws7BG/ESfp6dHfk7C6KdzKA7wR7u/rKwOGE66zvw=
@@ -1486,13 +1440,6 @@ google.golang.org/api v0.57.0/go.mod h1:dVPlbZyBo2/OjBpmvNdpn2GRm6rPy75jyU7bmhdr
google.golang.org/api v0.59.0/go.mod h1:sT2boj7M9YJxZzgeZqXogmhfmRWDtPzT31xkieUbuZU=
google.golang.org/api v0.61.0/go.mod h1:xQRti5UdCmoCEqFxcz93fTl338AVqDgyaDRuOZ3hg9I=
google.golang.org/api v0.63.0/go.mod h1:gs4ij2ffTRXwuzzgJl/56BdwJaA194ijkfn++9tDuPo=
-google.golang.org/api v0.67.0/go.mod h1:ShHKP8E60yPsKNw/w8w+VYaj9H6buA5UqDp8dhbQZ6g=
-google.golang.org/api v0.70.0/go.mod h1:Bs4ZM2HGifEvXwd50TtW70ovgJffJYw2oRCOFU/SkfA=
-google.golang.org/api v0.71.0/go.mod h1:4PyU6e6JogV1f9eA4voyrTY2batOLdgZ5qZ5HOCc4j8=
-google.golang.org/api v0.74.0/go.mod h1:ZpfMZOVRMywNyvJFeqL9HRWBgAuRfSjJFpe9QtRRyDs=
-google.golang.org/api v0.75.0/go.mod h1:pU9QmyHLnzlpar1Mjt4IbapUCy8J+6HD6GeELN69ljA=
-google.golang.org/api v0.78.0/go.mod h1:1Sg78yoMLOhlQTeF+ARBoytAcH1NNyyl390YMy6rKmw=
-google.golang.org/api v0.81.0/go.mod h1:FA6Mb/bZxj706H2j+j2d6mHEEaHBmbbWnkfvmorOCko=
google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM=
google.golang.org/appengine v1.2.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
@@ -1571,21 +1518,6 @@ google.golang.org/genproto v0.0.0-20211028162531-8db9c33dc351/go.mod h1:5CzLGKJ6
google.golang.org/genproto v0.0.0-20211118181313-81c1377c94b1/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc=
google.golang.org/genproto v0.0.0-20211206160659-862468c7d6e0/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc=
google.golang.org/genproto v0.0.0-20211208223120-3a66f561d7aa/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc=
-google.golang.org/genproto v0.0.0-20211221195035-429b39de9b1c/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc=
-google.golang.org/genproto v0.0.0-20211223182754-3ac035c7e7cb/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc=
-google.golang.org/genproto v0.0.0-20220126215142-9970aeb2e350/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc=
-google.golang.org/genproto v0.0.0-20220207164111-0872dc986b00/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc=
-google.golang.org/genproto v0.0.0-20220218161850-94dd64e39d7c/go.mod h1:kGP+zUP2Ddo0ayMi4YuN7C3WZyJvGLZRh8Z5wnAqvEI=
-google.golang.org/genproto v0.0.0-20220222213610-43724f9ea8cf/go.mod h1:kGP+zUP2Ddo0ayMi4YuN7C3WZyJvGLZRh8Z5wnAqvEI=
-google.golang.org/genproto v0.0.0-20220304144024-325a89244dc8/go.mod h1:kGP+zUP2Ddo0ayMi4YuN7C3WZyJvGLZRh8Z5wnAqvEI=
-google.golang.org/genproto v0.0.0-20220310185008-1973136f34c6/go.mod h1:kGP+zUP2Ddo0ayMi4YuN7C3WZyJvGLZRh8Z5wnAqvEI=
-google.golang.org/genproto v0.0.0-20220324131243-acbaeb5b85eb/go.mod h1:hAL49I2IFola2sVEjAn7MEwsja0xp51I0tlGAf9hz4E=
-google.golang.org/genproto v0.0.0-20220407144326-9054f6ed7bac/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo=
-google.golang.org/genproto v0.0.0-20220413183235-5e96e2839df9/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo=
-google.golang.org/genproto v0.0.0-20220414192740-2d67ff6cf2b4/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo=
-google.golang.org/genproto v0.0.0-20220421151946-72621c1f0bd3/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo=
-google.golang.org/genproto v0.0.0-20220429170224-98d788798c3e/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo=
-google.golang.org/genproto v0.0.0-20220505152158-f39f71e6c8f3/go.mod h1:RAyBrSAP7Fh3Nc84ghnVLDPuV51xc9agzmm4Ph6i0Q4=
google.golang.org/genproto v0.0.0-20220519153652-3a47de7e79bd h1:e0TwkXOdbnH/1x5rc5MZ/VYyiZ4v+RdVfrGMqEwT68I=
google.golang.org/genproto v0.0.0-20220519153652-3a47de7e79bd/go.mod h1:RAyBrSAP7Fh3Nc84ghnVLDPuV51xc9agzmm4Ph6i0Q4=
google.golang.org/grpc v1.17.0/go.mod h1:6QZJwpn2B+Zp71q/5VxRsJ6NXXVCE5NRUHRo+f3cWCs=
@@ -1623,12 +1555,10 @@ google.golang.org/grpc v1.40.0/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9K
google.golang.org/grpc v1.40.1/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34=
google.golang.org/grpc v1.42.0/go.mod h1:k+4IHHFw41K8+bbowsex27ge2rCb65oeWqe4jJ590SU=
google.golang.org/grpc v1.43.0/go.mod h1:k+4IHHFw41K8+bbowsex27ge2rCb65oeWqe4jJ590SU=
-google.golang.org/grpc v1.44.0/go.mod h1:k+4IHHFw41K8+bbowsex27ge2rCb65oeWqe4jJ590SU=
google.golang.org/grpc v1.45.0/go.mod h1:lN7owxKUQEqMfSyQikvvk5tf/6zMPsrK+ONuO11+0rQ=
google.golang.org/grpc v1.46.0/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACuMGWk=
-google.golang.org/grpc v1.46.2/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACuMGWk=
-google.golang.org/grpc v1.47.0 h1:9n77onPX5F3qfFCqjy9dhn8PbNQsIKeVU04J9G7umt8=
-google.golang.org/grpc v1.47.0/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACuMGWk=
+google.golang.org/grpc v1.48.0 h1:rQOsyJ/8+ufEDJd/Gdsz7HG220Mh9HAhFHRGnIjda0w=
+google.golang.org/grpc v1.48.0/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACuMGWk=
google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0/go.mod h1:6Kw0yEErY5E/yWrBtf03jp27GLLJujG4z/JK95pnjjw=
google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8=
google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0=
@@ -1640,7 +1570,6 @@ google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2
google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU=
google.golang.org/protobuf v1.24.0/go.mod h1:r/3tXBNzIEhYS9I1OUVjXDlt8tc493IdKGjtUeSXeh4=
google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c=
-google.golang.org/protobuf v1.25.1-0.20200805231151-a709e31e5d12/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c=
google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw=
google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc=
google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc=
@@ -1651,8 +1580,9 @@ gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8
gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
-gopkg.in/check.v1 v1.0.0-20200902074654-038fdea0a05b h1:QRR6H1YWRnHb4Y/HeNFCTJLFVxaq6wH4YuVdsUOr75U=
gopkg.in/check.v1 v1.0.0-20200902074654-038fdea0a05b/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
+gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk=
+gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q=
gopkg.in/cheggaaa/pb.v1 v1.0.25/go.mod h1:V/YB90LKu/1FcN3WVnfiiE5oMCibMjukxqG/qStrOgw=
gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI=
gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys=
@@ -1680,7 +1610,6 @@ gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY=
gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ=
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
-gopkg.in/yaml.v3 v3.0.0/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
gotest.tools v2.2.0+incompatible/go.mod h1:DsYFclhRJ6vuDpmuTbkuFWG+y2sxOXAzmJt81HFBacw=
diff --git a/modules/apps/27-interchain-accounts/client/cli/cli.go b/modules/apps/27-interchain-accounts/client/cli/cli.go
index 95b49f29e2a..92dbb031255 100644
--- a/modules/apps/27-interchain-accounts/client/cli/cli.go
+++ b/modules/apps/27-interchain-accounts/client/cli/cli.go
@@ -3,8 +3,8 @@ package cli
import (
"github.com/spf13/cobra"
- controllercli "github.com/cosmos/ibc-go/v3/modules/apps/27-interchain-accounts/controller/client/cli"
- hostcli "github.com/cosmos/ibc-go/v3/modules/apps/27-interchain-accounts/host/client/cli"
+ controllercli "github.com/cosmos/ibc-go/v4/modules/apps/27-interchain-accounts/controller/client/cli"
+ hostcli "github.com/cosmos/ibc-go/v4/modules/apps/27-interchain-accounts/host/client/cli"
)
// GetQueryCmd returns the query commands for the interchain-accounts submodule
diff --git a/modules/apps/27-interchain-accounts/controller/client/cli/query.go b/modules/apps/27-interchain-accounts/controller/client/cli/query.go
index 9a939906b90..b7636715c7d 100644
--- a/modules/apps/27-interchain-accounts/controller/client/cli/query.go
+++ b/modules/apps/27-interchain-accounts/controller/client/cli/query.go
@@ -8,7 +8,7 @@ import (
"github.com/cosmos/cosmos-sdk/version"
"github.com/spf13/cobra"
- "github.com/cosmos/ibc-go/v3/modules/apps/27-interchain-accounts/controller/types"
+ "github.com/cosmos/ibc-go/v4/modules/apps/27-interchain-accounts/controller/types"
)
// GetCmdParams returns the command handler for the controller submodule parameter querying.
diff --git a/modules/apps/27-interchain-accounts/controller/ibc_middleware.go b/modules/apps/27-interchain-accounts/controller/ibc_middleware.go
index b7c65874bfa..53adf6a090e 100644
--- a/modules/apps/27-interchain-accounts/controller/ibc_middleware.go
+++ b/modules/apps/27-interchain-accounts/controller/ibc_middleware.go
@@ -5,12 +5,12 @@ import (
sdkerrors "github.com/cosmos/cosmos-sdk/types/errors"
capabilitytypes "github.com/cosmos/cosmos-sdk/x/capability/types"
- "github.com/cosmos/ibc-go/v3/modules/apps/27-interchain-accounts/controller/keeper"
- "github.com/cosmos/ibc-go/v3/modules/apps/27-interchain-accounts/controller/types"
- icatypes "github.com/cosmos/ibc-go/v3/modules/apps/27-interchain-accounts/types"
- channeltypes "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types"
- porttypes "github.com/cosmos/ibc-go/v3/modules/core/05-port/types"
- ibcexported "github.com/cosmos/ibc-go/v3/modules/core/exported"
+ "github.com/cosmos/ibc-go/v4/modules/apps/27-interchain-accounts/controller/keeper"
+ "github.com/cosmos/ibc-go/v4/modules/apps/27-interchain-accounts/controller/types"
+ icatypes "github.com/cosmos/ibc-go/v4/modules/apps/27-interchain-accounts/types"
+ channeltypes "github.com/cosmos/ibc-go/v4/modules/core/04-channel/types"
+ porttypes "github.com/cosmos/ibc-go/v4/modules/core/05-port/types"
+ ibcexported "github.com/cosmos/ibc-go/v4/modules/core/exported"
)
var _ porttypes.Middleware = &IBCMiddleware{}
@@ -138,7 +138,10 @@ func (im IBCMiddleware) OnRecvPacket(
packet channeltypes.Packet,
_ sdk.AccAddress,
) ibcexported.Acknowledgement {
- return channeltypes.NewErrorAcknowledgement("cannot receive packet on controller chain")
+ err := sdkerrors.Wrapf(icatypes.ErrInvalidChannelFlow, "cannot receive packet on controller chain")
+ ack := channeltypes.NewErrorAcknowledgement(err)
+ keeper.EmitAcknowledgementEvent(ctx, packet, ack, err)
+ return ack
}
// OnAcknowledgementPacket implements the IBCMiddleware interface
diff --git a/modules/apps/27-interchain-accounts/controller/ibc_middleware_test.go b/modules/apps/27-interchain-accounts/controller/ibc_middleware_test.go
index 7656c665333..b326c0bb71f 100644
--- a/modules/apps/27-interchain-accounts/controller/ibc_middleware_test.go
+++ b/modules/apps/27-interchain-accounts/controller/ibc_middleware_test.go
@@ -9,13 +9,13 @@ import (
"github.com/stretchr/testify/suite"
"github.com/tendermint/tendermint/crypto"
- "github.com/cosmos/ibc-go/v3/modules/apps/27-interchain-accounts/controller/types"
- icatypes "github.com/cosmos/ibc-go/v3/modules/apps/27-interchain-accounts/types"
- fee "github.com/cosmos/ibc-go/v3/modules/apps/29-fee"
- clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types"
- channeltypes "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types"
- host "github.com/cosmos/ibc-go/v3/modules/core/24-host"
- ibctesting "github.com/cosmos/ibc-go/v3/testing"
+ "github.com/cosmos/ibc-go/v4/modules/apps/27-interchain-accounts/controller/types"
+ icatypes "github.com/cosmos/ibc-go/v4/modules/apps/27-interchain-accounts/types"
+ fee "github.com/cosmos/ibc-go/v4/modules/apps/29-fee"
+ clienttypes "github.com/cosmos/ibc-go/v4/modules/core/02-client/types"
+ channeltypes "github.com/cosmos/ibc-go/v4/modules/core/04-channel/types"
+ host "github.com/cosmos/ibc-go/v4/modules/core/24-host"
+ ibctesting "github.com/cosmos/ibc-go/v4/testing"
)
var (
diff --git a/modules/apps/27-interchain-accounts/controller/keeper/account.go b/modules/apps/27-interchain-accounts/controller/keeper/account.go
index 2cb5e023e22..e16f2d0874d 100644
--- a/modules/apps/27-interchain-accounts/controller/keeper/account.go
+++ b/modules/apps/27-interchain-accounts/controller/keeper/account.go
@@ -4,9 +4,9 @@ import (
sdk "github.com/cosmos/cosmos-sdk/types"
sdkerrors "github.com/cosmos/cosmos-sdk/types/errors"
- icatypes "github.com/cosmos/ibc-go/v3/modules/apps/27-interchain-accounts/types"
- channeltypes "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types"
- host "github.com/cosmos/ibc-go/v3/modules/core/24-host"
+ icatypes "github.com/cosmos/ibc-go/v4/modules/apps/27-interchain-accounts/types"
+ channeltypes "github.com/cosmos/ibc-go/v4/modules/core/04-channel/types"
+ host "github.com/cosmos/ibc-go/v4/modules/core/24-host"
)
// RegisterInterchainAccount is the entry point to registering an interchain account:
diff --git a/modules/apps/27-interchain-accounts/controller/keeper/account_test.go b/modules/apps/27-interchain-accounts/controller/keeper/account_test.go
index 0f8c89c51a8..5d8854eea59 100644
--- a/modules/apps/27-interchain-accounts/controller/keeper/account_test.go
+++ b/modules/apps/27-interchain-accounts/controller/keeper/account_test.go
@@ -1,10 +1,10 @@
package keeper_test
import (
- icatypes "github.com/cosmos/ibc-go/v3/modules/apps/27-interchain-accounts/types"
- channeltypes "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types"
- host "github.com/cosmos/ibc-go/v3/modules/core/24-host"
- ibctesting "github.com/cosmos/ibc-go/v3/testing"
+ icatypes "github.com/cosmos/ibc-go/v4/modules/apps/27-interchain-accounts/types"
+ channeltypes "github.com/cosmos/ibc-go/v4/modules/core/04-channel/types"
+ host "github.com/cosmos/ibc-go/v4/modules/core/24-host"
+ ibctesting "github.com/cosmos/ibc-go/v4/testing"
)
func (suite *KeeperTestSuite) TestRegisterInterchainAccount() {
diff --git a/modules/apps/27-interchain-accounts/controller/keeper/events.go b/modules/apps/27-interchain-accounts/controller/keeper/events.go
new file mode 100644
index 00000000000..8381fe7bec7
--- /dev/null
+++ b/modules/apps/27-interchain-accounts/controller/keeper/events.go
@@ -0,0 +1,31 @@
+package keeper
+
+import (
+ "fmt"
+
+ sdk "github.com/cosmos/cosmos-sdk/types"
+
+ icatypes "github.com/cosmos/ibc-go/v4/modules/apps/27-interchain-accounts/types"
+ "github.com/cosmos/ibc-go/v4/modules/core/exported"
+)
+
+// EmitAcknowledgementEvent emits an event signalling a successful or failed acknowledgement and including the error
+// details if any.
+func EmitAcknowledgementEvent(ctx sdk.Context, packet exported.PacketI, ack exported.Acknowledgement, err error) {
+ attributes := []sdk.Attribute{
+ sdk.NewAttribute(sdk.AttributeKeyModule, icatypes.ModuleName),
+ sdk.NewAttribute(icatypes.AttributeKeyControllerChannelID, packet.GetDestChannel()),
+ sdk.NewAttribute(icatypes.AttributeKeyAckSuccess, fmt.Sprintf("%t", ack.Success())),
+ }
+
+ if err != nil {
+ attributes = append(attributes, sdk.NewAttribute(icatypes.AttributeKeyAckError, err.Error()))
+ }
+
+ ctx.EventManager().EmitEvent(
+ sdk.NewEvent(
+ icatypes.EventTypePacket,
+ attributes...,
+ ),
+ )
+}
diff --git a/modules/apps/27-interchain-accounts/controller/keeper/genesis.go b/modules/apps/27-interchain-accounts/controller/keeper/genesis.go
index eab7687236e..88ca396b93b 100644
--- a/modules/apps/27-interchain-accounts/controller/keeper/genesis.go
+++ b/modules/apps/27-interchain-accounts/controller/keeper/genesis.go
@@ -5,8 +5,8 @@ import (
sdk "github.com/cosmos/cosmos-sdk/types"
- icatypes "github.com/cosmos/ibc-go/v3/modules/apps/27-interchain-accounts/types"
- host "github.com/cosmos/ibc-go/v3/modules/core/24-host"
+ icatypes "github.com/cosmos/ibc-go/v4/modules/apps/27-interchain-accounts/types"
+ host "github.com/cosmos/ibc-go/v4/modules/core/24-host"
)
// InitGenesis initializes the interchain accounts controller application state from a provided genesis state
diff --git a/modules/apps/27-interchain-accounts/controller/keeper/genesis_test.go b/modules/apps/27-interchain-accounts/controller/keeper/genesis_test.go
index 1c34e2efbf1..348294fbc8a 100644
--- a/modules/apps/27-interchain-accounts/controller/keeper/genesis_test.go
+++ b/modules/apps/27-interchain-accounts/controller/keeper/genesis_test.go
@@ -1,10 +1,10 @@
package keeper_test
import (
- "github.com/cosmos/ibc-go/v3/modules/apps/27-interchain-accounts/controller/keeper"
- "github.com/cosmos/ibc-go/v3/modules/apps/27-interchain-accounts/controller/types"
- icatypes "github.com/cosmos/ibc-go/v3/modules/apps/27-interchain-accounts/types"
- ibctesting "github.com/cosmos/ibc-go/v3/testing"
+ "github.com/cosmos/ibc-go/v4/modules/apps/27-interchain-accounts/controller/keeper"
+ "github.com/cosmos/ibc-go/v4/modules/apps/27-interchain-accounts/controller/types"
+ icatypes "github.com/cosmos/ibc-go/v4/modules/apps/27-interchain-accounts/types"
+ ibctesting "github.com/cosmos/ibc-go/v4/testing"
)
func (suite *KeeperTestSuite) TestInitGenesis() {
diff --git a/modules/apps/27-interchain-accounts/controller/keeper/grpc_query.go b/modules/apps/27-interchain-accounts/controller/keeper/grpc_query.go
index dd1d04a96b3..e23edc5017e 100644
--- a/modules/apps/27-interchain-accounts/controller/keeper/grpc_query.go
+++ b/modules/apps/27-interchain-accounts/controller/keeper/grpc_query.go
@@ -5,7 +5,7 @@ import (
sdk "github.com/cosmos/cosmos-sdk/types"
- "github.com/cosmos/ibc-go/v3/modules/apps/27-interchain-accounts/controller/types"
+ "github.com/cosmos/ibc-go/v4/modules/apps/27-interchain-accounts/controller/types"
)
var _ types.QueryServer = Keeper{}
diff --git a/modules/apps/27-interchain-accounts/controller/keeper/grpc_query_test.go b/modules/apps/27-interchain-accounts/controller/keeper/grpc_query_test.go
index e76cdac1fb4..ba54ce876bc 100644
--- a/modules/apps/27-interchain-accounts/controller/keeper/grpc_query_test.go
+++ b/modules/apps/27-interchain-accounts/controller/keeper/grpc_query_test.go
@@ -3,7 +3,7 @@ package keeper_test
import (
sdk "github.com/cosmos/cosmos-sdk/types"
- "github.com/cosmos/ibc-go/v3/modules/apps/27-interchain-accounts/controller/types"
+ "github.com/cosmos/ibc-go/v4/modules/apps/27-interchain-accounts/controller/types"
)
func (suite *KeeperTestSuite) TestQueryParams() {
diff --git a/modules/apps/27-interchain-accounts/controller/keeper/handshake.go b/modules/apps/27-interchain-accounts/controller/keeper/handshake.go
index c9f72ae3380..337610f4a3b 100644
--- a/modules/apps/27-interchain-accounts/controller/keeper/handshake.go
+++ b/modules/apps/27-interchain-accounts/controller/keeper/handshake.go
@@ -8,8 +8,8 @@ import (
sdkerrors "github.com/cosmos/cosmos-sdk/types/errors"
capabilitytypes "github.com/cosmos/cosmos-sdk/x/capability/types"
- icatypes "github.com/cosmos/ibc-go/v3/modules/apps/27-interchain-accounts/types"
- channeltypes "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types"
+ icatypes "github.com/cosmos/ibc-go/v4/modules/apps/27-interchain-accounts/types"
+ channeltypes "github.com/cosmos/ibc-go/v4/modules/core/04-channel/types"
)
// OnChanOpenInit performs basic validation of channel initialization.
diff --git a/modules/apps/27-interchain-accounts/controller/keeper/handshake_test.go b/modules/apps/27-interchain-accounts/controller/keeper/handshake_test.go
index b0cb9c3a125..87338812aba 100644
--- a/modules/apps/27-interchain-accounts/controller/keeper/handshake_test.go
+++ b/modules/apps/27-interchain-accounts/controller/keeper/handshake_test.go
@@ -3,10 +3,10 @@ package keeper_test
import (
capabilitytypes "github.com/cosmos/cosmos-sdk/x/capability/types"
- icatypes "github.com/cosmos/ibc-go/v3/modules/apps/27-interchain-accounts/types"
- channeltypes "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types"
- host "github.com/cosmos/ibc-go/v3/modules/core/24-host"
- ibctesting "github.com/cosmos/ibc-go/v3/testing"
+ icatypes "github.com/cosmos/ibc-go/v4/modules/apps/27-interchain-accounts/types"
+ channeltypes "github.com/cosmos/ibc-go/v4/modules/core/04-channel/types"
+ host "github.com/cosmos/ibc-go/v4/modules/core/24-host"
+ ibctesting "github.com/cosmos/ibc-go/v4/testing"
)
func (suite *KeeperTestSuite) TestOnChanOpenInit() {
diff --git a/modules/apps/27-interchain-accounts/controller/keeper/keeper.go b/modules/apps/27-interchain-accounts/controller/keeper/keeper.go
index 5973d2abcd3..3ecdb169197 100644
--- a/modules/apps/27-interchain-accounts/controller/keeper/keeper.go
+++ b/modules/apps/27-interchain-accounts/controller/keeper/keeper.go
@@ -12,10 +12,10 @@ import (
paramtypes "github.com/cosmos/cosmos-sdk/x/params/types"
"github.com/tendermint/tendermint/libs/log"
- "github.com/cosmos/ibc-go/v3/modules/apps/27-interchain-accounts/controller/types"
- icatypes "github.com/cosmos/ibc-go/v3/modules/apps/27-interchain-accounts/types"
- channeltypes "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types"
- host "github.com/cosmos/ibc-go/v3/modules/core/24-host"
+ "github.com/cosmos/ibc-go/v4/modules/apps/27-interchain-accounts/controller/types"
+ icatypes "github.com/cosmos/ibc-go/v4/modules/apps/27-interchain-accounts/types"
+ channeltypes "github.com/cosmos/ibc-go/v4/modules/core/04-channel/types"
+ host "github.com/cosmos/ibc-go/v4/modules/core/24-host"
)
// Keeper defines the IBC interchain accounts controller keeper
diff --git a/modules/apps/27-interchain-accounts/controller/keeper/keeper_test.go b/modules/apps/27-interchain-accounts/controller/keeper/keeper_test.go
index 76020e17c87..602cb69426f 100644
--- a/modules/apps/27-interchain-accounts/controller/keeper/keeper_test.go
+++ b/modules/apps/27-interchain-accounts/controller/keeper/keeper_test.go
@@ -7,9 +7,9 @@ import (
"github.com/stretchr/testify/suite"
"github.com/tendermint/tendermint/crypto"
- icatypes "github.com/cosmos/ibc-go/v3/modules/apps/27-interchain-accounts/types"
- channeltypes "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types"
- ibctesting "github.com/cosmos/ibc-go/v3/testing"
+ icatypes "github.com/cosmos/ibc-go/v4/modules/apps/27-interchain-accounts/types"
+ channeltypes "github.com/cosmos/ibc-go/v4/modules/core/04-channel/types"
+ ibctesting "github.com/cosmos/ibc-go/v4/testing"
)
var (
diff --git a/modules/apps/27-interchain-accounts/controller/keeper/params.go b/modules/apps/27-interchain-accounts/controller/keeper/params.go
index dce72c0c491..38e82a27c80 100644
--- a/modules/apps/27-interchain-accounts/controller/keeper/params.go
+++ b/modules/apps/27-interchain-accounts/controller/keeper/params.go
@@ -3,7 +3,7 @@ package keeper
import (
sdk "github.com/cosmos/cosmos-sdk/types"
- "github.com/cosmos/ibc-go/v3/modules/apps/27-interchain-accounts/controller/types"
+ "github.com/cosmos/ibc-go/v4/modules/apps/27-interchain-accounts/controller/types"
)
// IsControllerEnabled retrieves the controller enabled boolean from the paramstore.
diff --git a/modules/apps/27-interchain-accounts/controller/keeper/params_test.go b/modules/apps/27-interchain-accounts/controller/keeper/params_test.go
index ffd71f49268..4e4d8703e40 100644
--- a/modules/apps/27-interchain-accounts/controller/keeper/params_test.go
+++ b/modules/apps/27-interchain-accounts/controller/keeper/params_test.go
@@ -1,6 +1,6 @@
package keeper_test
-import "github.com/cosmos/ibc-go/v3/modules/apps/27-interchain-accounts/controller/types"
+import "github.com/cosmos/ibc-go/v4/modules/apps/27-interchain-accounts/controller/types"
func (suite *KeeperTestSuite) TestParams() {
expParams := types.DefaultParams()
diff --git a/modules/apps/27-interchain-accounts/controller/keeper/relay.go b/modules/apps/27-interchain-accounts/controller/keeper/relay.go
index 4eaf26c52a6..6d197aadca2 100644
--- a/modules/apps/27-interchain-accounts/controller/keeper/relay.go
+++ b/modules/apps/27-interchain-accounts/controller/keeper/relay.go
@@ -5,9 +5,9 @@ import (
sdkerrors "github.com/cosmos/cosmos-sdk/types/errors"
capabilitytypes "github.com/cosmos/cosmos-sdk/x/capability/types"
- icatypes "github.com/cosmos/ibc-go/v3/modules/apps/27-interchain-accounts/types"
- clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types"
- channeltypes "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types"
+ icatypes "github.com/cosmos/ibc-go/v4/modules/apps/27-interchain-accounts/types"
+ clienttypes "github.com/cosmos/ibc-go/v4/modules/core/02-client/types"
+ channeltypes "github.com/cosmos/ibc-go/v4/modules/core/04-channel/types"
)
// SendTx takes pre-built packet data containing messages to be executed on the host chain from an authentication module and attempts to send the packet.
diff --git a/modules/apps/27-interchain-accounts/controller/keeper/relay_test.go b/modules/apps/27-interchain-accounts/controller/keeper/relay_test.go
index 2a1f9894087..a980d3f953d 100644
--- a/modules/apps/27-interchain-accounts/controller/keeper/relay_test.go
+++ b/modules/apps/27-interchain-accounts/controller/keeper/relay_test.go
@@ -5,11 +5,11 @@ import (
banktypes "github.com/cosmos/cosmos-sdk/x/bank/types"
capabilitytypes "github.com/cosmos/cosmos-sdk/x/capability/types"
- icatypes "github.com/cosmos/ibc-go/v3/modules/apps/27-interchain-accounts/types"
- clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types"
- channeltypes "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types"
- host "github.com/cosmos/ibc-go/v3/modules/core/24-host"
- ibctesting "github.com/cosmos/ibc-go/v3/testing"
+ icatypes "github.com/cosmos/ibc-go/v4/modules/apps/27-interchain-accounts/types"
+ clienttypes "github.com/cosmos/ibc-go/v4/modules/core/02-client/types"
+ channeltypes "github.com/cosmos/ibc-go/v4/modules/core/04-channel/types"
+ host "github.com/cosmos/ibc-go/v4/modules/core/24-host"
+ ibctesting "github.com/cosmos/ibc-go/v4/testing"
)
func (suite *KeeperTestSuite) TestSendTx() {
diff --git a/modules/apps/27-interchain-accounts/controller/types/controller.pb.go b/modules/apps/27-interchain-accounts/controller/types/controller.pb.go
index dfa8bd31512..8aa795abab6 100644
--- a/modules/apps/27-interchain-accounts/controller/types/controller.pb.go
+++ b/modules/apps/27-interchain-accounts/controller/types/controller.pb.go
@@ -93,9 +93,9 @@ var fileDescriptor_177fd0fec5eb3400 = []byte{
0x24, 0xc7, 0xf8, 0xe0, 0x91, 0x1c, 0xe3, 0x84, 0xc7, 0x72, 0x0c, 0x17, 0x1e, 0xcb, 0x31, 0xdc,
0x78, 0x2c, 0xc7, 0x10, 0x15, 0x90, 0x9e, 0x59, 0x92, 0x51, 0x9a, 0xa4, 0x97, 0x9c, 0x9f, 0xab,
0x9f, 0x9c, 0x5f, 0x9c, 0x9b, 0x5f, 0xac, 0x9f, 0x99, 0x94, 0xac, 0x9b, 0x9e, 0xaf, 0x5f, 0x66,
- 0xac, 0x9f, 0x9b, 0x9f, 0x52, 0x9a, 0x93, 0x5a, 0x0c, 0x0a, 0xa0, 0x62, 0x7d, 0x23, 0x73, 0x5d,
+ 0xa2, 0x9f, 0x9b, 0x9f, 0x52, 0x9a, 0x93, 0x5a, 0x0c, 0x0a, 0xa0, 0x62, 0x7d, 0x23, 0x73, 0x5d,
0x84, 0xb7, 0x74, 0xb1, 0x85, 0x4d, 0x49, 0x65, 0x41, 0x6a, 0x71, 0x12, 0x1b, 0xd8, 0x2b, 0xc6,
- 0x80, 0x00, 0x00, 0x00, 0xff, 0xff, 0xe4, 0x79, 0xfc, 0x19, 0x5b, 0x01, 0x00, 0x00,
+ 0x80, 0x00, 0x00, 0x00, 0xff, 0xff, 0x36, 0xd4, 0x5d, 0xad, 0x5b, 0x01, 0x00, 0x00,
}
func (m *Params) Marshal() (dAtA []byte, err error) {
diff --git a/modules/apps/27-interchain-accounts/controller/types/params_test.go b/modules/apps/27-interchain-accounts/controller/types/params_test.go
index 1b2b296c7d4..df3927e22d3 100644
--- a/modules/apps/27-interchain-accounts/controller/types/params_test.go
+++ b/modules/apps/27-interchain-accounts/controller/types/params_test.go
@@ -5,7 +5,7 @@ import (
"github.com/stretchr/testify/require"
- "github.com/cosmos/ibc-go/v3/modules/apps/27-interchain-accounts/controller/types"
+ "github.com/cosmos/ibc-go/v4/modules/apps/27-interchain-accounts/controller/types"
)
func TestValidateParams(t *testing.T) {
diff --git a/modules/apps/27-interchain-accounts/controller/types/query.pb.go b/modules/apps/27-interchain-accounts/controller/types/query.pb.go
index dbbdfeec611..82a755409f4 100644
--- a/modules/apps/27-interchain-accounts/controller/types/query.pb.go
+++ b/modules/apps/27-interchain-accounts/controller/types/query.pb.go
@@ -124,7 +124,7 @@ var fileDescriptor_df0d8b259d72854e = []byte{
// 315 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x91, 0x31, 0x4b, 0x33, 0x31,
0x1c, 0xc6, 0x9b, 0x17, 0xde, 0x0e, 0x71, 0x8b, 0x0e, 0x52, 0x24, 0x48, 0x27, 0x97, 0x26, 0xf4,
- 0x2a, 0x08, 0x1d, 0x1c, 0x14, 0x74, 0xad, 0x1d, 0x5d, 0x24, 0x17, 0xc3, 0x35, 0x72, 0x97, 0x7f,
+ 0x2c, 0x08, 0x1d, 0x1c, 0x14, 0x74, 0xad, 0x1d, 0x5d, 0x24, 0x17, 0xc3, 0x35, 0x72, 0x97, 0x7f,
0x9a, 0xe4, 0x0a, 0x5d, 0xfd, 0x04, 0x82, 0x5f, 0xca, 0xb1, 0x20, 0x82, 0x9b, 0x72, 0xe7, 0x07,
0x91, 0xde, 0x1d, 0xb4, 0x62, 0x07, 0xad, 0x6b, 0xfe, 0x3c, 0xbf, 0x5f, 0x1e, 0x1e, 0x7c, 0xaa,
0x63, 0xc9, 0x85, 0xb5, 0xa9, 0x96, 0x22, 0x68, 0x30, 0x9e, 0x6b, 0x13, 0x94, 0x93, 0x13, 0xa1,
@@ -136,12 +136,12 @@ var fileDescriptor_df0d8b259d72854e = []byte{
0xea, 0x2d, 0x18, 0xaf, 0xc8, 0x18, 0xb7, 0x6d, 0xf5, 0xb2, 0x8f, 0x0e, 0xd1, 0xd1, 0x4e, 0x34,
0x64, 0xbf, 0x2f, 0xc5, 0x1a, 0x66, 0x43, 0x8a, 0xde, 0x10, 0xfe, 0x5f, 0xb9, 0xc8, 0x0b, 0xc2,
0xed, 0xfa, 0x48, 0x2e, 0xb6, 0x01, 0x7f, 0xef, 0xd1, 0xb9, 0xfc, 0x33, 0xa7, 0x6e, 0xde, 0x1d,
- 0xde, 0x3f, 0x7f, 0x3c, 0xfe, 0x3b, 0x26, 0x11, 0x6f, 0x26, 0xf9, 0xc9, 0x14, 0x75, 0xc3, 0xb3,
- 0xbb, 0xa7, 0x82, 0xa2, 0x45, 0x41, 0xd1, 0x7b, 0x41, 0xd1, 0x43, 0x49, 0x5b, 0x8b, 0x92, 0xb6,
- 0x5e, 0x4b, 0xda, 0xba, 0x1e, 0x25, 0x3a, 0x4c, 0xf2, 0x98, 0x49, 0xc8, 0xb8, 0x04, 0x9f, 0x81,
- 0x5f, 0xe2, 0x7b, 0x09, 0xf0, 0xd9, 0x80, 0x67, 0x70, 0x9b, 0xa7, 0xca, 0xd7, 0xb2, 0xe8, 0xa4,
- 0xb7, 0xf2, 0xf5, 0x36, 0xf9, 0xc2, 0xdc, 0x2a, 0x1f, 0xb7, 0xab, 0x55, 0x07, 0x9f, 0x01, 0x00,
- 0x00, 0xff, 0xff, 0x49, 0xe2, 0x61, 0x29, 0xae, 0x02, 0x00, 0x00,
+ 0xde, 0x3f, 0x7f, 0x3c, 0xfe, 0x1b, 0x90, 0x88, 0x37, 0x93, 0xfc, 0x64, 0x8a, 0xba, 0xe1, 0xd9,
+ 0xdd, 0x53, 0x41, 0xd1, 0xa2, 0xa0, 0xe8, 0xbd, 0xa0, 0xe8, 0xa1, 0xa4, 0xad, 0x45, 0x49, 0x5b,
+ 0xaf, 0x25, 0x6d, 0x5d, 0x8f, 0x12, 0x1d, 0x26, 0x79, 0xcc, 0x24, 0x64, 0x5c, 0x82, 0xcf, 0xc0,
+ 0x2f, 0xf1, 0xbd, 0x04, 0xf8, 0x6c, 0xc0, 0x33, 0xb8, 0xcd, 0x53, 0xe5, 0x6b, 0x59, 0x74, 0xd2,
+ 0x5b, 0xf9, 0x7a, 0x9b, 0x7c, 0x61, 0x6e, 0x95, 0x8f, 0xdb, 0xd5, 0xaa, 0xc7, 0x9f, 0x01, 0x00,
+ 0x00, 0xff, 0xff, 0x9b, 0x4f, 0xc0, 0x9d, 0xae, 0x02, 0x00, 0x00,
}
// Reference imports to suppress errors if they are not otherwise used.
diff --git a/modules/apps/27-interchain-accounts/host/client/cli/query.go b/modules/apps/27-interchain-accounts/host/client/cli/query.go
index c35e03baa16..a5a6637ce9a 100644
--- a/modules/apps/27-interchain-accounts/host/client/cli/query.go
+++ b/modules/apps/27-interchain-accounts/host/client/cli/query.go
@@ -12,10 +12,10 @@ import (
"github.com/spf13/cobra"
abci "github.com/tendermint/tendermint/abci/types"
- "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"
- channeltypes "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types"
- host "github.com/cosmos/ibc-go/v3/modules/core/24-host"
+ "github.com/cosmos/ibc-go/v4/modules/apps/27-interchain-accounts/host/types"
+ icatypes "github.com/cosmos/ibc-go/v4/modules/apps/27-interchain-accounts/types"
+ channeltypes "github.com/cosmos/ibc-go/v4/modules/core/04-channel/types"
+ host "github.com/cosmos/ibc-go/v4/modules/core/24-host"
)
// GetCmdParams returns the command handler for the host submodule parameter querying.
diff --git a/modules/apps/27-interchain-accounts/host/ibc_module.go b/modules/apps/27-interchain-accounts/host/ibc_module.go
index 2e1ba8e0805..7cf0deca969 100644
--- a/modules/apps/27-interchain-accounts/host/ibc_module.go
+++ b/modules/apps/27-interchain-accounts/host/ibc_module.go
@@ -5,11 +5,11 @@ import (
sdkerrors "github.com/cosmos/cosmos-sdk/types/errors"
capabilitytypes "github.com/cosmos/cosmos-sdk/x/capability/types"
- "github.com/cosmos/ibc-go/v3/modules/apps/27-interchain-accounts/host/keeper"
- "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"
- channeltypes "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types"
- ibcexported "github.com/cosmos/ibc-go/v3/modules/core/exported"
+ "github.com/cosmos/ibc-go/v4/modules/apps/27-interchain-accounts/host/keeper"
+ "github.com/cosmos/ibc-go/v4/modules/apps/27-interchain-accounts/host/types"
+ icatypes "github.com/cosmos/ibc-go/v4/modules/apps/27-interchain-accounts/types"
+ channeltypes "github.com/cosmos/ibc-go/v4/modules/core/04-channel/types"
+ ibcexported "github.com/cosmos/ibc-go/v4/modules/core/exported"
)
// IBCModule implements the ICS26 interface for interchain accounts host chains
@@ -106,13 +106,13 @@ func (im IBCModule) OnRecvPacket(
_ sdk.AccAddress,
) ibcexported.Acknowledgement {
if !im.keeper.IsHostEnabled(ctx) {
- return types.NewErrorAcknowledgement(types.ErrHostSubModuleDisabled)
+ return channeltypes.NewErrorAcknowledgement(types.ErrHostSubModuleDisabled)
}
txResponse, err := im.keeper.OnRecvPacket(ctx, packet)
ack := channeltypes.NewResultAcknowledgement(txResponse)
if err != nil {
- ack = types.NewErrorAcknowledgement(err)
+ ack = channeltypes.NewErrorAcknowledgement(err)
}
// Emit an event indicating a successful or failed acknowledgement.
diff --git a/modules/apps/27-interchain-accounts/host/ibc_module_test.go b/modules/apps/27-interchain-accounts/host/ibc_module_test.go
index 78a21cfee01..b3e19a00ad2 100644
--- a/modules/apps/27-interchain-accounts/host/ibc_module_test.go
+++ b/modules/apps/27-interchain-accounts/host/ibc_module_test.go
@@ -9,18 +9,15 @@ import (
capabilitytypes "github.com/cosmos/cosmos-sdk/x/capability/types"
"github.com/gogo/protobuf/proto"
"github.com/stretchr/testify/suite"
- abcitypes "github.com/tendermint/tendermint/abci/types"
"github.com/tendermint/tendermint/crypto"
- tmprotostate "github.com/tendermint/tendermint/proto/tendermint/state"
- tmstate "github.com/tendermint/tendermint/state"
-
- "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"
- clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types"
- channeltypes "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types"
- host "github.com/cosmos/ibc-go/v3/modules/core/24-host"
- "github.com/cosmos/ibc-go/v3/modules/core/exported"
- ibctesting "github.com/cosmos/ibc-go/v3/testing"
+
+ "github.com/cosmos/ibc-go/v4/modules/apps/27-interchain-accounts/host/types"
+ icatypes "github.com/cosmos/ibc-go/v4/modules/apps/27-interchain-accounts/types"
+ clienttypes "github.com/cosmos/ibc-go/v4/modules/core/02-client/types"
+ channeltypes "github.com/cosmos/ibc-go/v4/modules/core/04-channel/types"
+ host "github.com/cosmos/ibc-go/v4/modules/core/24-host"
+ "github.com/cosmos/ibc-go/v4/modules/core/exported"
+ ibctesting "github.com/cosmos/ibc-go/v4/testing"
)
var (
@@ -403,7 +400,7 @@ func (suite *InterchainAccountsTestSuite) TestOnRecvPacket() {
suite.chainB.GetSimApp().ICAAuthModule.IBCApp.OnRecvPacket = func(
ctx sdk.Context, packet channeltypes.Packet, relayer sdk.AccAddress,
) exported.Acknowledgement {
- return channeltypes.NewErrorAcknowledgement("failed OnRecvPacket mock callback")
+ return channeltypes.NewErrorAcknowledgement(fmt.Errorf("failed OnRecvPacket mock callback"))
}
}, true,
},
@@ -692,63 +689,3 @@ func (suite *InterchainAccountsTestSuite) TestControlAccountAfterChannelClose()
hasBalance = suite.chainB.GetSimApp().BankKeeper.HasBalance(suite.chainB.GetContext(), icaAddr, sdk.Coin{Denom: sdk.DefaultBondDenom, Amount: sdk.NewInt(0)})
suite.Require().True(hasBalance)
}
-
-// The safety of including SDK MsgResponses in the acknowledgement rests
-// on the inclusion of the abcitypes.ResponseDeliverTx.Data in the
-// abcitypes.ResposneDeliverTx hash. If the abcitypes.ResponseDeliverTx.Data
-// gets removed from consensus they must no longer be used in the packet
-// acknowledgement.
-//
-// This test acts as an indicator that the abcitypes.ResponseDeliverTx.Data
-// may no longer be deterministic.
-func (suite *InterchainAccountsTestSuite) TestABCICodeDeterminism() {
- msgResponseBz, err := proto.Marshal(&channeltypes.MsgChannelOpenInitResponse{})
- suite.Require().NoError(err)
-
- msgData := &sdk.MsgData{
- MsgType: sdk.MsgTypeURL(&channeltypes.MsgChannelOpenInit{}),
- Data: msgResponseBz,
- }
-
- txResponse, err := proto.Marshal(&sdk.TxMsgData{
- Data: []*sdk.MsgData{msgData},
- })
- suite.Require().NoError(err)
-
- deliverTx := abcitypes.ResponseDeliverTx{
- Data: txResponse,
- }
- responses := tmprotostate.ABCIResponses{
- DeliverTxs: []*abcitypes.ResponseDeliverTx{
- &deliverTx,
- },
- }
-
- differentMsgResponseBz, err := proto.Marshal(&channeltypes.MsgRecvPacketResponse{})
- suite.Require().NoError(err)
-
- differentMsgData := &sdk.MsgData{
- MsgType: sdk.MsgTypeURL(&channeltypes.MsgRecvPacket{}),
- Data: differentMsgResponseBz,
- }
-
- differentTxResponse, err := proto.Marshal(&sdk.TxMsgData{
- Data: []*sdk.MsgData{differentMsgData},
- })
- suite.Require().NoError(err)
-
- differentDeliverTx := abcitypes.ResponseDeliverTx{
- Data: differentTxResponse,
- }
-
- differentResponses := tmprotostate.ABCIResponses{
- DeliverTxs: []*abcitypes.ResponseDeliverTx{
- &differentDeliverTx,
- },
- }
-
- hash := tmstate.ABCIResponsesResultsHash(&responses)
- differentHash := tmstate.ABCIResponsesResultsHash(&differentResponses)
-
- suite.Require().NotEqual(hash, differentHash)
-}
diff --git a/modules/apps/27-interchain-accounts/host/keeper/account.go b/modules/apps/27-interchain-accounts/host/keeper/account.go
index d37cc21f1c2..a4c8b511dda 100644
--- a/modules/apps/27-interchain-accounts/host/keeper/account.go
+++ b/modules/apps/27-interchain-accounts/host/keeper/account.go
@@ -4,7 +4,7 @@ import (
sdk "github.com/cosmos/cosmos-sdk/types"
authtypes "github.com/cosmos/cosmos-sdk/x/auth/types"
- icatypes "github.com/cosmos/ibc-go/v3/modules/apps/27-interchain-accounts/types"
+ icatypes "github.com/cosmos/ibc-go/v4/modules/apps/27-interchain-accounts/types"
)
// RegisterInterchainAccount attempts to create a new account using the provided address and
diff --git a/modules/apps/27-interchain-accounts/host/keeper/account_test.go b/modules/apps/27-interchain-accounts/host/keeper/account_test.go
index 5e64189058e..038ed003748 100644
--- a/modules/apps/27-interchain-accounts/host/keeper/account_test.go
+++ b/modules/apps/27-interchain-accounts/host/keeper/account_test.go
@@ -3,8 +3,8 @@ package keeper_test
import (
sdk "github.com/cosmos/cosmos-sdk/types"
- icatypes "github.com/cosmos/ibc-go/v3/modules/apps/27-interchain-accounts/types"
- ibctesting "github.com/cosmos/ibc-go/v3/testing"
+ icatypes "github.com/cosmos/ibc-go/v4/modules/apps/27-interchain-accounts/types"
+ ibctesting "github.com/cosmos/ibc-go/v4/testing"
)
func (suite *KeeperTestSuite) TestRegisterInterchainAccount() {
diff --git a/modules/apps/27-interchain-accounts/host/keeper/events.go b/modules/apps/27-interchain-accounts/host/keeper/events.go
index 116fb1cc3f7..ead5d783864 100644
--- a/modules/apps/27-interchain-accounts/host/keeper/events.go
+++ b/modules/apps/27-interchain-accounts/host/keeper/events.go
@@ -2,26 +2,30 @@ package keeper
import (
"fmt"
+
sdk "github.com/cosmos/cosmos-sdk/types"
- icatypes "github.com/cosmos/ibc-go/v3/modules/apps/27-interchain-accounts/types"
- "github.com/cosmos/ibc-go/v3/modules/core/exported"
+
+ icatypes "github.com/cosmos/ibc-go/v4/modules/apps/27-interchain-accounts/types"
+ "github.com/cosmos/ibc-go/v4/modules/core/exported"
)
// EmitAcknowledgementEvent emits an event signalling a successful or failed acknowledgement and including the error
// details if any.
func EmitAcknowledgementEvent(ctx sdk.Context, packet exported.PacketI, ack exported.Acknowledgement, err error) {
- var errorMsg string
+ attributes := []sdk.Attribute{
+ sdk.NewAttribute(sdk.AttributeKeyModule, icatypes.ModuleName),
+ sdk.NewAttribute(icatypes.AttributeKeyHostChannelID, packet.GetDestChannel()),
+ sdk.NewAttribute(icatypes.AttributeKeyAckSuccess, fmt.Sprintf("%t", ack.Success())),
+ }
+
if err != nil {
- errorMsg = err.Error()
+ attributes = append(attributes, sdk.NewAttribute(icatypes.AttributeKeyAckError, err.Error()))
}
ctx.EventManager().EmitEvent(
sdk.NewEvent(
icatypes.EventTypePacket,
- sdk.NewAttribute(sdk.AttributeKeyModule, icatypes.ModuleName),
- sdk.NewAttribute(icatypes.AttributeKeyAckError, errorMsg),
- sdk.NewAttribute(icatypes.AttributeKeyHostChannelID, packet.GetDestChannel()),
- sdk.NewAttribute(icatypes.AttributeKeyAckSuccess, fmt.Sprintf("%t", ack.Success())),
+ attributes...,
),
)
}
diff --git a/modules/apps/27-interchain-accounts/host/keeper/genesis.go b/modules/apps/27-interchain-accounts/host/keeper/genesis.go
index 2a9caa3948b..c3dff759f4d 100644
--- a/modules/apps/27-interchain-accounts/host/keeper/genesis.go
+++ b/modules/apps/27-interchain-accounts/host/keeper/genesis.go
@@ -5,8 +5,8 @@ import (
sdk "github.com/cosmos/cosmos-sdk/types"
- icatypes "github.com/cosmos/ibc-go/v3/modules/apps/27-interchain-accounts/types"
- host "github.com/cosmos/ibc-go/v3/modules/core/24-host"
+ icatypes "github.com/cosmos/ibc-go/v4/modules/apps/27-interchain-accounts/types"
+ host "github.com/cosmos/ibc-go/v4/modules/core/24-host"
)
// InitGenesis initializes the interchain accounts host application state from a provided genesis state
diff --git a/modules/apps/27-interchain-accounts/host/keeper/genesis_test.go b/modules/apps/27-interchain-accounts/host/keeper/genesis_test.go
index 138d713cf67..be6ae690385 100644
--- a/modules/apps/27-interchain-accounts/host/keeper/genesis_test.go
+++ b/modules/apps/27-interchain-accounts/host/keeper/genesis_test.go
@@ -1,10 +1,10 @@
package keeper_test
import (
- "github.com/cosmos/ibc-go/v3/modules/apps/27-interchain-accounts/host/keeper"
- "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"
- ibctesting "github.com/cosmos/ibc-go/v3/testing"
+ "github.com/cosmos/ibc-go/v4/modules/apps/27-interchain-accounts/host/keeper"
+ "github.com/cosmos/ibc-go/v4/modules/apps/27-interchain-accounts/host/types"
+ icatypes "github.com/cosmos/ibc-go/v4/modules/apps/27-interchain-accounts/types"
+ ibctesting "github.com/cosmos/ibc-go/v4/testing"
)
func (suite *KeeperTestSuite) TestInitGenesis() {
diff --git a/modules/apps/27-interchain-accounts/host/keeper/grpc_query.go b/modules/apps/27-interchain-accounts/host/keeper/grpc_query.go
index c2727eab535..65afdece331 100644
--- a/modules/apps/27-interchain-accounts/host/keeper/grpc_query.go
+++ b/modules/apps/27-interchain-accounts/host/keeper/grpc_query.go
@@ -5,7 +5,7 @@ import (
sdk "github.com/cosmos/cosmos-sdk/types"
- "github.com/cosmos/ibc-go/v3/modules/apps/27-interchain-accounts/host/types"
+ "github.com/cosmos/ibc-go/v4/modules/apps/27-interchain-accounts/host/types"
)
var _ types.QueryServer = Keeper{}
diff --git a/modules/apps/27-interchain-accounts/host/keeper/grpc_query_test.go b/modules/apps/27-interchain-accounts/host/keeper/grpc_query_test.go
index e0ca62e8c56..44aae4b4e1f 100644
--- a/modules/apps/27-interchain-accounts/host/keeper/grpc_query_test.go
+++ b/modules/apps/27-interchain-accounts/host/keeper/grpc_query_test.go
@@ -3,7 +3,7 @@ package keeper_test
import (
sdk "github.com/cosmos/cosmos-sdk/types"
- "github.com/cosmos/ibc-go/v3/modules/apps/27-interchain-accounts/host/types"
+ "github.com/cosmos/ibc-go/v4/modules/apps/27-interchain-accounts/host/types"
)
func (suite *KeeperTestSuite) TestQueryParams() {
diff --git a/modules/apps/27-interchain-accounts/host/keeper/handshake.go b/modules/apps/27-interchain-accounts/host/keeper/handshake.go
index 6d15bb0568c..15a18fcea77 100644
--- a/modules/apps/27-interchain-accounts/host/keeper/handshake.go
+++ b/modules/apps/27-interchain-accounts/host/keeper/handshake.go
@@ -8,9 +8,9 @@ import (
sdkerrors "github.com/cosmos/cosmos-sdk/types/errors"
capabilitytypes "github.com/cosmos/cosmos-sdk/x/capability/types"
- icatypes "github.com/cosmos/ibc-go/v3/modules/apps/27-interchain-accounts/types"
- channeltypes "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types"
- host "github.com/cosmos/ibc-go/v3/modules/core/24-host"
+ icatypes "github.com/cosmos/ibc-go/v4/modules/apps/27-interchain-accounts/types"
+ channeltypes "github.com/cosmos/ibc-go/v4/modules/core/04-channel/types"
+ host "github.com/cosmos/ibc-go/v4/modules/core/24-host"
)
// OnChanOpenTry performs basic validation of the ICA channel
diff --git a/modules/apps/27-interchain-accounts/host/keeper/handshake_test.go b/modules/apps/27-interchain-accounts/host/keeper/handshake_test.go
index ee0ca72f14b..9784c0ba412 100644
--- a/modules/apps/27-interchain-accounts/host/keeper/handshake_test.go
+++ b/modules/apps/27-interchain-accounts/host/keeper/handshake_test.go
@@ -3,10 +3,10 @@ package keeper_test
import (
capabilitytypes "github.com/cosmos/cosmos-sdk/x/capability/types"
- icatypes "github.com/cosmos/ibc-go/v3/modules/apps/27-interchain-accounts/types"
- channeltypes "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types"
- host "github.com/cosmos/ibc-go/v3/modules/core/24-host"
- ibctesting "github.com/cosmos/ibc-go/v3/testing"
+ icatypes "github.com/cosmos/ibc-go/v4/modules/apps/27-interchain-accounts/types"
+ channeltypes "github.com/cosmos/ibc-go/v4/modules/core/04-channel/types"
+ host "github.com/cosmos/ibc-go/v4/modules/core/24-host"
+ ibctesting "github.com/cosmos/ibc-go/v4/testing"
)
func (suite *KeeperTestSuite) TestOnChanOpenTry() {
diff --git a/modules/apps/27-interchain-accounts/host/keeper/keeper.go b/modules/apps/27-interchain-accounts/host/keeper/keeper.go
index 8f2f345da1b..7125bb52f20 100644
--- a/modules/apps/27-interchain-accounts/host/keeper/keeper.go
+++ b/modules/apps/27-interchain-accounts/host/keeper/keeper.go
@@ -12,10 +12,10 @@ import (
paramtypes "github.com/cosmos/cosmos-sdk/x/params/types"
"github.com/tendermint/tendermint/libs/log"
- "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"
- channeltypes "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types"
- host "github.com/cosmos/ibc-go/v3/modules/core/24-host"
+ "github.com/cosmos/ibc-go/v4/modules/apps/27-interchain-accounts/host/types"
+ icatypes "github.com/cosmos/ibc-go/v4/modules/apps/27-interchain-accounts/types"
+ channeltypes "github.com/cosmos/ibc-go/v4/modules/core/04-channel/types"
+ host "github.com/cosmos/ibc-go/v4/modules/core/24-host"
)
// Keeper defines the IBC interchain accounts host keeper
diff --git a/modules/apps/27-interchain-accounts/host/keeper/keeper_test.go b/modules/apps/27-interchain-accounts/host/keeper/keeper_test.go
index 98f9c06bf25..7953f0f5663 100644
--- a/modules/apps/27-interchain-accounts/host/keeper/keeper_test.go
+++ b/modules/apps/27-interchain-accounts/host/keeper/keeper_test.go
@@ -7,9 +7,9 @@ import (
"github.com/stretchr/testify/suite"
"github.com/tendermint/tendermint/crypto"
- icatypes "github.com/cosmos/ibc-go/v3/modules/apps/27-interchain-accounts/types"
- channeltypes "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types"
- ibctesting "github.com/cosmos/ibc-go/v3/testing"
+ icatypes "github.com/cosmos/ibc-go/v4/modules/apps/27-interchain-accounts/types"
+ channeltypes "github.com/cosmos/ibc-go/v4/modules/core/04-channel/types"
+ ibctesting "github.com/cosmos/ibc-go/v4/testing"
)
var (
diff --git a/modules/apps/27-interchain-accounts/host/keeper/params.go b/modules/apps/27-interchain-accounts/host/keeper/params.go
index 1ecbd5b05f8..e56e72342c8 100644
--- a/modules/apps/27-interchain-accounts/host/keeper/params.go
+++ b/modules/apps/27-interchain-accounts/host/keeper/params.go
@@ -3,7 +3,7 @@ package keeper
import (
sdk "github.com/cosmos/cosmos-sdk/types"
- "github.com/cosmos/ibc-go/v3/modules/apps/27-interchain-accounts/host/types"
+ "github.com/cosmos/ibc-go/v4/modules/apps/27-interchain-accounts/host/types"
)
// IsHostEnabled retrieves the host enabled boolean from the paramstore.
diff --git a/modules/apps/27-interchain-accounts/host/keeper/params_test.go b/modules/apps/27-interchain-accounts/host/keeper/params_test.go
index 529afecaecf..c769ade3fdb 100644
--- a/modules/apps/27-interchain-accounts/host/keeper/params_test.go
+++ b/modules/apps/27-interchain-accounts/host/keeper/params_test.go
@@ -1,6 +1,6 @@
package keeper_test
-import "github.com/cosmos/ibc-go/v3/modules/apps/27-interchain-accounts/host/types"
+import "github.com/cosmos/ibc-go/v4/modules/apps/27-interchain-accounts/host/types"
func (suite *KeeperTestSuite) TestParams() {
expParams := types.DefaultParams()
diff --git a/modules/apps/27-interchain-accounts/host/keeper/relay.go b/modules/apps/27-interchain-accounts/host/keeper/relay.go
index 8610a50f5e5..e658c5bd3f5 100644
--- a/modules/apps/27-interchain-accounts/host/keeper/relay.go
+++ b/modules/apps/27-interchain-accounts/host/keeper/relay.go
@@ -5,9 +5,9 @@ import (
sdkerrors "github.com/cosmos/cosmos-sdk/types/errors"
"github.com/gogo/protobuf/proto"
- "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"
- channeltypes "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types"
+ "github.com/cosmos/ibc-go/v4/modules/apps/27-interchain-accounts/host/types"
+ icatypes "github.com/cosmos/ibc-go/v4/modules/apps/27-interchain-accounts/types"
+ channeltypes "github.com/cosmos/ibc-go/v4/modules/core/04-channel/types"
)
// OnRecvPacket handles a given interchain accounts packet on a destination host chain.
diff --git a/modules/apps/27-interchain-accounts/host/keeper/relay_test.go b/modules/apps/27-interchain-accounts/host/keeper/relay_test.go
index d92be7227aa..c7ebd9428f5 100644
--- a/modules/apps/27-interchain-accounts/host/keeper/relay_test.go
+++ b/modules/apps/27-interchain-accounts/host/keeper/relay_test.go
@@ -10,12 +10,12 @@ import (
govtypes "github.com/cosmos/cosmos-sdk/x/gov/types"
stakingtypes "github.com/cosmos/cosmos-sdk/x/staking/types"
- "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"
- transfertypes "github.com/cosmos/ibc-go/v3/modules/apps/transfer/types"
- clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types"
- channeltypes "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types"
- ibctesting "github.com/cosmos/ibc-go/v3/testing"
+ "github.com/cosmos/ibc-go/v4/modules/apps/27-interchain-accounts/host/types"
+ icatypes "github.com/cosmos/ibc-go/v4/modules/apps/27-interchain-accounts/types"
+ transfertypes "github.com/cosmos/ibc-go/v4/modules/apps/transfer/types"
+ clienttypes "github.com/cosmos/ibc-go/v4/modules/core/02-client/types"
+ channeltypes "github.com/cosmos/ibc-go/v4/modules/core/04-channel/types"
+ ibctesting "github.com/cosmos/ibc-go/v4/testing"
)
func (suite *KeeperTestSuite) TestOnRecvPacket() {
diff --git a/modules/apps/27-interchain-accounts/host/types/ack.go b/modules/apps/27-interchain-accounts/host/types/ack.go
deleted file mode 100644
index 202404fff3a..00000000000
--- a/modules/apps/27-interchain-accounts/host/types/ack.go
+++ /dev/null
@@ -1,27 +0,0 @@
-package types
-
-import (
- "fmt"
-
- sdkerrors "github.com/cosmos/cosmos-sdk/types/errors"
-
- channeltypes "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types"
-)
-
-const (
- // ackErrorString defines a string constant included in error acknowledgements
- // NOTE: Changing this const is state machine breaking as acknowledgements are written into state
- ackErrorString = "error handling packet on host chain: see events for details"
-)
-
-// NewErrorAcknowledgement returns a deterministic error string which may be used in
-// the packet acknowledgement.
-func NewErrorAcknowledgement(err error) channeltypes.Acknowledgement {
- // the ABCI code is included in the abcitypes.ResponseDeliverTx hash
- // constructed in Tendermint and is therefore determinstic
- _, code, _ := sdkerrors.ABCIInfo(err, false) // discard non-deterministic codespace and log values
-
- errorString := fmt.Sprintf("ABCI code: %d: %s", code, ackErrorString)
-
- return channeltypes.NewErrorAcknowledgement(errorString)
-}
diff --git a/modules/apps/27-interchain-accounts/host/types/ack_test.go b/modules/apps/27-interchain-accounts/host/types/ack_test.go
deleted file mode 100644
index 6d2e6d1a95a..00000000000
--- a/modules/apps/27-interchain-accounts/host/types/ack_test.go
+++ /dev/null
@@ -1,100 +0,0 @@
-package types_test
-
-import (
- "testing"
-
- sdkerrors "github.com/cosmos/cosmos-sdk/types/errors"
- "github.com/stretchr/testify/suite"
- abcitypes "github.com/tendermint/tendermint/abci/types"
- tmprotostate "github.com/tendermint/tendermint/proto/tendermint/state"
- tmstate "github.com/tendermint/tendermint/state"
-
- "github.com/cosmos/ibc-go/v3/modules/apps/27-interchain-accounts/host/types"
- ibctesting "github.com/cosmos/ibc-go/v3/testing"
-)
-
-const (
- gasUsed = uint64(100)
- gasWanted = uint64(100)
-)
-
-type TypesTestSuite struct {
- suite.Suite
-
- coordinator *ibctesting.Coordinator
-
- chainA *ibctesting.TestChain
- chainB *ibctesting.TestChain
-}
-
-func (suite *TypesTestSuite) SetupTest() {
- suite.coordinator = ibctesting.NewCoordinator(suite.T(), 2)
-
- suite.chainA = suite.coordinator.GetChain(ibctesting.GetChainID(1))
- suite.chainB = suite.coordinator.GetChain(ibctesting.GetChainID(2))
-}
-
-func TestTypesTestSuite(t *testing.T) {
- suite.Run(t, new(TypesTestSuite))
-}
-
-// The safety of including ABCI error codes in the acknowledgement rests
-// on the inclusion of these ABCI error codes in the abcitypes.ResposneDeliverTx
-// hash. If the ABCI codes get removed from consensus they must no longer be used
-// in the packet acknowledgement.
-//
-// This test acts as an indicator that the ABCI error codes may no longer be deterministic.
-func (suite *TypesTestSuite) TestABCICodeDeterminism() {
- // same ABCI error code used
- err := sdkerrors.Wrap(sdkerrors.ErrOutOfGas, "error string 1")
- errSameABCICode := sdkerrors.Wrap(sdkerrors.ErrOutOfGas, "error string 2")
-
- // different ABCI error code used
- errDifferentABCICode := sdkerrors.ErrNotFound
-
- deliverTx := sdkerrors.ResponseDeliverTx(err, gasUsed, gasWanted, false)
- responses := tmprotostate.ABCIResponses{
- DeliverTxs: []*abcitypes.ResponseDeliverTx{
- &deliverTx,
- },
- }
-
- deliverTxSameABCICode := sdkerrors.ResponseDeliverTx(errSameABCICode, gasUsed, gasWanted, false)
- responsesSameABCICode := tmprotostate.ABCIResponses{
- DeliverTxs: []*abcitypes.ResponseDeliverTx{
- &deliverTxSameABCICode,
- },
- }
-
- deliverTxDifferentABCICode := sdkerrors.ResponseDeliverTx(errDifferentABCICode, gasUsed, gasWanted, false)
- responsesDifferentABCICode := tmprotostate.ABCIResponses{
- DeliverTxs: []*abcitypes.ResponseDeliverTx{
- &deliverTxDifferentABCICode,
- },
- }
-
- hash := tmstate.ABCIResponsesResultsHash(&responses)
- hashSameABCICode := tmstate.ABCIResponsesResultsHash(&responsesSameABCICode)
- hashDifferentABCICode := tmstate.ABCIResponsesResultsHash(&responsesDifferentABCICode)
-
- suite.Require().Equal(hash, hashSameABCICode)
- suite.Require().NotEqual(hash, hashDifferentABCICode)
-}
-
-// TestAcknowledgementError will verify that only a constant string and
-// ABCI error code are used in constructing the acknowledgement error string
-func (suite *TypesTestSuite) TestAcknowledgementError() {
- // same ABCI error code used
- err := sdkerrors.Wrap(sdkerrors.ErrOutOfGas, "error string 1")
- errSameABCICode := sdkerrors.Wrap(sdkerrors.ErrOutOfGas, "error string 2")
-
- // different ABCI error code used
- errDifferentABCICode := sdkerrors.ErrNotFound
-
- ack := types.NewErrorAcknowledgement(err)
- ackSameABCICode := types.NewErrorAcknowledgement(errSameABCICode)
- ackDifferentABCICode := types.NewErrorAcknowledgement(errDifferentABCICode)
-
- suite.Require().Equal(ack, ackSameABCICode)
- suite.Require().NotEqual(ack, ackDifferentABCICode)
-}
diff --git a/modules/apps/27-interchain-accounts/host/types/host.pb.go b/modules/apps/27-interchain-accounts/host/types/host.pb.go
index e944986eb4c..db7356b7e9a 100644
--- a/modules/apps/27-interchain-accounts/host/types/host.pb.go
+++ b/modules/apps/27-interchain-accounts/host/types/host.pb.go
@@ -104,9 +104,9 @@ var fileDescriptor_48e202774f13d08e = []byte{
0xe4, 0x18, 0x2f, 0x3c, 0x92, 0x63, 0x7c, 0xf0, 0x48, 0x8e, 0x71, 0xc2, 0x63, 0x39, 0x86, 0x0b,
0x8f, 0xe5, 0x18, 0x6e, 0x3c, 0x96, 0x63, 0x88, 0xf2, 0x4a, 0xcf, 0x2c, 0xc9, 0x28, 0x4d, 0xd2,
0x4b, 0xce, 0xcf, 0xd5, 0x4f, 0xce, 0x2f, 0xce, 0xcd, 0x2f, 0xd6, 0xcf, 0x4c, 0x4a, 0xd6, 0x4d,
- 0xcf, 0xd7, 0x2f, 0x33, 0xd6, 0xcf, 0xcd, 0x4f, 0x29, 0xcd, 0x49, 0x2d, 0x06, 0x85, 0x5f, 0xb1,
+ 0xcf, 0xd7, 0x2f, 0x33, 0xd1, 0xcf, 0xcd, 0x4f, 0x29, 0xcd, 0x49, 0x2d, 0x06, 0x85, 0x5f, 0xb1,
0xbe, 0x91, 0xb9, 0x2e, 0x22, 0x04, 0x74, 0x51, 0x83, 0xae, 0xa4, 0xb2, 0x20, 0xb5, 0x38, 0x89,
- 0x0d, 0xec, 0x6b, 0x63, 0x40, 0x00, 0x00, 0x00, 0xff, 0xff, 0xf0, 0xc9, 0x05, 0x61, 0x74, 0x01,
+ 0x0d, 0xec, 0x6b, 0x63, 0x40, 0x00, 0x00, 0x00, 0xff, 0xff, 0xd5, 0xb2, 0xee, 0x31, 0x74, 0x01,
0x00, 0x00,
}
diff --git a/modules/apps/27-interchain-accounts/host/types/params_test.go b/modules/apps/27-interchain-accounts/host/types/params_test.go
index 2606f3fd2f5..39ed24251f7 100644
--- a/modules/apps/27-interchain-accounts/host/types/params_test.go
+++ b/modules/apps/27-interchain-accounts/host/types/params_test.go
@@ -5,7 +5,7 @@ import (
"github.com/stretchr/testify/require"
- "github.com/cosmos/ibc-go/v3/modules/apps/27-interchain-accounts/host/types"
+ "github.com/cosmos/ibc-go/v4/modules/apps/27-interchain-accounts/host/types"
)
func TestValidateParams(t *testing.T) {
diff --git a/modules/apps/27-interchain-accounts/host/types/query.pb.go b/modules/apps/27-interchain-accounts/host/types/query.pb.go
index c468e841945..313d0f10b6f 100644
--- a/modules/apps/27-interchain-accounts/host/types/query.pb.go
+++ b/modules/apps/27-interchain-accounts/host/types/query.pb.go
@@ -121,27 +121,27 @@ func init() {
}
var fileDescriptor_e6b7e23fc90c353a = []byte{
- // 312 bytes of a gzipped FileDescriptorProto
- 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x91, 0x3f, 0x4b, 0x3b, 0x31,
- 0x18, 0xc7, 0x9b, 0x1f, 0xfc, 0x3a, 0xc4, 0x2d, 0x3a, 0x48, 0x91, 0x20, 0x9d, 0x1c, 0xda, 0x84,
- 0xfe, 0x81, 0x3a, 0xaa, 0xa3, 0x38, 0xa8, 0xa3, 0x8b, 0xe4, 0xd2, 0x70, 0x0d, 0xf4, 0xf2, 0xa4,
- 0x97, 0xdc, 0x41, 0x57, 0x5f, 0x81, 0xe0, 0x4b, 0x72, 0x71, 0x11, 0x0a, 0x2e, 0x8e, 0x72, 0xe7,
- 0x0b, 0x91, 0xcb, 0x1d, 0x68, 0x51, 0x84, 0xc3, 0xf5, 0x09, 0x9f, 0xcf, 0xf7, 0xf9, 0x3e, 0xc1,
- 0xc7, 0x3a, 0x92, 0x5c, 0x58, 0xbb, 0xd4, 0x52, 0x78, 0x0d, 0xc6, 0x71, 0x6d, 0xbc, 0x4a, 0xe5,
- 0x42, 0x68, 0x73, 0x2b, 0xa4, 0x84, 0xcc, 0x78, 0xc7, 0x17, 0xe0, 0x3c, 0xcf, 0x47, 0x7c, 0x95,
- 0xa9, 0x74, 0xcd, 0x6c, 0x0a, 0x1e, 0xc8, 0x40, 0x47, 0x92, 0x7d, 0x25, 0xd9, 0x0f, 0x24, 0xab,
- 0x48, 0x96, 0x8f, 0x7a, 0x07, 0x31, 0x40, 0xbc, 0x54, 0x5c, 0x58, 0xcd, 0x85, 0x31, 0xe0, 0x1b,
- 0x26, 0xb8, 0x7a, 0xb3, 0x56, 0x5b, 0x04, 0x67, 0x00, 0xfb, 0x7b, 0x98, 0x5c, 0x55, 0x3b, 0x5d,
- 0x8a, 0x54, 0x24, 0xee, 0x5a, 0xad, 0x32, 0xe5, 0x7c, 0x5f, 0xe2, 0xdd, 0xad, 0xa9, 0xb3, 0x60,
- 0x9c, 0x22, 0x17, 0xb8, 0x6b, 0xc3, 0x64, 0x1f, 0x1d, 0xa2, 0xa3, 0x9d, 0xf1, 0x94, 0xb5, 0xa9,
- 0xc0, 0x1a, 0x5b, 0xe3, 0x18, 0x3f, 0x23, 0xfc, 0x3f, 0xa4, 0x90, 0x47, 0x84, 0xbb, 0xf5, 0x23,
- 0x39, 0x69, 0xa7, 0xfc, 0xbe, 0x7b, 0xef, 0xf4, 0x0f, 0x86, 0xba, 0x67, 0x7f, 0x7a, 0xf7, 0xf2,
- 0xfe, 0xf0, 0x8f, 0x91, 0x01, 0x6f, 0xce, 0xfa, 0xfb, 0x39, 0xeb, 0x3e, 0x67, 0xf3, 0xa7, 0x82,
- 0xa2, 0x4d, 0x41, 0xd1, 0x5b, 0x41, 0xd1, 0x7d, 0x49, 0x3b, 0x9b, 0x92, 0x76, 0x5e, 0x4b, 0xda,
- 0xb9, 0x39, 0x8f, 0xb5, 0x5f, 0x64, 0x11, 0x93, 0x90, 0x70, 0x09, 0x2e, 0x01, 0x57, 0x89, 0x87,
- 0x31, 0xf0, 0x7c, 0xc2, 0x13, 0x98, 0x67, 0x4b, 0xe5, 0xea, 0x98, 0xf1, 0x6c, 0xf8, 0x99, 0x34,
- 0xdc, 0x4e, 0xf2, 0x6b, 0xab, 0x5c, 0xd4, 0x0d, 0xff, 0x36, 0xf9, 0x08, 0x00, 0x00, 0xff, 0xff,
- 0x7d, 0xf5, 0x90, 0xb6, 0x78, 0x02, 0x00, 0x00,
+ // 310 bytes of a gzipped FileDescriptorProto
+ 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x91, 0x31, 0x4b, 0x03, 0x31,
+ 0x14, 0xc7, 0x1b, 0xc1, 0x0e, 0x71, 0x8b, 0x0e, 0x52, 0x24, 0x48, 0x27, 0x87, 0x36, 0xa1, 0xb5,
+ 0x50, 0x47, 0x75, 0x14, 0x07, 0x75, 0x74, 0x91, 0x5c, 0x1a, 0xae, 0x81, 0x5e, 0x5e, 0x7a, 0xc9,
+ 0x1d, 0x74, 0xf5, 0x13, 0x08, 0x7e, 0x24, 0x17, 0x17, 0xa1, 0xe0, 0xe2, 0x28, 0x77, 0x7e, 0x10,
+ 0xb9, 0xdc, 0x81, 0x16, 0x45, 0x38, 0x5c, 0x5f, 0xf8, 0xfd, 0xfe, 0xef, 0xff, 0x82, 0x4f, 0x74,
+ 0x24, 0xb9, 0xb0, 0x76, 0xa1, 0xa5, 0xf0, 0x1a, 0x8c, 0xe3, 0xda, 0x78, 0x95, 0xca, 0xb9, 0xd0,
+ 0xe6, 0x4e, 0x48, 0x09, 0x99, 0xf1, 0x8e, 0xcf, 0xc1, 0x79, 0x9e, 0x8f, 0xf8, 0x32, 0x53, 0xe9,
+ 0x8a, 0xd9, 0x14, 0x3c, 0x90, 0x81, 0x8e, 0x24, 0xfb, 0x4e, 0xb2, 0x5f, 0x48, 0x56, 0x91, 0x2c,
+ 0x1f, 0xf5, 0x0e, 0x62, 0x80, 0x78, 0xa1, 0xb8, 0xb0, 0x9a, 0x0b, 0x63, 0xc0, 0x37, 0x4c, 0x70,
+ 0xf5, 0xa6, 0xad, 0xb6, 0x08, 0xce, 0x00, 0xf6, 0xf7, 0x30, 0xb9, 0xae, 0x76, 0xba, 0x12, 0xa9,
+ 0x48, 0xdc, 0x8d, 0x5a, 0x66, 0xca, 0xf9, 0xbe, 0xc4, 0xbb, 0x1b, 0x53, 0x67, 0xc1, 0x38, 0x45,
+ 0x2e, 0x71, 0xd7, 0x86, 0xc9, 0x3e, 0x3a, 0x44, 0x47, 0x3b, 0xe3, 0x09, 0x6b, 0x53, 0x81, 0x35,
+ 0xb6, 0xc6, 0x31, 0x7e, 0x41, 0x78, 0x3b, 0xa4, 0x90, 0x27, 0x84, 0xbb, 0xf5, 0x23, 0x39, 0x6d,
+ 0xa7, 0xfc, 0xb9, 0x7b, 0xef, 0xec, 0x1f, 0x86, 0xba, 0x67, 0x7f, 0x72, 0xff, 0xfa, 0xf1, 0xb8,
+ 0xc5, 0xc8, 0x80, 0x37, 0x67, 0xfd, 0xfb, 0x9c, 0x75, 0x9f, 0xf3, 0xd9, 0x73, 0x41, 0xd1, 0xba,
+ 0xa0, 0xe8, 0xbd, 0xa0, 0xe8, 0xa1, 0xa4, 0x9d, 0x75, 0x49, 0x3b, 0x6f, 0x25, 0xed, 0xdc, 0x5e,
+ 0xc4, 0xda, 0xcf, 0xb3, 0x88, 0x49, 0x48, 0xb8, 0x04, 0x97, 0x80, 0xab, 0xc4, 0xc3, 0x18, 0x78,
+ 0x3e, 0xe1, 0x09, 0xcc, 0xb2, 0x85, 0x72, 0x75, 0xcc, 0x78, 0x3a, 0xfc, 0x4a, 0x1a, 0x6e, 0x26,
+ 0xf9, 0x95, 0x55, 0x2e, 0xea, 0x86, 0x7f, 0x3b, 0xfe, 0x0c, 0x00, 0x00, 0xff, 0xff, 0x58, 0x8e,
+ 0x7b, 0xe6, 0x78, 0x02, 0x00, 0x00,
}
// Reference imports to suppress errors if they are not otherwise used.
diff --git a/modules/apps/27-interchain-accounts/module.go b/modules/apps/27-interchain-accounts/module.go
index c7a5651baa6..cfcf9804a66 100644
--- a/modules/apps/27-interchain-accounts/module.go
+++ b/modules/apps/27-interchain-accounts/module.go
@@ -15,15 +15,15 @@ import (
"github.com/spf13/cobra"
abci "github.com/tendermint/tendermint/abci/types"
- "github.com/cosmos/ibc-go/v3/modules/apps/27-interchain-accounts/client/cli"
- controllerkeeper "github.com/cosmos/ibc-go/v3/modules/apps/27-interchain-accounts/controller/keeper"
- controllertypes "github.com/cosmos/ibc-go/v3/modules/apps/27-interchain-accounts/controller/types"
- "github.com/cosmos/ibc-go/v3/modules/apps/27-interchain-accounts/host"
- hostkeeper "github.com/cosmos/ibc-go/v3/modules/apps/27-interchain-accounts/host/keeper"
- hosttypes "github.com/cosmos/ibc-go/v3/modules/apps/27-interchain-accounts/host/types"
- "github.com/cosmos/ibc-go/v3/modules/apps/27-interchain-accounts/types"
- porttypes "github.com/cosmos/ibc-go/v3/modules/core/05-port/types"
- ibchost "github.com/cosmos/ibc-go/v3/modules/core/24-host"
+ "github.com/cosmos/ibc-go/v4/modules/apps/27-interchain-accounts/client/cli"
+ controllerkeeper "github.com/cosmos/ibc-go/v4/modules/apps/27-interchain-accounts/controller/keeper"
+ controllertypes "github.com/cosmos/ibc-go/v4/modules/apps/27-interchain-accounts/controller/types"
+ "github.com/cosmos/ibc-go/v4/modules/apps/27-interchain-accounts/host"
+ hostkeeper "github.com/cosmos/ibc-go/v4/modules/apps/27-interchain-accounts/host/keeper"
+ hosttypes "github.com/cosmos/ibc-go/v4/modules/apps/27-interchain-accounts/host/types"
+ "github.com/cosmos/ibc-go/v4/modules/apps/27-interchain-accounts/types"
+ porttypes "github.com/cosmos/ibc-go/v4/modules/core/05-port/types"
+ ibchost "github.com/cosmos/ibc-go/v4/modules/core/24-host"
)
var (
diff --git a/modules/apps/27-interchain-accounts/module_test.go b/modules/apps/27-interchain-accounts/module_test.go
index ff44eed4ff0..be51b9d71c7 100644
--- a/modules/apps/27-interchain-accounts/module_test.go
+++ b/modules/apps/27-interchain-accounts/module_test.go
@@ -8,12 +8,12 @@ import (
tmproto "github.com/tendermint/tendermint/proto/tendermint/types"
dbm "github.com/tendermint/tm-db"
- ica "github.com/cosmos/ibc-go/v3/modules/apps/27-interchain-accounts"
- controllertypes "github.com/cosmos/ibc-go/v3/modules/apps/27-interchain-accounts/controller/types"
- hosttypes "github.com/cosmos/ibc-go/v3/modules/apps/27-interchain-accounts/host/types"
- "github.com/cosmos/ibc-go/v3/modules/apps/27-interchain-accounts/types"
- ibctesting "github.com/cosmos/ibc-go/v3/testing"
- "github.com/cosmos/ibc-go/v3/testing/simapp"
+ ica "github.com/cosmos/ibc-go/v4/modules/apps/27-interchain-accounts"
+ controllertypes "github.com/cosmos/ibc-go/v4/modules/apps/27-interchain-accounts/controller/types"
+ hosttypes "github.com/cosmos/ibc-go/v4/modules/apps/27-interchain-accounts/host/types"
+ "github.com/cosmos/ibc-go/v4/modules/apps/27-interchain-accounts/types"
+ ibctesting "github.com/cosmos/ibc-go/v4/testing"
+ "github.com/cosmos/ibc-go/v4/testing/simapp"
)
type InterchainAccountsTestSuite struct {
diff --git a/modules/apps/27-interchain-accounts/types/account.pb.go b/modules/apps/27-interchain-accounts/types/account.pb.go
index da0a705399c..4978a25f4a7 100644
--- a/modules/apps/27-interchain-accounts/types/account.pb.go
+++ b/modules/apps/27-interchain-accounts/types/account.pb.go
@@ -91,10 +91,10 @@ var fileDescriptor_5561bd92625bf7da = []byte{
0x61, 0xb8, 0xdf, 0xd3, 0x29, 0xfe, 0xc4, 0x23, 0x39, 0xc6, 0x0b, 0x8f, 0xe4, 0x18, 0x1f, 0x3c,
0x92, 0x63, 0x9c, 0xf0, 0x58, 0x8e, 0xe1, 0xc2, 0x63, 0x39, 0x86, 0x1b, 0x8f, 0xe5, 0x18, 0xa2,
0x5c, 0xd3, 0x33, 0x4b, 0x32, 0x4a, 0x93, 0xf4, 0x92, 0xf3, 0x73, 0xa1, 0xe1, 0xa7, 0x9f, 0x99,
- 0x94, 0xac, 0x9b, 0x9e, 0xaf, 0x5f, 0x66, 0xac, 0x9f, 0x9b, 0x9f, 0x52, 0x9a, 0x93, 0x5a, 0x0c,
+ 0x94, 0xac, 0x9b, 0x9e, 0xaf, 0x5f, 0x66, 0xa2, 0x9f, 0x9b, 0x9f, 0x52, 0x9a, 0x93, 0x5a, 0x0c,
0x8a, 0xc1, 0x62, 0x7d, 0x23, 0x73, 0x5d, 0x44, 0x2c, 0xe8, 0xc2, 0x23, 0xaf, 0xa4, 0xb2, 0x20,
- 0xb5, 0x38, 0x89, 0x0d, 0x1c, 0x7c, 0xc6, 0x80, 0x00, 0x00, 0x00, 0xff, 0xff, 0x74, 0x07, 0x08,
- 0x0e, 0xf1, 0x01, 0x00, 0x00,
+ 0xb5, 0x38, 0x89, 0x0d, 0x1c, 0x7c, 0xc6, 0x80, 0x00, 0x00, 0x00, 0xff, 0xff, 0x4e, 0xd7, 0x23,
+ 0x15, 0xf1, 0x01, 0x00, 0x00,
}
func (m *InterchainAccount) Marshal() (dAtA []byte, err error) {
diff --git a/modules/apps/27-interchain-accounts/types/account_test.go b/modules/apps/27-interchain-accounts/types/account_test.go
index 13acc610152..19684cb8c80 100644
--- a/modules/apps/27-interchain-accounts/types/account_test.go
+++ b/modules/apps/27-interchain-accounts/types/account_test.go
@@ -10,8 +10,8 @@ import (
authtypes "github.com/cosmos/cosmos-sdk/x/auth/types"
"github.com/stretchr/testify/suite"
- "github.com/cosmos/ibc-go/v3/modules/apps/27-interchain-accounts/types"
- ibctesting "github.com/cosmos/ibc-go/v3/testing"
+ "github.com/cosmos/ibc-go/v4/modules/apps/27-interchain-accounts/types"
+ ibctesting "github.com/cosmos/ibc-go/v4/testing"
)
var (
diff --git a/modules/apps/27-interchain-accounts/types/codec_test.go b/modules/apps/27-interchain-accounts/types/codec_test.go
index b18b018332a..51fe1128fba 100644
--- a/modules/apps/27-interchain-accounts/types/codec_test.go
+++ b/modules/apps/27-interchain-accounts/types/codec_test.go
@@ -6,8 +6,8 @@ import (
banktypes "github.com/cosmos/cosmos-sdk/x/bank/types"
govtypes "github.com/cosmos/cosmos-sdk/x/gov/types"
- "github.com/cosmos/ibc-go/v3/modules/apps/27-interchain-accounts/types"
- "github.com/cosmos/ibc-go/v3/testing/simapp"
+ "github.com/cosmos/ibc-go/v4/modules/apps/27-interchain-accounts/types"
+ "github.com/cosmos/ibc-go/v4/testing/simapp"
)
// caseRawBytes defines a helper struct, used for testing codec operations
diff --git a/modules/apps/27-interchain-accounts/types/events.go b/modules/apps/27-interchain-accounts/types/events.go
index 9bfd1df3049..3ca4b783b55 100644
--- a/modules/apps/27-interchain-accounts/types/events.go
+++ b/modules/apps/27-interchain-accounts/types/events.go
@@ -4,7 +4,8 @@ package types
const (
EventTypePacket = "ics27_packet"
- AttributeKeyAckError = "error"
- AttributeKeyHostChannelID = "host_channel_id"
- AttributeKeyAckSuccess = "success"
+ AttributeKeyAckError = "error"
+ AttributeKeyHostChannelID = "host_channel_id"
+ AttributeKeyControllerChannelID = "controller_channel_id"
+ AttributeKeyAckSuccess = "success"
)
diff --git a/modules/apps/27-interchain-accounts/types/expected_keepers.go b/modules/apps/27-interchain-accounts/types/expected_keepers.go
index 8fb0b743cda..e4873c561fd 100644
--- a/modules/apps/27-interchain-accounts/types/expected_keepers.go
+++ b/modules/apps/27-interchain-accounts/types/expected_keepers.go
@@ -5,8 +5,8 @@ import (
authtypes "github.com/cosmos/cosmos-sdk/x/auth/types"
capabilitytypes "github.com/cosmos/cosmos-sdk/x/capability/types"
- channeltypes "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types"
- ibcexported "github.com/cosmos/ibc-go/v3/modules/core/exported"
+ channeltypes "github.com/cosmos/ibc-go/v4/modules/core/04-channel/types"
+ ibcexported "github.com/cosmos/ibc-go/v4/modules/core/exported"
)
// AccountKeeper defines the expected account keeper
diff --git a/modules/apps/27-interchain-accounts/types/genesis.go b/modules/apps/27-interchain-accounts/types/genesis.go
index f4c5b15b6d2..67e8391ef66 100644
--- a/modules/apps/27-interchain-accounts/types/genesis.go
+++ b/modules/apps/27-interchain-accounts/types/genesis.go
@@ -1,9 +1,9 @@
package types
import (
- controllertypes "github.com/cosmos/ibc-go/v3/modules/apps/27-interchain-accounts/controller/types"
- hosttypes "github.com/cosmos/ibc-go/v3/modules/apps/27-interchain-accounts/host/types"
- host "github.com/cosmos/ibc-go/v3/modules/core/24-host"
+ controllertypes "github.com/cosmos/ibc-go/v4/modules/apps/27-interchain-accounts/controller/types"
+ hosttypes "github.com/cosmos/ibc-go/v4/modules/apps/27-interchain-accounts/host/types"
+ host "github.com/cosmos/ibc-go/v4/modules/core/24-host"
)
// DefaultGenesis creates and returns the interchain accounts GenesisState
diff --git a/modules/apps/27-interchain-accounts/types/genesis.pb.go b/modules/apps/27-interchain-accounts/types/genesis.pb.go
index c73f5c395f0..5dc6b9e4112 100644
--- a/modules/apps/27-interchain-accounts/types/genesis.pb.go
+++ b/modules/apps/27-interchain-accounts/types/genesis.pb.go
@@ -5,8 +5,8 @@ package types
import (
fmt "fmt"
- types "github.com/cosmos/ibc-go/v3/modules/apps/27-interchain-accounts/controller/types"
- types1 "github.com/cosmos/ibc-go/v3/modules/apps/27-interchain-accounts/host/types"
+ types "github.com/cosmos/ibc-go/v4/modules/apps/27-interchain-accounts/controller/types"
+ types1 "github.com/cosmos/ibc-go/v4/modules/apps/27-interchain-accounts/host/types"
_ "github.com/gogo/protobuf/gogoproto"
proto "github.com/gogo/protobuf/proto"
io "io"
@@ -351,48 +351,48 @@ func init() {
}
var fileDescriptor_629b3ced0911516b = []byte{
- // 645 bytes of a gzipped FileDescriptorProto
- 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x95, 0x3f, 0x6f, 0x13, 0x3f,
- 0x18, 0xc7, 0xe3, 0xa4, 0xbf, 0xfe, 0x14, 0xf7, 0x0f, 0xc5, 0x94, 0xea, 0x08, 0xd2, 0x25, 0x78,
- 0x69, 0x24, 0xd4, 0x3b, 0xf5, 0x0f, 0x54, 0x54, 0x42, 0xa8, 0x17, 0x10, 0x64, 0x43, 0x66, 0x41,
- 0x2c, 0x27, 0xc7, 0x67, 0x25, 0x96, 0x92, 0x73, 0x74, 0x76, 0x23, 0x75, 0x62, 0x67, 0x62, 0x43,
- 0xac, 0x48, 0xbc, 0x00, 0xde, 0x01, 0x63, 0x27, 0xd4, 0x91, 0x29, 0x42, 0xed, 0x3b, 0xc8, 0x2b,
- 0x40, 0xf6, 0x9d, 0x92, 0xf4, 0x48, 0xab, 0x9b, 0x98, 0x98, 0x62, 0xdf, 0xe3, 0xef, 0xf7, 0xf9,
- 0x3c, 0x7e, 0x1c, 0x1b, 0x3e, 0x12, 0x1d, 0xe6, 0xd3, 0xe1, 0xb0, 0x2f, 0x18, 0xd5, 0x42, 0xc6,
- 0xca, 0x17, 0xb1, 0xe6, 0x09, 0xeb, 0x51, 0x11, 0x87, 0x94, 0x31, 0x79, 0x12, 0x6b, 0xe5, 0x8f,
- 0x76, 0xfd, 0x2e, 0x8f, 0xb9, 0x12, 0xca, 0x1b, 0x26, 0x52, 0x4b, 0xb4, 0x2d, 0x3a, 0xcc, 0x9b,
- 0x97, 0x79, 0x0b, 0x64, 0xde, 0x68, 0xb7, 0xb6, 0xd9, 0x95, 0x5d, 0x69, 0x35, 0xbe, 0x19, 0xa5,
- 0xf2, 0x5a, 0xab, 0x50, 0x56, 0x26, 0x63, 0x9d, 0xc8, 0x7e, 0x9f, 0x27, 0x06, 0x60, 0x36, 0xcb,
- 0x4c, 0x0e, 0x0b, 0x99, 0xf4, 0xa4, 0xd2, 0x46, 0x6e, 0x7e, 0x53, 0x21, 0xfe, 0x5e, 0x86, 0xab,
- 0x2f, 0xd3, 0x72, 0xde, 0x68, 0xaa, 0x39, 0xfa, 0x02, 0xa0, 0x33, 0xb3, 0x0f, 0xb3, 0x52, 0x43,
- 0x65, 0x82, 0x0e, 0x68, 0x80, 0xe6, 0xca, 0xde, 0x33, 0xaf, 0x60, 0xc5, 0x5e, 0x6b, 0x6a, 0x34,
- 0x9f, 0x23, 0xd8, 0x3e, 0x1b, 0xd7, 0x4b, 0x93, 0x71, 0xbd, 0x7e, 0x4a, 0x07, 0xfd, 0x23, 0x7c,
- 0x5d, 0x3a, 0x4c, 0xb6, 0xd8, 0x42, 0x03, 0xf4, 0x01, 0x40, 0x64, 0x8a, 0xc8, 0xe1, 0x95, 0x2d,
- 0xde, 0x93, 0xc2, 0x78, 0xaf, 0xa4, 0xd2, 0x57, 0xc0, 0x1e, 0x64, 0x60, 0xf7, 0x52, 0xb0, 0x3f,
- 0x53, 0x60, 0xb2, 0xd1, 0xcb, 0x89, 0xf0, 0xd7, 0x0a, 0xdc, 0x5a, 0x5c, 0x28, 0x7a, 0x0f, 0x6f,
- 0x51, 0xa6, 0xc5, 0x88, 0x87, 0xac, 0x47, 0xe3, 0x98, 0xf7, 0x95, 0x03, 0x1a, 0x95, 0xe6, 0xca,
- 0xde, 0xe3, 0xc2, 0x8c, 0xc7, 0x56, 0xdf, 0x4a, 0xe5, 0x81, 0x9b, 0x01, 0x6e, 0xa5, 0x80, 0x39,
- 0x73, 0x4c, 0xd6, 0xe9, 0xfc, 0x72, 0x85, 0x3e, 0x03, 0x78, 0x67, 0x81, 0xb1, 0x53, 0xb6, 0x14,
- 0xcf, 0x0b, 0x53, 0x10, 0xde, 0x15, 0x4a, 0xf3, 0x84, 0x47, 0xed, 0xe9, 0x82, 0xe3, 0x34, 0x1e,
- 0xe0, 0x8c, 0xa9, 0x96, 0x32, 0x2d, 0x70, 0xc0, 0x04, 0x89, 0xbc, 0x4c, 0xa1, 0x4d, 0xf8, 0xdf,
- 0x50, 0x26, 0x5a, 0x39, 0x95, 0x46, 0xa5, 0x59, 0x25, 0xe9, 0x04, 0xbd, 0x85, 0xcb, 0x43, 0x9a,
- 0xd0, 0x81, 0x72, 0x96, 0x6c, 0x37, 0x8f, 0x8a, 0x31, 0xce, 0xfd, 0x23, 0x46, 0xbb, 0xde, 0x6b,
- 0xeb, 0x10, 0x2c, 0x19, 0x32, 0x92, 0xf9, 0xe1, 0x4f, 0x15, 0xb8, 0x91, 0xef, 0xf8, 0xbf, 0x0e,
- 0xdd, 0xd4, 0x21, 0x04, 0x97, 0x4c, 0x53, 0x9c, 0x4a, 0x03, 0x34, 0xab, 0xc4, 0x8e, 0x11, 0xc9,
- 0xf5, 0xe7, 0xa0, 0x18, 0xa1, 0xbd, 0x72, 0xae, 0xeb, 0xcc, 0x37, 0x00, 0xd7, 0xae, 0xec, 0x22,
- 0x7a, 0x0a, 0xd7, 0x98, 0x8c, 0x63, 0xce, 0x8c, 0x63, 0x28, 0x22, 0x7b, 0xf3, 0x54, 0x03, 0x67,
- 0x32, 0xae, 0x6f, 0x4e, 0x2f, 0x8d, 0x59, 0x18, 0x93, 0xd5, 0xd9, 0xbc, 0x1d, 0xa1, 0x87, 0xf0,
- 0x7f, 0x03, 0x6b, 0x84, 0x65, 0x2b, 0x44, 0x93, 0x71, 0x7d, 0x3d, 0x15, 0x66, 0x01, 0x4c, 0x96,
- 0xcd, 0xa8, 0x1d, 0xa1, 0x03, 0x08, 0xb3, 0xf6, 0x98, 0xf5, 0xb6, 0xd6, 0xe0, 0xee, 0x64, 0x5c,
- 0xbf, 0x9d, 0x25, 0x9a, 0xc6, 0x30, 0xa9, 0x66, 0x93, 0x76, 0x84, 0x7f, 0x00, 0x78, 0xff, 0x86,
- 0x3d, 0xff, 0xab, 0x15, 0xb4, 0xcc, 0x21, 0xb6, 0x69, 0x43, 0x1a, 0x45, 0x09, 0x57, 0x2a, 0x2b,
- 0xa3, 0x36, 0x7f, 0x10, 0xaf, 0x2c, 0xb0, 0x07, 0xd1, 0x7e, 0x39, 0x4e, 0x3f, 0x04, 0xe1, 0xd9,
- 0x85, 0x0b, 0xce, 0x2f, 0x5c, 0xf0, 0xeb, 0xc2, 0x05, 0x1f, 0x2f, 0xdd, 0xd2, 0xf9, 0xa5, 0x5b,
- 0xfa, 0x79, 0xe9, 0x96, 0xde, 0xbd, 0xe8, 0x0a, 0xdd, 0x3b, 0xe9, 0x78, 0x4c, 0x0e, 0x7c, 0x26,
- 0xd5, 0x40, 0x2a, 0x5f, 0x74, 0xd8, 0x4e, 0x57, 0xfa, 0xa3, 0x7d, 0x7f, 0x20, 0xa3, 0x93, 0x3e,
- 0x57, 0xe6, 0xf1, 0x51, 0xfe, 0xde, 0xe1, 0xce, 0xac, 0xf9, 0x3b, 0xd3, 0x77, 0x47, 0x9f, 0x0e,
- 0xb9, 0xea, 0x2c, 0xdb, 0x17, 0x67, 0xff, 0x77, 0x00, 0x00, 0x00, 0xff, 0xff, 0xf5, 0x08, 0x8f,
- 0x1f, 0x67, 0x07, 0x00, 0x00,
+ // 643 bytes of a gzipped FileDescriptorProto
+ 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x95, 0x3f, 0x6f, 0x13, 0x31,
+ 0x18, 0xc6, 0xe3, 0xa4, 0x14, 0xc5, 0xfd, 0x43, 0x31, 0xa5, 0x3a, 0x82, 0x74, 0x09, 0x5e, 0x1a,
+ 0x09, 0xf5, 0x4e, 0x2d, 0x85, 0x8a, 0x4a, 0x08, 0xf5, 0x02, 0x82, 0x6c, 0xc8, 0x2c, 0x88, 0xe5,
+ 0xe4, 0xf8, 0xac, 0xc4, 0x52, 0x72, 0x8e, 0xce, 0x6e, 0xa4, 0x4e, 0xec, 0x4c, 0x6c, 0x88, 0x15,
+ 0x89, 0x0f, 0xc0, 0x37, 0x60, 0xec, 0x84, 0x3a, 0x32, 0x45, 0xa8, 0xfd, 0x06, 0xf9, 0x04, 0xc8,
+ 0xbe, 0x53, 0x92, 0x1e, 0x69, 0x75, 0x13, 0x13, 0x53, 0xec, 0x7b, 0xfd, 0x3c, 0xef, 0xef, 0xf5,
+ 0xeb, 0xd8, 0xf0, 0xb1, 0xe8, 0x30, 0x9f, 0x0e, 0x87, 0x7d, 0xc1, 0xa8, 0x16, 0x32, 0x56, 0xbe,
+ 0x88, 0x35, 0x4f, 0x58, 0x8f, 0x8a, 0x38, 0xa4, 0x8c, 0xc9, 0xe3, 0x58, 0x2b, 0x7f, 0xb4, 0xeb,
+ 0x77, 0x79, 0xcc, 0x95, 0x50, 0xde, 0x30, 0x91, 0x5a, 0xa2, 0x6d, 0xd1, 0x61, 0xde, 0xbc, 0xcc,
+ 0x5b, 0x20, 0xf3, 0x46, 0xbb, 0xb5, 0xcd, 0xae, 0xec, 0x4a, 0xab, 0xf1, 0xcd, 0x28, 0x95, 0xd7,
+ 0x5a, 0x85, 0xb2, 0x32, 0x19, 0xeb, 0x44, 0xf6, 0xfb, 0x3c, 0x31, 0x00, 0xb3, 0x59, 0x66, 0x72,
+ 0x50, 0xc8, 0xa4, 0x27, 0x95, 0x36, 0x72, 0xf3, 0x9b, 0x0a, 0xf1, 0x8f, 0x32, 0x5c, 0x7d, 0x95,
+ 0x96, 0xf3, 0x56, 0x53, 0xcd, 0xd1, 0x57, 0x00, 0x9d, 0x99, 0x7d, 0x98, 0x95, 0x1a, 0x2a, 0x13,
+ 0x74, 0x40, 0x03, 0x34, 0x57, 0xf6, 0x9e, 0x7b, 0x05, 0x2b, 0xf6, 0x5a, 0x53, 0xa3, 0xf9, 0x1c,
+ 0xc1, 0xf6, 0xe9, 0xb8, 0x5e, 0x9a, 0x8c, 0xeb, 0xf5, 0x13, 0x3a, 0xe8, 0x1f, 0xe2, 0xab, 0xd2,
+ 0x61, 0xb2, 0xc5, 0x16, 0x1a, 0xa0, 0x8f, 0x00, 0x22, 0x53, 0x44, 0x0e, 0xaf, 0x6c, 0xf1, 0x9e,
+ 0x16, 0xc6, 0x7b, 0x2d, 0x95, 0xbe, 0x04, 0xf6, 0x20, 0x03, 0xbb, 0x97, 0x82, 0xfd, 0x9d, 0x02,
+ 0x93, 0x8d, 0x5e, 0x4e, 0x84, 0xbf, 0x55, 0xe0, 0xd6, 0xe2, 0x42, 0xd1, 0x07, 0x78, 0x8b, 0x32,
+ 0x2d, 0x46, 0x3c, 0x64, 0x3d, 0x1a, 0xc7, 0xbc, 0xaf, 0x1c, 0xd0, 0xa8, 0x34, 0x57, 0xf6, 0x9e,
+ 0x14, 0x66, 0x3c, 0xb2, 0xfa, 0x56, 0x2a, 0x0f, 0xdc, 0x0c, 0x70, 0x2b, 0x05, 0xcc, 0x99, 0x63,
+ 0xb2, 0x4e, 0xe7, 0x97, 0x2b, 0xf4, 0x05, 0xc0, 0x3b, 0x0b, 0x8c, 0x9d, 0xb2, 0xa5, 0x78, 0x51,
+ 0x98, 0x82, 0xf0, 0xae, 0x50, 0x9a, 0x27, 0x3c, 0x6a, 0x4f, 0x17, 0x1c, 0xa5, 0xf1, 0x00, 0x67,
+ 0x4c, 0xb5, 0x94, 0x69, 0x81, 0x03, 0x26, 0x48, 0xe4, 0x65, 0x0a, 0x6d, 0xc2, 0x1b, 0x43, 0x99,
+ 0x68, 0xe5, 0x54, 0x1a, 0x95, 0x66, 0x95, 0xa4, 0x13, 0xf4, 0x0e, 0x2e, 0x0f, 0x69, 0x42, 0x07,
+ 0xca, 0x59, 0xb2, 0xdd, 0x3c, 0x2c, 0xc6, 0x38, 0xf7, 0x8f, 0x18, 0xed, 0x7a, 0x6f, 0xac, 0x43,
+ 0xb0, 0x64, 0xc8, 0x48, 0xe6, 0x87, 0x3f, 0x57, 0xe0, 0x46, 0xbe, 0xe3, 0xff, 0x3b, 0x74, 0x5d,
+ 0x87, 0x10, 0x5c, 0x32, 0x4d, 0x71, 0x2a, 0x0d, 0xd0, 0xac, 0x12, 0x3b, 0x46, 0x24, 0xd7, 0x9f,
+ 0xfd, 0x62, 0x84, 0xf6, 0xca, 0xb9, 0xaa, 0x33, 0xdf, 0x01, 0x5c, 0xbb, 0xb4, 0x8b, 0xe8, 0x19,
+ 0x5c, 0x63, 0x32, 0x8e, 0x39, 0x33, 0x8e, 0xa1, 0x88, 0xec, 0xcd, 0x53, 0x0d, 0x9c, 0xc9, 0xb8,
+ 0xbe, 0x39, 0xbd, 0x34, 0x66, 0x61, 0x4c, 0x56, 0x67, 0xf3, 0x76, 0x84, 0x1e, 0xc2, 0x9b, 0x06,
+ 0xd6, 0x08, 0xcb, 0x56, 0x88, 0x26, 0xe3, 0xfa, 0x7a, 0x2a, 0xcc, 0x02, 0x98, 0x2c, 0x9b, 0x51,
+ 0x3b, 0x42, 0xfb, 0x10, 0x66, 0xed, 0x31, 0xeb, 0x6d, 0xad, 0xc1, 0xdd, 0xc9, 0xb8, 0x7e, 0x3b,
+ 0x4b, 0x34, 0x8d, 0x61, 0x52, 0xcd, 0x26, 0xed, 0x08, 0xff, 0x04, 0xf0, 0xfe, 0x35, 0x7b, 0xfe,
+ 0x4f, 0x2b, 0x68, 0x99, 0x43, 0x6c, 0xd3, 0x86, 0x34, 0x8a, 0x12, 0xae, 0x54, 0x56, 0x46, 0x6d,
+ 0xfe, 0x20, 0x5e, 0x5a, 0x60, 0x0f, 0xa2, 0xfd, 0x72, 0x94, 0x7e, 0x08, 0xc2, 0xd3, 0x73, 0x17,
+ 0x9c, 0x9d, 0xbb, 0xe0, 0xf7, 0xb9, 0x0b, 0x3e, 0x5d, 0xb8, 0xa5, 0xb3, 0x0b, 0xb7, 0xf4, 0xeb,
+ 0xc2, 0x2d, 0xbd, 0x7f, 0xd9, 0x15, 0xba, 0x77, 0xdc, 0xf1, 0x98, 0x1c, 0xf8, 0x4c, 0xaa, 0x81,
+ 0x54, 0xbe, 0xe8, 0xb0, 0x9d, 0xae, 0xf4, 0x47, 0xfb, 0xfe, 0x40, 0x46, 0xc7, 0x7d, 0xae, 0xcc,
+ 0xe3, 0xa3, 0xfc, 0xbd, 0x83, 0x9d, 0x59, 0xf3, 0x77, 0xa6, 0xef, 0x8e, 0x3e, 0x19, 0x72, 0xd5,
+ 0x59, 0xb6, 0x2f, 0xce, 0xa3, 0x3f, 0x01, 0x00, 0x00, 0xff, 0xff, 0xcf, 0xd8, 0xa4, 0x04, 0x67,
+ 0x07, 0x00, 0x00,
}
func (m *GenesisState) Marshal() (dAtA []byte, err error) {
diff --git a/modules/apps/27-interchain-accounts/types/genesis_test.go b/modules/apps/27-interchain-accounts/types/genesis_test.go
index bbdbc8d14d5..be86e8595a4 100644
--- a/modules/apps/27-interchain-accounts/types/genesis_test.go
+++ b/modules/apps/27-interchain-accounts/types/genesis_test.go
@@ -1,10 +1,10 @@
package types_test
import (
- controllertypes "github.com/cosmos/ibc-go/v3/modules/apps/27-interchain-accounts/controller/types"
- hosttypes "github.com/cosmos/ibc-go/v3/modules/apps/27-interchain-accounts/host/types"
- "github.com/cosmos/ibc-go/v3/modules/apps/27-interchain-accounts/types"
- ibctesting "github.com/cosmos/ibc-go/v3/testing"
+ controllertypes "github.com/cosmos/ibc-go/v4/modules/apps/27-interchain-accounts/controller/types"
+ hosttypes "github.com/cosmos/ibc-go/v4/modules/apps/27-interchain-accounts/host/types"
+ "github.com/cosmos/ibc-go/v4/modules/apps/27-interchain-accounts/types"
+ ibctesting "github.com/cosmos/ibc-go/v4/testing"
)
func (suite *TypesTestSuite) TestValidateGenesisState() {
diff --git a/modules/apps/27-interchain-accounts/types/keys_test.go b/modules/apps/27-interchain-accounts/types/keys_test.go
index 94c7a3bed0d..58b5b9c71b3 100644
--- a/modules/apps/27-interchain-accounts/types/keys_test.go
+++ b/modules/apps/27-interchain-accounts/types/keys_test.go
@@ -1,7 +1,7 @@
package types_test
import (
- "github.com/cosmos/ibc-go/v3/modules/apps/27-interchain-accounts/types"
+ "github.com/cosmos/ibc-go/v4/modules/apps/27-interchain-accounts/types"
)
func (suite *TypesTestSuite) TestKeyActiveChannel() {
diff --git a/modules/apps/27-interchain-accounts/types/metadata.go b/modules/apps/27-interchain-accounts/types/metadata.go
index 09185ea6edc..148e5221f28 100644
--- a/modules/apps/27-interchain-accounts/types/metadata.go
+++ b/modules/apps/27-interchain-accounts/types/metadata.go
@@ -4,7 +4,7 @@ import (
sdk "github.com/cosmos/cosmos-sdk/types"
sdkerrors "github.com/cosmos/cosmos-sdk/types/errors"
- connectiontypes "github.com/cosmos/ibc-go/v3/modules/core/03-connection/types"
+ connectiontypes "github.com/cosmos/ibc-go/v4/modules/core/03-connection/types"
)
const (
diff --git a/modules/apps/27-interchain-accounts/types/metadata.pb.go b/modules/apps/27-interchain-accounts/types/metadata.pb.go
index 907e8c0c01d..f1924453d83 100644
--- a/modules/apps/27-interchain-accounts/types/metadata.pb.go
+++ b/modules/apps/27-interchain-accounts/types/metadata.pb.go
@@ -128,26 +128,26 @@ var fileDescriptor_c29c32e397d1f21e = []byte{
// 349 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x74, 0x91, 0xcf, 0x4a, 0xeb, 0x40,
0x18, 0xc5, 0x9b, 0xde, 0x6b, 0x5b, 0x67, 0x25, 0x83, 0xe8, 0x58, 0x30, 0x95, 0xb8, 0xd0, 0x4d,
- 0x33, 0xd4, 0x82, 0x82, 0xcb, 0x8a, 0x0b, 0x11, 0x37, 0xc5, 0x95, 0x20, 0x61, 0x32, 0x33, 0xa4,
- 0x03, 0xc9, 0x7c, 0x21, 0x33, 0x0d, 0xed, 0x5b, 0xf8, 0x06, 0xbe, 0x8e, 0xcb, 0x2e, 0x5d, 0x15,
- 0x69, 0xdf, 0xa0, 0x4f, 0x20, 0x49, 0x6b, 0xeb, 0xdf, 0x5d, 0x4e, 0xce, 0x39, 0xbf, 0x8f, 0xe1,
- 0xa0, 0x73, 0x15, 0x72, 0xca, 0xd2, 0x34, 0x56, 0x9c, 0x59, 0x05, 0xda, 0x50, 0xa5, 0xad, 0xcc,
- 0xf8, 0x80, 0x29, 0x1d, 0x30, 0xce, 0x61, 0xa8, 0xad, 0xa1, 0x79, 0x87, 0x26, 0xd2, 0x32, 0xc1,
- 0x2c, 0xf3, 0xd3, 0x0c, 0x2c, 0xe0, 0x13, 0x15, 0x72, 0xff, 0x73, 0xcf, 0xff, 0xa5, 0xe7, 0xe7,
- 0x9d, 0xe6, 0x6e, 0x04, 0x11, 0x94, 0x1d, 0x5a, 0x7c, 0x2d, 0xeb, 0xde, 0x73, 0x15, 0x35, 0xee,
- 0x56, 0x44, 0x4c, 0x50, 0x3d, 0x97, 0x99, 0x51, 0xa0, 0x89, 0x73, 0xe4, 0x9c, 0x6e, 0xf7, 0x3f,
- 0x24, 0x7e, 0x44, 0x84, 0x83, 0xb6, 0x19, 0xc4, 0xb1, 0xcc, 0x02, 0x0e, 0x5a, 0x4b, 0x5e, 0x5c,
- 0x0b, 0x94, 0x20, 0xd5, 0x22, 0xda, 0x3b, 0x5e, 0x4c, 0x5b, 0xad, 0x31, 0x4b, 0xe2, 0x4b, 0xef,
- 0xaf, 0xa4, 0xd7, 0xdf, 0xdb, 0x58, 0x57, 0x6b, 0xe7, 0x46, 0xe0, 0x5b, 0x84, 0x07, 0x60, 0xec,
- 0x37, 0xf0, 0xbf, 0x12, 0x7c, 0xb8, 0x98, 0xb6, 0x0e, 0x96, 0xe0, 0x9f, 0x19, 0xaf, 0xbf, 0x53,
- 0xfc, 0xfc, 0x02, 0x23, 0xa8, 0xce, 0x84, 0xc8, 0xa4, 0x31, 0xe4, 0xff, 0xf2, 0x15, 0x2b, 0x89,
- 0x9b, 0xa8, 0x21, 0x35, 0x07, 0xa1, 0x74, 0x44, 0xb6, 0x4a, 0x6b, 0xad, 0xf1, 0x3e, 0xaa, 0xdb,
- 0x51, 0x60, 0xc7, 0xa9, 0x24, 0xb5, 0xd2, 0xaa, 0xd9, 0xd1, 0xfd, 0x38, 0x95, 0xbd, 0xe0, 0x65,
- 0xe6, 0x3a, 0x93, 0x99, 0xeb, 0xbc, 0xcd, 0x5c, 0xe7, 0x69, 0xee, 0x56, 0x26, 0x73, 0xb7, 0xf2,
- 0x3a, 0x77, 0x2b, 0x0f, 0xd7, 0x91, 0xb2, 0x83, 0x61, 0xe8, 0x73, 0x48, 0x28, 0x07, 0x93, 0x80,
- 0xa1, 0x2a, 0xe4, 0xed, 0x08, 0x68, 0xde, 0xa5, 0x09, 0x88, 0x61, 0x2c, 0x4d, 0x31, 0xa9, 0xa1,
- 0x67, 0x17, 0xed, 0xcd, 0x2a, 0xed, 0xf5, 0x9a, 0xc5, 0x35, 0x13, 0xd6, 0xca, 0x25, 0xba, 0xef,
- 0x01, 0x00, 0x00, 0xff, 0xff, 0x6e, 0x74, 0x28, 0x89, 0x02, 0x02, 0x00, 0x00,
+ 0x33, 0x54, 0x45, 0xc1, 0x65, 0xc5, 0x85, 0x88, 0x9b, 0xe2, 0x4a, 0x90, 0x30, 0x99, 0x19, 0xd2,
+ 0x81, 0x64, 0xbe, 0x90, 0x99, 0x86, 0xf6, 0x2d, 0x7c, 0x03, 0x5f, 0xc7, 0x65, 0x97, 0xae, 0x8a,
+ 0xb4, 0x6f, 0xd0, 0x27, 0x90, 0xa4, 0xb5, 0xf5, 0xef, 0x2e, 0x27, 0xe7, 0x9c, 0xdf, 0xc7, 0x70,
+ 0xd0, 0xb9, 0x0a, 0x39, 0x65, 0x69, 0x1a, 0x2b, 0xce, 0xac, 0x02, 0x6d, 0xa8, 0xd2, 0x56, 0x66,
+ 0xbc, 0xcf, 0x94, 0x0e, 0x18, 0xe7, 0x30, 0xd0, 0xd6, 0xd0, 0xbc, 0x43, 0x13, 0x69, 0x99, 0x60,
+ 0x96, 0xf9, 0x69, 0x06, 0x16, 0xf0, 0x91, 0x0a, 0xb9, 0xff, 0xb9, 0xe7, 0xff, 0xd2, 0xf3, 0xf3,
+ 0x4e, 0x73, 0x3b, 0x82, 0x08, 0xca, 0x0e, 0x2d, 0xbe, 0x16, 0x75, 0xef, 0xb9, 0x8a, 0x1a, 0x77,
+ 0x4b, 0x22, 0x26, 0xa8, 0x9e, 0xcb, 0xcc, 0x28, 0xd0, 0xc4, 0x39, 0x70, 0x8e, 0x37, 0x7b, 0x1f,
+ 0x12, 0x3f, 0x22, 0xc2, 0x41, 0xdb, 0x0c, 0xe2, 0x58, 0x66, 0x01, 0x07, 0xad, 0x25, 0x2f, 0xae,
+ 0x05, 0x4a, 0x90, 0x6a, 0x11, 0xed, 0x1e, 0xce, 0x27, 0xad, 0xd6, 0x88, 0x25, 0xf1, 0xa5, 0xf7,
+ 0x57, 0xd2, 0xeb, 0xed, 0xac, 0xad, 0xab, 0x95, 0x73, 0x23, 0xf0, 0x2d, 0xc2, 0x7d, 0x30, 0xf6,
+ 0x1b, 0xf8, 0x5f, 0x09, 0xde, 0x9f, 0x4f, 0x5a, 0x7b, 0x0b, 0xf0, 0xcf, 0x8c, 0xd7, 0xdb, 0x2a,
+ 0x7e, 0x7e, 0x81, 0x11, 0x54, 0x67, 0x42, 0x64, 0xd2, 0x18, 0xf2, 0x7f, 0xf1, 0x8a, 0xa5, 0xc4,
+ 0x4d, 0xd4, 0x90, 0x9a, 0x83, 0x50, 0x3a, 0x22, 0x1b, 0xa5, 0xb5, 0xd2, 0x78, 0x17, 0xd5, 0xed,
+ 0x30, 0xb0, 0xa3, 0x54, 0x92, 0x5a, 0x69, 0xd5, 0xec, 0xf0, 0x7e, 0x94, 0xca, 0x6e, 0xf0, 0x32,
+ 0x75, 0x9d, 0xf1, 0xd4, 0x75, 0xde, 0xa6, 0xae, 0xf3, 0x34, 0x73, 0x2b, 0xe3, 0x99, 0x5b, 0x79,
+ 0x9d, 0xb9, 0x95, 0x87, 0xeb, 0x48, 0xd9, 0xfe, 0x20, 0xf4, 0x39, 0x24, 0x94, 0x83, 0x49, 0xc0,
+ 0x50, 0x15, 0xf2, 0x76, 0x04, 0x34, 0x3f, 0xa3, 0x09, 0x88, 0x41, 0x2c, 0x4d, 0x31, 0xa9, 0xa1,
+ 0x27, 0x17, 0xed, 0xf5, 0x2a, 0xed, 0xd5, 0x9a, 0xc5, 0x35, 0x13, 0xd6, 0xca, 0x25, 0x4e, 0xdf,
+ 0x03, 0x00, 0x00, 0xff, 0xff, 0x54, 0xa4, 0x03, 0x92, 0x02, 0x02, 0x00, 0x00,
}
func (m *Metadata) Marshal() (dAtA []byte, err error) {
diff --git a/modules/apps/27-interchain-accounts/types/metadata_test.go b/modules/apps/27-interchain-accounts/types/metadata_test.go
index 3bda2549c07..30b1e98f66a 100644
--- a/modules/apps/27-interchain-accounts/types/metadata_test.go
+++ b/modules/apps/27-interchain-accounts/types/metadata_test.go
@@ -1,8 +1,8 @@
package types_test
import (
- "github.com/cosmos/ibc-go/v3/modules/apps/27-interchain-accounts/types"
- ibctesting "github.com/cosmos/ibc-go/v3/testing"
+ "github.com/cosmos/ibc-go/v4/modules/apps/27-interchain-accounts/types"
+ ibctesting "github.com/cosmos/ibc-go/v4/testing"
)
// use TestVersion as metadata being compared against
diff --git a/modules/apps/27-interchain-accounts/types/packet.pb.go b/modules/apps/27-interchain-accounts/types/packet.pb.go
index 98bc3e99ab0..faf353695d5 100644
--- a/modules/apps/27-interchain-accounts/types/packet.pb.go
+++ b/modules/apps/27-interchain-accounts/types/packet.pb.go
@@ -173,29 +173,29 @@ var fileDescriptor_89a080d7401cd393 = []byte{
// 393 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x51, 0x41, 0x8b, 0xd3, 0x40,
0x18, 0xcd, 0xb8, 0x41, 0xd6, 0x59, 0xd9, 0x2d, 0x61, 0x0f, 0x31, 0x42, 0x08, 0x2b, 0x62, 0x10,
- 0x32, 0xe3, 0xb6, 0x82, 0x17, 0x2f, 0xb5, 0x8d, 0xd0, 0x8b, 0x94, 0x98, 0x42, 0xf5, 0x12, 0x26,
+ 0x32, 0xe3, 0xd6, 0x82, 0x17, 0x2f, 0xb5, 0x8d, 0xd0, 0x8b, 0x94, 0x98, 0x42, 0xf5, 0x12, 0x26,
0xd3, 0x31, 0x1d, 0x6c, 0x32, 0xa1, 0x33, 0x29, 0xe6, 0x1f, 0x94, 0x9e, 0xfc, 0x03, 0x3d, 0xf9,
0x67, 0x3c, 0xf6, 0xe8, 0x51, 0xda, 0x3f, 0x22, 0x99, 0x60, 0xdb, 0x83, 0x07, 0x6f, 0x8f, 0xc7,
- 0xf7, 0xde, 0xf7, 0xbd, 0xef, 0xc1, 0xd7, 0x3c, 0xa5, 0x98, 0x94, 0xe5, 0x82, 0x53, 0xa2, 0xb8,
- 0x28, 0x24, 0xe6, 0x85, 0x62, 0x4b, 0x3a, 0x27, 0xbc, 0x48, 0x08, 0xa5, 0xa2, 0x2a, 0x94, 0xc4,
- 0xab, 0x7b, 0x5c, 0x12, 0xfa, 0x95, 0x29, 0x54, 0x2e, 0x85, 0x12, 0xd6, 0x0b, 0x9e, 0x52, 0x74,
- 0xae, 0x42, 0xff, 0x50, 0xa1, 0xd5, 0xbd, 0xf3, 0x24, 0x13, 0x22, 0x5b, 0x30, 0xac, 0x65, 0x69,
- 0xf5, 0x05, 0x93, 0xa2, 0x6e, 0x3d, 0x9c, 0xdb, 0x4c, 0x64, 0x42, 0x43, 0xdc, 0xa0, 0x96, 0xbd,
- 0x5b, 0x03, 0xf8, 0x74, 0x74, 0xf4, 0xea, 0xb7, 0x56, 0x63, 0xbd, 0x7b, 0x48, 0x14, 0xb1, 0xfa,
- 0xd0, 0x54, 0x75, 0xc9, 0x6c, 0xe0, 0x01, 0xff, 0xba, 0x1b, 0xa0, 0xff, 0x3c, 0x04, 0xc5, 0x75,
- 0xc9, 0x22, 0x2d, 0xb5, 0x2c, 0x68, 0xce, 0x88, 0x22, 0xf6, 0x03, 0x0f, 0xf8, 0x8f, 0x23, 0x8d,
- 0x1b, 0x2e, 0x67, 0xb9, 0xb0, 0x2f, 0x3c, 0xe0, 0x3f, 0x8a, 0x34, 0xbe, 0x7b, 0x0b, 0x2f, 0x07,
- 0x42, 0xe6, 0x42, 0xc6, 0xdf, 0xac, 0x57, 0xf0, 0x32, 0x67, 0x52, 0x92, 0x8c, 0x49, 0x1b, 0x78,
- 0x17, 0xfe, 0x55, 0xf7, 0x16, 0xb5, 0xd1, 0xd0, 0xdf, 0x68, 0xa8, 0x5f, 0xd4, 0xd1, 0x71, 0xea,
- 0xe5, 0x14, 0x9a, 0xcd, 0x4e, 0xeb, 0x39, 0xec, 0xc4, 0x9f, 0xc6, 0x61, 0x32, 0xf9, 0xf0, 0x71,
- 0x1c, 0x0e, 0x46, 0xef, 0x47, 0xe1, 0xb0, 0x63, 0x38, 0x37, 0x9b, 0xad, 0x77, 0x75, 0x46, 0x59,
- 0xcf, 0xe0, 0x8d, 0x1e, 0x0b, 0xa7, 0xe1, 0x60, 0x12, 0x87, 0x49, 0x3c, 0xed, 0x00, 0xe7, 0x7a,
- 0xb3, 0xf5, 0xe0, 0x89, 0x71, 0xcc, 0xf5, 0x0f, 0xd7, 0x78, 0x97, 0xfc, 0xdc, 0xbb, 0x60, 0xb7,
- 0x77, 0xc1, 0xef, 0xbd, 0x0b, 0xbe, 0x1f, 0x5c, 0x63, 0x77, 0x70, 0x8d, 0x5f, 0x07, 0xd7, 0xf8,
- 0x1c, 0x66, 0x5c, 0xcd, 0xab, 0x14, 0x51, 0x91, 0x63, 0xaa, 0x4f, 0xc7, 0x3c, 0xa5, 0x41, 0x26,
- 0xf0, 0xaa, 0x87, 0x73, 0x31, 0xab, 0x16, 0x4c, 0x36, 0x65, 0x4b, 0xdc, 0x7d, 0x13, 0x9c, 0x1e,
- 0x15, 0x1c, 0x7b, 0x6e, 0xfe, 0x23, 0xd3, 0x87, 0x3a, 0x52, 0xef, 0x4f, 0x00, 0x00, 0x00, 0xff,
- 0xff, 0xdd, 0x25, 0x3e, 0xc6, 0x1c, 0x02, 0x00, 0x00,
+ 0xf7, 0xde, 0xf7, 0xbd, 0xef, 0xc1, 0x1e, 0x4f, 0x29, 0x26, 0x65, 0xb9, 0xe0, 0x94, 0x28, 0x2e,
+ 0x0a, 0x89, 0x79, 0xa1, 0xd8, 0x92, 0xce, 0x09, 0x2f, 0x12, 0x42, 0xa9, 0xa8, 0x0a, 0x25, 0xf1,
+ 0xea, 0x1e, 0x97, 0x84, 0x7e, 0x65, 0x0a, 0x95, 0x4b, 0xa1, 0x84, 0xf5, 0x82, 0xa7, 0x14, 0x9d,
+ 0xab, 0xd0, 0x3f, 0x54, 0x68, 0x75, 0xef, 0x3c, 0xc9, 0x84, 0xc8, 0x16, 0x0c, 0x6b, 0x59, 0x5a,
+ 0x7d, 0xc1, 0xa4, 0xa8, 0x5b, 0x0f, 0xe7, 0x36, 0x13, 0x99, 0xd0, 0x10, 0x37, 0xa8, 0x65, 0xef,
+ 0xd6, 0x00, 0x3e, 0x1d, 0x1d, 0xbd, 0xfa, 0xad, 0xd5, 0x58, 0xef, 0x1e, 0x12, 0x45, 0xac, 0x3e,
+ 0x34, 0x55, 0x5d, 0x32, 0x1b, 0x78, 0xc0, 0xbf, 0xee, 0x06, 0xe8, 0x3f, 0x0f, 0x41, 0x71, 0x5d,
+ 0xb2, 0x48, 0x4b, 0x2d, 0x0b, 0x9a, 0x33, 0xa2, 0x88, 0xfd, 0xc0, 0x03, 0xfe, 0xe3, 0x48, 0xe3,
+ 0x86, 0xcb, 0x59, 0x2e, 0xec, 0x0b, 0x0f, 0xf8, 0x8f, 0x22, 0x8d, 0xef, 0xde, 0xc2, 0xcb, 0x81,
+ 0x90, 0xb9, 0x90, 0xf1, 0x37, 0xeb, 0x15, 0xbc, 0xcc, 0x99, 0x94, 0x24, 0x63, 0xd2, 0x06, 0xde,
+ 0x85, 0x7f, 0xd5, 0xbd, 0x45, 0x6d, 0x34, 0xf4, 0x37, 0x1a, 0xea, 0x17, 0x75, 0x74, 0x9c, 0x7a,
+ 0x39, 0x85, 0x66, 0xb3, 0xd3, 0x7a, 0x0e, 0x3b, 0xf1, 0xa7, 0x71, 0x98, 0x4c, 0x3e, 0x7c, 0x1c,
+ 0x87, 0x83, 0xd1, 0xfb, 0x51, 0x38, 0xec, 0x18, 0xce, 0xcd, 0x66, 0xeb, 0x5d, 0x9d, 0x51, 0xd6,
+ 0x33, 0x78, 0xa3, 0xc7, 0xc2, 0x69, 0x38, 0x98, 0xc4, 0x61, 0x12, 0x4f, 0x3b, 0xc0, 0xb9, 0xde,
+ 0x6c, 0x3d, 0x78, 0x62, 0x1c, 0x73, 0xfd, 0xc3, 0x35, 0xde, 0x25, 0x3f, 0xf7, 0x2e, 0xd8, 0xed,
+ 0x5d, 0xf0, 0x7b, 0xef, 0x82, 0xef, 0x07, 0xd7, 0xd8, 0x1d, 0x5c, 0xe3, 0xd7, 0xc1, 0x35, 0x3e,
+ 0x87, 0x19, 0x57, 0xf3, 0x2a, 0x45, 0x54, 0xe4, 0x98, 0xea, 0xd3, 0x31, 0x4f, 0x69, 0x90, 0x09,
+ 0xbc, 0xea, 0xe1, 0x5c, 0xcc, 0xaa, 0x05, 0x93, 0x4d, 0xd9, 0x12, 0x77, 0xdf, 0x04, 0xa7, 0x47,
+ 0x05, 0xc7, 0x9e, 0x9b, 0xff, 0xc8, 0xf4, 0xa1, 0x8e, 0xf4, 0xfa, 0x4f, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xe7, 0xf5, 0x15, 0xdd, 0x1c, 0x02, 0x00, 0x00,
}
func (m *InterchainAccountPacketData) Marshal() (dAtA []byte, err error) {
diff --git a/modules/apps/27-interchain-accounts/types/packet_test.go b/modules/apps/27-interchain-accounts/types/packet_test.go
index 52e7797d987..bfbfa9d3802 100644
--- a/modules/apps/27-interchain-accounts/types/packet_test.go
+++ b/modules/apps/27-interchain-accounts/types/packet_test.go
@@ -1,7 +1,7 @@
package types_test
import (
- "github.com/cosmos/ibc-go/v3/modules/apps/27-interchain-accounts/types"
+ "github.com/cosmos/ibc-go/v4/modules/apps/27-interchain-accounts/types"
)
var largeMemo = "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum"
diff --git a/modules/apps/27-interchain-accounts/types/port_test.go b/modules/apps/27-interchain-accounts/types/port_test.go
index bdef740cd98..a5dc2532b60 100644
--- a/modules/apps/27-interchain-accounts/types/port_test.go
+++ b/modules/apps/27-interchain-accounts/types/port_test.go
@@ -3,8 +3,8 @@ package types_test
import (
"fmt"
- "github.com/cosmos/ibc-go/v3/modules/apps/27-interchain-accounts/types"
- ibctesting "github.com/cosmos/ibc-go/v3/testing"
+ "github.com/cosmos/ibc-go/v4/modules/apps/27-interchain-accounts/types"
+ ibctesting "github.com/cosmos/ibc-go/v4/testing"
)
func (suite *TypesTestSuite) TestNewControllerPortID() {
diff --git a/modules/apps/29-fee/client/cli/query.go b/modules/apps/29-fee/client/cli/query.go
index 3714c576748..815eec4d35b 100644
--- a/modules/apps/29-fee/client/cli/query.go
+++ b/modules/apps/29-fee/client/cli/query.go
@@ -8,9 +8,10 @@ import (
"github.com/cosmos/cosmos-sdk/client/flags"
sdk "github.com/cosmos/cosmos-sdk/types"
"github.com/cosmos/cosmos-sdk/version"
- "github.com/cosmos/ibc-go/v3/modules/apps/29-fee/types"
- channeltypes "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types"
"github.com/spf13/cobra"
+
+ "github.com/cosmos/ibc-go/v4/modules/apps/29-fee/types"
+ channeltypes "github.com/cosmos/ibc-go/v4/modules/core/04-channel/types"
)
// GetCmdIncentivizedPacket returns the unrelayed incentivized packet for a given packetID
diff --git a/modules/apps/29-fee/client/cli/tx.go b/modules/apps/29-fee/client/cli/tx.go
index ef038ac7fd5..c31779c22f6 100644
--- a/modules/apps/29-fee/client/cli/tx.go
+++ b/modules/apps/29-fee/client/cli/tx.go
@@ -12,8 +12,8 @@ import (
"github.com/cosmos/cosmos-sdk/version"
"github.com/spf13/cobra"
- "github.com/cosmos/ibc-go/v3/modules/apps/29-fee/types"
- channeltypes "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types"
+ "github.com/cosmos/ibc-go/v4/modules/apps/29-fee/types"
+ channeltypes "github.com/cosmos/ibc-go/v4/modules/core/04-channel/types"
)
const (
diff --git a/modules/apps/29-fee/fee_test.go b/modules/apps/29-fee/fee_test.go
index d2445adef22..33ac52a60b0 100644
--- a/modules/apps/29-fee/fee_test.go
+++ b/modules/apps/29-fee/fee_test.go
@@ -5,11 +5,11 @@ import (
"github.com/stretchr/testify/suite"
- "github.com/cosmos/ibc-go/v3/modules/apps/29-fee/types"
- clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types"
- channeltypes "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types"
- ibctesting "github.com/cosmos/ibc-go/v3/testing"
- ibcmock "github.com/cosmos/ibc-go/v3/testing/mock"
+ "github.com/cosmos/ibc-go/v4/modules/apps/29-fee/types"
+ clienttypes "github.com/cosmos/ibc-go/v4/modules/core/02-client/types"
+ channeltypes "github.com/cosmos/ibc-go/v4/modules/core/04-channel/types"
+ ibctesting "github.com/cosmos/ibc-go/v4/testing"
+ ibcmock "github.com/cosmos/ibc-go/v4/testing/mock"
)
type FeeTestSuite struct {
diff --git a/modules/apps/29-fee/ibc_middleware.go b/modules/apps/29-fee/ibc_middleware.go
index 6a0477f5508..2cbce3d2f9d 100644
--- a/modules/apps/29-fee/ibc_middleware.go
+++ b/modules/apps/29-fee/ibc_middleware.go
@@ -7,11 +7,11 @@ import (
sdkerrors "github.com/cosmos/cosmos-sdk/types/errors"
capabilitytypes "github.com/cosmos/cosmos-sdk/x/capability/types"
- "github.com/cosmos/ibc-go/v3/modules/apps/29-fee/keeper"
- "github.com/cosmos/ibc-go/v3/modules/apps/29-fee/types"
- channeltypes "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types"
- porttypes "github.com/cosmos/ibc-go/v3/modules/core/05-port/types"
- "github.com/cosmos/ibc-go/v3/modules/core/exported"
+ "github.com/cosmos/ibc-go/v4/modules/apps/29-fee/keeper"
+ "github.com/cosmos/ibc-go/v4/modules/apps/29-fee/types"
+ channeltypes "github.com/cosmos/ibc-go/v4/modules/core/04-channel/types"
+ porttypes "github.com/cosmos/ibc-go/v4/modules/core/05-port/types"
+ "github.com/cosmos/ibc-go/v4/modules/core/exported"
)
var _ porttypes.Middleware = &IBCMiddleware{}
@@ -224,7 +224,7 @@ func (im IBCMiddleware) OnRecvPacket(
ack := im.app.OnRecvPacket(ctx, packet, relayer)
- // incase of async aknowledgement (ack == nil) store the relayer address for use later during async WriteAcknowledgement
+ // in case of async aknowledgement (ack == nil) store the relayer address for use later during async WriteAcknowledgement
if ack == nil {
im.keeper.SetRelayerAddressForAsyncAck(ctx, channeltypes.NewPacketId(packet.GetDestPort(), packet.GetDestChannel(), packet.GetSequence()), relayer.String())
return nil
diff --git a/modules/apps/29-fee/ibc_middleware_test.go b/modules/apps/29-fee/ibc_middleware_test.go
index b5478fb1c51..ea7cdcae8b6 100644
--- a/modules/apps/29-fee/ibc_middleware_test.go
+++ b/modules/apps/29-fee/ibc_middleware_test.go
@@ -6,14 +6,14 @@ import (
sdk "github.com/cosmos/cosmos-sdk/types"
capabilitytypes "github.com/cosmos/cosmos-sdk/x/capability/types"
- fee "github.com/cosmos/ibc-go/v3/modules/apps/29-fee"
- "github.com/cosmos/ibc-go/v3/modules/apps/29-fee/types"
- transfertypes "github.com/cosmos/ibc-go/v3/modules/apps/transfer/types"
- channeltypes "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types"
- host "github.com/cosmos/ibc-go/v3/modules/core/24-host"
- "github.com/cosmos/ibc-go/v3/modules/core/exported"
- ibctesting "github.com/cosmos/ibc-go/v3/testing"
- ibcmock "github.com/cosmos/ibc-go/v3/testing/mock"
+ fee "github.com/cosmos/ibc-go/v4/modules/apps/29-fee"
+ "github.com/cosmos/ibc-go/v4/modules/apps/29-fee/types"
+ transfertypes "github.com/cosmos/ibc-go/v4/modules/apps/transfer/types"
+ channeltypes "github.com/cosmos/ibc-go/v4/modules/core/04-channel/types"
+ host "github.com/cosmos/ibc-go/v4/modules/core/24-host"
+ "github.com/cosmos/ibc-go/v4/modules/core/exported"
+ ibctesting "github.com/cosmos/ibc-go/v4/testing"
+ ibcmock "github.com/cosmos/ibc-go/v4/testing/mock"
)
var (
@@ -141,38 +141,27 @@ func (suite *FeeTestSuite) TestOnChanOpenTry() {
testCases := []struct {
name string
cpVersion string
- crossing bool
expPass bool
}{
{
"success - valid fee middleware version",
string(types.ModuleCdc.MustMarshalJSON(&types.Metadata{FeeVersion: types.Version, AppVersion: ibcmock.Version})),
- false,
true,
},
{
"success - valid mock version",
ibcmock.Version,
- false,
- true,
- },
- {
- "success - crossing hellos: valid fee middleware",
- string(types.ModuleCdc.MustMarshalJSON(&types.Metadata{FeeVersion: types.Version, AppVersion: ibcmock.Version})),
- true,
true,
},
{
"invalid fee middleware version",
string(types.ModuleCdc.MustMarshalJSON(&types.Metadata{FeeVersion: "invalid-ics29-1", AppVersion: ibcmock.Version})),
false,
- false,
},
{
"invalid mock version",
string(types.ModuleCdc.MustMarshalJSON(&types.Metadata{FeeVersion: types.Version, AppVersion: "invalid-mock-version"})),
false,
- false,
},
}
@@ -201,14 +190,9 @@ func (suite *FeeTestSuite) TestOnChanOpenTry() {
ok bool
err error
)
- if tc.crossing {
- suite.path.EndpointA.ChanOpenInit()
- chanCap, ok = suite.chainA.GetSimApp().ScopedFeeMockKeeper.GetCapability(suite.chainA.GetContext(), host.ChannelCapabilityPath(suite.path.EndpointA.ChannelConfig.PortID, suite.path.EndpointA.ChannelID))
- suite.Require().True(ok)
- } else {
- chanCap, err = suite.chainA.App.GetScopedIBCKeeper().NewCapability(suite.chainA.GetContext(), host.ChannelCapabilityPath(suite.path.EndpointA.ChannelConfig.PortID, suite.path.EndpointA.ChannelID))
- suite.Require().NoError(err)
- }
+
+ chanCap, err = suite.chainA.App.GetScopedIBCKeeper().NewCapability(suite.chainA.GetContext(), host.ChannelCapabilityPath(suite.path.EndpointA.ChannelConfig.PortID, suite.path.EndpointA.ChannelID))
+ suite.Require().NoError(err)
suite.path.EndpointA.ChannelID = ibctesting.FirstChannelID
diff --git a/modules/apps/29-fee/ica_test.go b/modules/apps/29-fee/ica_test.go
index d8cd4e4ce05..bc10f4941dd 100644
--- a/modules/apps/29-fee/ica_test.go
+++ b/modules/apps/29-fee/ica_test.go
@@ -5,12 +5,12 @@ import (
banktypes "github.com/cosmos/cosmos-sdk/x/bank/types"
stakingtypes "github.com/cosmos/cosmos-sdk/x/staking/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/ibc-go/v3/modules/apps/29-fee/types"
- clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types"
- channeltypes "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types"
- ibctesting "github.com/cosmos/ibc-go/v3/testing"
+ icahosttypes "github.com/cosmos/ibc-go/v4/modules/apps/27-interchain-accounts/host/types"
+ icatypes "github.com/cosmos/ibc-go/v4/modules/apps/27-interchain-accounts/types"
+ "github.com/cosmos/ibc-go/v4/modules/apps/29-fee/types"
+ clienttypes "github.com/cosmos/ibc-go/v4/modules/core/02-client/types"
+ channeltypes "github.com/cosmos/ibc-go/v4/modules/core/04-channel/types"
+ ibctesting "github.com/cosmos/ibc-go/v4/testing"
)
var (
diff --git a/modules/apps/29-fee/keeper/escrow.go b/modules/apps/29-fee/keeper/escrow.go
index 9755fb45e8d..fed2398f142 100644
--- a/modules/apps/29-fee/keeper/escrow.go
+++ b/modules/apps/29-fee/keeper/escrow.go
@@ -7,8 +7,8 @@ import (
sdk "github.com/cosmos/cosmos-sdk/types"
sdkerrors "github.com/cosmos/cosmos-sdk/types/errors"
- "github.com/cosmos/ibc-go/v3/modules/apps/29-fee/types"
- channeltypes "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types"
+ "github.com/cosmos/ibc-go/v4/modules/apps/29-fee/types"
+ channeltypes "github.com/cosmos/ibc-go/v4/modules/core/04-channel/types"
)
// escrowPacketFee sends the packet fee to the 29-fee module account to hold in escrow
diff --git a/modules/apps/29-fee/keeper/escrow_test.go b/modules/apps/29-fee/keeper/escrow_test.go
index 0ab829877ea..b1891e4e4e4 100644
--- a/modules/apps/29-fee/keeper/escrow_test.go
+++ b/modules/apps/29-fee/keeper/escrow_test.go
@@ -2,11 +2,12 @@ package keeper_test
import (
sdk "github.com/cosmos/cosmos-sdk/types"
- "github.com/cosmos/ibc-go/v3/modules/apps/29-fee/types"
- transfertypes "github.com/cosmos/ibc-go/v3/modules/apps/transfer/types"
- channeltypes "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types"
- "github.com/cosmos/ibc-go/v3/testing/mock"
"github.com/tendermint/tendermint/crypto/secp256k1"
+
+ "github.com/cosmos/ibc-go/v4/modules/apps/29-fee/types"
+ transfertypes "github.com/cosmos/ibc-go/v4/modules/apps/transfer/types"
+ channeltypes "github.com/cosmos/ibc-go/v4/modules/core/04-channel/types"
+ "github.com/cosmos/ibc-go/v4/testing/mock"
)
func (suite *KeeperTestSuite) TestDistributeFee() {
diff --git a/modules/apps/29-fee/keeper/events.go b/modules/apps/29-fee/keeper/events.go
index 36207dbc5db..162542f4e4d 100644
--- a/modules/apps/29-fee/keeper/events.go
+++ b/modules/apps/29-fee/keeper/events.go
@@ -5,8 +5,8 @@ import (
sdk "github.com/cosmos/cosmos-sdk/types"
- "github.com/cosmos/ibc-go/v3/modules/apps/29-fee/types"
- channeltypes "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types"
+ "github.com/cosmos/ibc-go/v4/modules/apps/29-fee/types"
+ channeltypes "github.com/cosmos/ibc-go/v4/modules/core/04-channel/types"
)
// EmitIncentivizedPacketEvent emits an event containing information on the total amount of fees incentivizing
@@ -27,7 +27,7 @@ func EmitIncentivizedPacketEvent(ctx sdk.Context, packetID channeltypes.PacketId
}
}
- ctx.EventManager().EmitEvent(
+ ctx.EventManager().EmitEvents(sdk.Events{
sdk.NewEvent(
types.EventTypeIncentivizedPacket,
sdk.NewAttribute(channeltypes.AttributeKeyPortID, packetID.PortId),
@@ -37,7 +37,11 @@ func EmitIncentivizedPacketEvent(ctx sdk.Context, packetID channeltypes.PacketId
sdk.NewAttribute(types.AttributeKeyAckFee, totalAckFees.String()),
sdk.NewAttribute(types.AttributeKeyTimeoutFee, totalTimeoutFees.String()),
),
- )
+ sdk.NewEvent(
+ sdk.EventTypeMessage,
+ sdk.NewAttribute(sdk.AttributeKeyModule, types.ModuleName),
+ ),
+ })
}
// EmitRegisterPayeeEvent emits an event containing information of a registered payee for a relayer on a particular channel
diff --git a/modules/apps/29-fee/keeper/events_test.go b/modules/apps/29-fee/keeper/events_test.go
index 8ab52295e73..2dc1f8c91c4 100644
--- a/modules/apps/29-fee/keeper/events_test.go
+++ b/modules/apps/29-fee/keeper/events_test.go
@@ -4,7 +4,7 @@ import (
sdk "github.com/cosmos/cosmos-sdk/types"
abcitypes "github.com/tendermint/tendermint/abci/types"
- "github.com/cosmos/ibc-go/v3/modules/apps/29-fee/types"
+ "github.com/cosmos/ibc-go/v4/modules/apps/29-fee/types"
)
func (suite *KeeperTestSuite) TestIncentivizePacketEvent() {
diff --git a/modules/apps/29-fee/keeper/genesis.go b/modules/apps/29-fee/keeper/genesis.go
index 24e5ddd1ece..150058a734e 100644
--- a/modules/apps/29-fee/keeper/genesis.go
+++ b/modules/apps/29-fee/keeper/genesis.go
@@ -3,7 +3,7 @@ package keeper
import (
sdk "github.com/cosmos/cosmos-sdk/types"
- "github.com/cosmos/ibc-go/v3/modules/apps/29-fee/types"
+ "github.com/cosmos/ibc-go/v4/modules/apps/29-fee/types"
)
// InitGenesis initializes the fee middleware application state from a provided genesis state
diff --git a/modules/apps/29-fee/keeper/genesis_test.go b/modules/apps/29-fee/keeper/genesis_test.go
index f26a1b9116d..4aebd5121a9 100644
--- a/modules/apps/29-fee/keeper/genesis_test.go
+++ b/modules/apps/29-fee/keeper/genesis_test.go
@@ -1,9 +1,9 @@
package keeper_test
import (
- "github.com/cosmos/ibc-go/v3/modules/apps/29-fee/types"
- channeltypes "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types"
- ibctesting "github.com/cosmos/ibc-go/v3/testing"
+ "github.com/cosmos/ibc-go/v4/modules/apps/29-fee/types"
+ channeltypes "github.com/cosmos/ibc-go/v4/modules/core/04-channel/types"
+ ibctesting "github.com/cosmos/ibc-go/v4/testing"
)
func (suite *KeeperTestSuite) TestInitGenesis() {
diff --git a/modules/apps/29-fee/keeper/grpc_query.go b/modules/apps/29-fee/keeper/grpc_query.go
index 4abe16cbe90..3f92686f51f 100644
--- a/modules/apps/29-fee/keeper/grpc_query.go
+++ b/modules/apps/29-fee/keeper/grpc_query.go
@@ -10,7 +10,7 @@ import (
"google.golang.org/grpc/codes"
"google.golang.org/grpc/status"
- "github.com/cosmos/ibc-go/v3/modules/apps/29-fee/types"
+ "github.com/cosmos/ibc-go/v4/modules/apps/29-fee/types"
)
var _ types.QueryServer = Keeper{}
diff --git a/modules/apps/29-fee/keeper/grpc_query_test.go b/modules/apps/29-fee/keeper/grpc_query_test.go
index 42a9091178a..1286f3c3350 100644
--- a/modules/apps/29-fee/keeper/grpc_query_test.go
+++ b/modules/apps/29-fee/keeper/grpc_query_test.go
@@ -7,9 +7,9 @@ import (
"github.com/cosmos/cosmos-sdk/types/query"
"github.com/tendermint/tendermint/crypto/secp256k1"
- "github.com/cosmos/ibc-go/v3/modules/apps/29-fee/types"
- channeltypes "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types"
- ibctesting "github.com/cosmos/ibc-go/v3/testing"
+ "github.com/cosmos/ibc-go/v4/modules/apps/29-fee/types"
+ channeltypes "github.com/cosmos/ibc-go/v4/modules/core/04-channel/types"
+ ibctesting "github.com/cosmos/ibc-go/v4/testing"
)
func (suite *KeeperTestSuite) TestQueryIncentivizedPackets() {
diff --git a/modules/apps/29-fee/keeper/keeper.go b/modules/apps/29-fee/keeper/keeper.go
index c94f661c904..c60942debea 100644
--- a/modules/apps/29-fee/keeper/keeper.go
+++ b/modules/apps/29-fee/keeper/keeper.go
@@ -7,9 +7,9 @@ import (
paramtypes "github.com/cosmos/cosmos-sdk/x/params/types"
"github.com/tendermint/tendermint/libs/log"
- "github.com/cosmos/ibc-go/v3/modules/apps/29-fee/types"
- channeltypes "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types"
- host "github.com/cosmos/ibc-go/v3/modules/core/24-host"
+ "github.com/cosmos/ibc-go/v4/modules/apps/29-fee/types"
+ channeltypes "github.com/cosmos/ibc-go/v4/modules/core/04-channel/types"
+ host "github.com/cosmos/ibc-go/v4/modules/core/24-host"
)
// Middleware must implement types.ChannelKeeper and types.PortKeeper expected interfaces
diff --git a/modules/apps/29-fee/keeper/keeper_test.go b/modules/apps/29-fee/keeper/keeper_test.go
index f72888599e8..e4a6a8ab0d8 100644
--- a/modules/apps/29-fee/keeper/keeper_test.go
+++ b/modules/apps/29-fee/keeper/keeper_test.go
@@ -8,10 +8,10 @@ import (
sdk "github.com/cosmos/cosmos-sdk/types"
"github.com/stretchr/testify/suite"
- "github.com/cosmos/ibc-go/v3/modules/apps/29-fee/types"
- channeltypes "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types"
- ibctesting "github.com/cosmos/ibc-go/v3/testing"
- ibcmock "github.com/cosmos/ibc-go/v3/testing/mock"
+ "github.com/cosmos/ibc-go/v4/modules/apps/29-fee/types"
+ channeltypes "github.com/cosmos/ibc-go/v4/modules/core/04-channel/types"
+ ibctesting "github.com/cosmos/ibc-go/v4/testing"
+ ibcmock "github.com/cosmos/ibc-go/v4/testing/mock"
)
var (
diff --git a/modules/apps/29-fee/keeper/msg_server.go b/modules/apps/29-fee/keeper/msg_server.go
index 1acb153594f..c2beea28da3 100644
--- a/modules/apps/29-fee/keeper/msg_server.go
+++ b/modules/apps/29-fee/keeper/msg_server.go
@@ -6,8 +6,8 @@ import (
sdk "github.com/cosmos/cosmos-sdk/types"
sdkerrors "github.com/cosmos/cosmos-sdk/types/errors"
- "github.com/cosmos/ibc-go/v3/modules/apps/29-fee/types"
- channeltypes "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types"
+ "github.com/cosmos/ibc-go/v4/modules/apps/29-fee/types"
+ channeltypes "github.com/cosmos/ibc-go/v4/modules/core/04-channel/types"
)
var _ types.MsgServer = Keeper{}
diff --git a/modules/apps/29-fee/keeper/msg_server_test.go b/modules/apps/29-fee/keeper/msg_server_test.go
index cdcbe574d1c..e0c84d62c9b 100644
--- a/modules/apps/29-fee/keeper/msg_server_test.go
+++ b/modules/apps/29-fee/keeper/msg_server_test.go
@@ -2,12 +2,12 @@ package keeper_test
import (
sdk "github.com/cosmos/cosmos-sdk/types"
-
disttypes "github.com/cosmos/cosmos-sdk/x/distribution/types"
- "github.com/cosmos/ibc-go/v3/modules/apps/29-fee/types"
- clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types"
- channeltypes "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types"
- ibctesting "github.com/cosmos/ibc-go/v3/testing"
+
+ "github.com/cosmos/ibc-go/v4/modules/apps/29-fee/types"
+ clienttypes "github.com/cosmos/ibc-go/v4/modules/core/02-client/types"
+ channeltypes "github.com/cosmos/ibc-go/v4/modules/core/04-channel/types"
+ ibctesting "github.com/cosmos/ibc-go/v4/testing"
)
func (suite *KeeperTestSuite) TestRegisterPayee() {
diff --git a/modules/apps/29-fee/keeper/relay.go b/modules/apps/29-fee/keeper/relay.go
index 0c14726c9ed..8c2e90f89c7 100644
--- a/modules/apps/29-fee/keeper/relay.go
+++ b/modules/apps/29-fee/keeper/relay.go
@@ -7,9 +7,9 @@ import (
sdkerrors "github.com/cosmos/cosmos-sdk/types/errors"
capabilitytypes "github.com/cosmos/cosmos-sdk/x/capability/types"
- "github.com/cosmos/ibc-go/v3/modules/apps/29-fee/types"
- channeltypes "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types"
- ibcexported "github.com/cosmos/ibc-go/v3/modules/core/exported"
+ "github.com/cosmos/ibc-go/v4/modules/apps/29-fee/types"
+ channeltypes "github.com/cosmos/ibc-go/v4/modules/core/04-channel/types"
+ ibcexported "github.com/cosmos/ibc-go/v4/modules/core/exported"
)
// SendPacket wraps IBC ChannelKeeper's SendPacket function
diff --git a/modules/apps/29-fee/keeper/relay_test.go b/modules/apps/29-fee/keeper/relay_test.go
index 5dd0aa15815..ca58b1661af 100644
--- a/modules/apps/29-fee/keeper/relay_test.go
+++ b/modules/apps/29-fee/keeper/relay_test.go
@@ -1,11 +1,11 @@
package keeper_test
import (
- "github.com/cosmos/ibc-go/v3/modules/apps/29-fee/types"
- clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types"
- channeltypes "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types"
- ibctesting "github.com/cosmos/ibc-go/v3/testing"
- ibcmock "github.com/cosmos/ibc-go/v3/testing/mock"
+ "github.com/cosmos/ibc-go/v4/modules/apps/29-fee/types"
+ clienttypes "github.com/cosmos/ibc-go/v4/modules/core/02-client/types"
+ channeltypes "github.com/cosmos/ibc-go/v4/modules/core/04-channel/types"
+ ibctesting "github.com/cosmos/ibc-go/v4/testing"
+ ibcmock "github.com/cosmos/ibc-go/v4/testing/mock"
)
func (suite *KeeperTestSuite) TestWriteAcknowledgementAsync() {
diff --git a/modules/apps/29-fee/module.go b/modules/apps/29-fee/module.go
index 895a475b512..a9bb1ca0d7c 100644
--- a/modules/apps/29-fee/module.go
+++ b/modules/apps/29-fee/module.go
@@ -17,9 +17,9 @@ import (
"github.com/spf13/cobra"
abci "github.com/tendermint/tendermint/abci/types"
- "github.com/cosmos/ibc-go/v3/modules/apps/29-fee/client/cli"
- "github.com/cosmos/ibc-go/v3/modules/apps/29-fee/keeper"
- "github.com/cosmos/ibc-go/v3/modules/apps/29-fee/types"
+ "github.com/cosmos/ibc-go/v4/modules/apps/29-fee/client/cli"
+ "github.com/cosmos/ibc-go/v4/modules/apps/29-fee/keeper"
+ "github.com/cosmos/ibc-go/v4/modules/apps/29-fee/types"
)
var (
diff --git a/modules/apps/29-fee/transfer_test.go b/modules/apps/29-fee/transfer_test.go
index be91db917ed..12a7a556e66 100644
--- a/modules/apps/29-fee/transfer_test.go
+++ b/modules/apps/29-fee/transfer_test.go
@@ -3,10 +3,10 @@ package fee_test
import (
sdk "github.com/cosmos/cosmos-sdk/types"
- "github.com/cosmos/ibc-go/v3/modules/apps/29-fee/types"
- transfertypes "github.com/cosmos/ibc-go/v3/modules/apps/transfer/types"
- clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types"
- ibctesting "github.com/cosmos/ibc-go/v3/testing"
+ "github.com/cosmos/ibc-go/v4/modules/apps/29-fee/types"
+ transfertypes "github.com/cosmos/ibc-go/v4/modules/apps/transfer/types"
+ clienttypes "github.com/cosmos/ibc-go/v4/modules/core/02-client/types"
+ ibctesting "github.com/cosmos/ibc-go/v4/testing"
)
// Integration test to ensure ics29 works with ics20
diff --git a/modules/apps/29-fee/types/ack.pb.go b/modules/apps/29-fee/types/ack.pb.go
index 3a3e6eae58e..890ba0b76d0 100644
--- a/modules/apps/29-fee/types/ack.pb.go
+++ b/modules/apps/29-fee/types/ack.pb.go
@@ -94,28 +94,28 @@ func init() {
func init() { proto.RegisterFile("ibc/applications/fee/v1/ack.proto", fileDescriptor_ab2834946fb65ea4) }
var fileDescriptor_ab2834946fb65ea4 = []byte{
- // 329 bytes of a gzipped FileDescriptorProto
- 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x74, 0x91, 0xb1, 0x4e, 0xc2, 0x40,
- 0x1c, 0xc6, 0x29, 0x26, 0x46, 0x1b, 0xa7, 0x8a, 0x42, 0x30, 0x39, 0xb0, 0x13, 0x0b, 0xbd, 0x20,
- 0x71, 0xd0, 0x0d, 0x36, 0x27, 0x92, 0xba, 0x18, 0x96, 0xe6, 0x7a, 0xfd, 0x53, 0x2f, 0x5c, 0xef,
- 0x2e, 0x77, 0x6d, 0x49, 0x7d, 0x0a, 0x1f, 0xc2, 0x87, 0x71, 0x64, 0x74, 0x22, 0x06, 0xde, 0x80,
- 0x27, 0x30, 0xa5, 0x26, 0xa2, 0xc1, 0xed, 0xf2, 0x7d, 0xbf, 0xfc, 0x72, 0xf9, 0x7f, 0xf6, 0x35,
- 0x0b, 0x29, 0x26, 0x4a, 0x71, 0x46, 0x49, 0xca, 0xa4, 0x30, 0x78, 0x06, 0x80, 0xf3, 0x01, 0x26,
- 0x74, 0xee, 0x29, 0x2d, 0x53, 0xe9, 0x34, 0x59, 0x48, 0xbd, 0x7d, 0xc4, 0x9b, 0x01, 0x78, 0xf9,
- 0xa0, 0xdd, 0x88, 0x65, 0x2c, 0x77, 0x0c, 0x2e, 0x5f, 0x15, 0xee, 0xbe, 0xd5, 0xed, 0xab, 0x07,
- 0x41, 0x41, 0xa4, 0x2c, 0x67, 0x2f, 0x10, 0x8d, 0xe8, 0x5c, 0xc8, 0x05, 0x87, 0x28, 0x86, 0x04,
- 0x44, 0xea, 0x4c, 0xec, 0x73, 0xa2, 0x54, 0x40, 0x7e, 0xc7, 0x2d, 0xab, 0x6b, 0xf5, 0xce, 0xc6,
- 0x68, 0xbb, 0xea, 0xb4, 0x0b, 0x92, 0xf0, 0x7b, 0xf7, 0x00, 0xe4, 0xfa, 0x0e, 0x51, 0xea, 0xaf,
- 0x70, 0x6a, 0x37, 0x67, 0x52, 0x2f, 0x88, 0x8e, 0x02, 0x0d, 0x9c, 0x14, 0xa0, 0x03, 0x12, 0x45,
- 0x1a, 0x8c, 0x69, 0xd5, 0xbb, 0x56, 0xef, 0x74, 0xec, 0x6e, 0x57, 0x1d, 0x54, 0x49, 0xff, 0x01,
- 0x5d, 0xff, 0xe2, 0xbb, 0xf1, 0xab, 0x62, 0x54, 0xe5, 0xce, 0x93, 0x7d, 0x99, 0x89, 0x08, 0x34,
- 0x2f, 0x98, 0x88, 0x83, 0xf2, 0x4b, 0x26, 0xa3, 0xb4, 0x54, 0x1f, 0x75, 0xad, 0xde, 0xc9, 0xbe,
- 0xfa, 0x30, 0xc7, 0x5d, 0xbf, 0xf1, 0xd3, 0x8c, 0x94, 0x7a, 0xac, 0xf2, 0xf1, 0xe4, 0x7d, 0x8d,
- 0xac, 0xe5, 0x1a, 0x59, 0x9f, 0x6b, 0x64, 0xbd, 0x6e, 0x50, 0x6d, 0xb9, 0x41, 0xb5, 0x8f, 0x0d,
- 0xaa, 0x4d, 0x6f, 0x63, 0x96, 0x3e, 0x67, 0xa1, 0x47, 0x65, 0x82, 0xa9, 0x34, 0x89, 0x34, 0x98,
- 0x85, 0xb4, 0x1f, 0x4b, 0x9c, 0x0f, 0x71, 0x22, 0xa3, 0x8c, 0x83, 0x29, 0x27, 0x33, 0xf8, 0xe6,
- 0xae, 0x5f, 0xae, 0x95, 0x16, 0x0a, 0x4c, 0x78, 0xbc, 0x3b, 0xff, 0xf0, 0x2b, 0x00, 0x00, 0xff,
- 0xff, 0x08, 0xe8, 0xda, 0xf9, 0xd2, 0x01, 0x00, 0x00,
+ // 330 bytes of a gzipped FileDescriptorProto
+ 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x74, 0x91, 0xbf, 0x4e, 0xc2, 0x40,
+ 0x1c, 0xc7, 0x29, 0x26, 0x46, 0x1b, 0xa7, 0x8a, 0x42, 0x30, 0x39, 0xb0, 0x13, 0x0b, 0xbd, 0xe0,
+ 0x9f, 0x41, 0x37, 0xd8, 0x9c, 0x48, 0xea, 0x62, 0x58, 0x9a, 0xeb, 0xf5, 0x47, 0xbd, 0x70, 0xbd,
+ 0xbb, 0xdc, 0xb5, 0x25, 0xf5, 0x29, 0x7c, 0x08, 0x1f, 0xc6, 0x91, 0xd1, 0x89, 0x18, 0x78, 0x03,
+ 0x9e, 0xc0, 0x94, 0x9a, 0x88, 0x06, 0xb7, 0xcb, 0xf7, 0xfb, 0xc9, 0x27, 0x97, 0xdf, 0xd7, 0xbe,
+ 0x64, 0x21, 0xc5, 0x44, 0x29, 0xce, 0x28, 0x49, 0x99, 0x14, 0x06, 0x4f, 0x01, 0x70, 0x3e, 0xc0,
+ 0x84, 0xce, 0x3c, 0xa5, 0x65, 0x2a, 0x9d, 0x26, 0x0b, 0xa9, 0xb7, 0x8b, 0x78, 0x53, 0x00, 0x2f,
+ 0x1f, 0xb4, 0x1b, 0xb1, 0x8c, 0xe5, 0x96, 0xc1, 0xe5, 0xab, 0xc2, 0xdd, 0xb7, 0xba, 0x7d, 0xf1,
+ 0x20, 0x28, 0x88, 0x94, 0xe5, 0xec, 0x05, 0xa2, 0x21, 0x9d, 0x09, 0x39, 0xe7, 0x10, 0xc5, 0x90,
+ 0x80, 0x48, 0x9d, 0xb1, 0x7d, 0x4a, 0x94, 0x0a, 0xc8, 0xef, 0xb8, 0x65, 0x75, 0xad, 0xde, 0xc9,
+ 0x08, 0x6d, 0x96, 0x9d, 0x76, 0x41, 0x12, 0x7e, 0xef, 0xee, 0x81, 0x5c, 0xdf, 0x21, 0x4a, 0xfd,
+ 0x15, 0x4e, 0xec, 0xe6, 0x54, 0xea, 0x39, 0xd1, 0x51, 0xa0, 0x81, 0x93, 0x02, 0x74, 0x40, 0xa2,
+ 0x48, 0x83, 0x31, 0xad, 0x7a, 0xd7, 0xea, 0x1d, 0x8f, 0xdc, 0xcd, 0xb2, 0x83, 0x2a, 0xe9, 0x3f,
+ 0xa0, 0xeb, 0x9f, 0x7d, 0x37, 0x7e, 0x55, 0x0c, 0xab, 0xdc, 0x79, 0xb2, 0xcf, 0x33, 0x11, 0x81,
+ 0xe6, 0x05, 0x13, 0x71, 0x50, 0x7e, 0xc9, 0x64, 0x94, 0x96, 0xea, 0x83, 0xae, 0xd5, 0x3b, 0xda,
+ 0x55, 0xef, 0xe7, 0xb8, 0xeb, 0x37, 0x7e, 0x9a, 0xa1, 0x52, 0x8f, 0x55, 0x3e, 0x1a, 0xbf, 0xaf,
+ 0x90, 0xb5, 0x58, 0x21, 0xeb, 0x73, 0x85, 0xac, 0xd7, 0x35, 0xaa, 0x2d, 0xd6, 0xa8, 0xf6, 0xb1,
+ 0x46, 0xb5, 0xc9, 0x6d, 0xcc, 0xd2, 0xe7, 0x2c, 0xf4, 0xa8, 0x4c, 0x30, 0x95, 0x26, 0x91, 0x06,
+ 0xb3, 0x90, 0xf6, 0x63, 0x89, 0xf3, 0x1b, 0x9c, 0xc8, 0x28, 0xe3, 0x60, 0xca, 0xc9, 0x0c, 0xbe,
+ 0xba, 0xeb, 0x97, 0x6b, 0xa5, 0x85, 0x02, 0x13, 0x1e, 0x6e, 0xcf, 0x7f, 0xfd, 0x15, 0x00, 0x00,
+ 0xff, 0xff, 0xb3, 0x85, 0x93, 0xfa, 0xd2, 0x01, 0x00, 0x00,
}
func (m *IncentivizedAcknowledgement) Marshal() (dAtA []byte, err error) {
diff --git a/modules/apps/29-fee/types/expected_keepers.go b/modules/apps/29-fee/types/expected_keepers.go
index f725ff764b3..9e6abfd358b 100644
--- a/modules/apps/29-fee/types/expected_keepers.go
+++ b/modules/apps/29-fee/types/expected_keepers.go
@@ -4,8 +4,9 @@ import (
sdk "github.com/cosmos/cosmos-sdk/types"
"github.com/cosmos/cosmos-sdk/x/auth/types"
capabilitytypes "github.com/cosmos/cosmos-sdk/x/capability/types"
- channeltypes "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types"
- ibcexported "github.com/cosmos/ibc-go/v3/modules/core/exported"
+
+ channeltypes "github.com/cosmos/ibc-go/v4/modules/core/04-channel/types"
+ ibcexported "github.com/cosmos/ibc-go/v4/modules/core/exported"
)
// AccountKeeper defines the contract required for account APIs.
diff --git a/modules/apps/29-fee/types/fee.go b/modules/apps/29-fee/types/fee.go
index 1f979c732d8..774d8857e56 100644
--- a/modules/apps/29-fee/types/fee.go
+++ b/modules/apps/29-fee/types/fee.go
@@ -6,7 +6,7 @@ import (
sdk "github.com/cosmos/cosmos-sdk/types"
sdkerrors "github.com/cosmos/cosmos-sdk/types/errors"
- channeltypes "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types"
+ channeltypes "github.com/cosmos/ibc-go/v4/modules/core/04-channel/types"
)
// NewPacketFee creates and returns a new PacketFee struct including the incentivization fees, refund addres and relayers
diff --git a/modules/apps/29-fee/types/fee.pb.go b/modules/apps/29-fee/types/fee.pb.go
index 1867eb351e5..d36f5e7cb18 100644
--- a/modules/apps/29-fee/types/fee.pb.go
+++ b/modules/apps/29-fee/types/fee.pb.go
@@ -7,7 +7,7 @@ import (
fmt "fmt"
github_com_cosmos_cosmos_sdk_types "github.com/cosmos/cosmos-sdk/types"
types "github.com/cosmos/cosmos-sdk/types"
- types1 "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types"
+ types1 "github.com/cosmos/ibc-go/v4/modules/core/04-channel/types"
_ "github.com/gogo/protobuf/gogoproto"
proto "github.com/gogo/protobuf/proto"
io "io"
@@ -268,7 +268,7 @@ var fileDescriptor_cb3319f1af2a53e5 = []byte{
// 525 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x94, 0x31, 0x6f, 0x13, 0x31,
0x14, 0xc7, 0x73, 0x09, 0x6a, 0x1b, 0x47, 0x14, 0x74, 0x2a, 0x22, 0x8d, 0xe0, 0x52, 0x3c, 0x65,
- 0x89, 0xad, 0xa4, 0x30, 0xc0, 0x04, 0x57, 0x29, 0x52, 0x27, 0xd0, 0x89, 0x89, 0x25, 0xf2, 0xd9,
+ 0x89, 0xad, 0x84, 0x32, 0xc0, 0x04, 0x57, 0x29, 0x52, 0x27, 0xd0, 0x89, 0x89, 0x25, 0xf2, 0xd9,
0x2f, 0xa9, 0x95, 0xdc, 0xf9, 0x74, 0xbe, 0x44, 0xca, 0xca, 0x27, 0xe0, 0x1b, 0xb0, 0xf3, 0x49,
0xba, 0x20, 0x75, 0x64, 0x0a, 0x28, 0xf9, 0x06, 0xdd, 0x91, 0x90, 0x7d, 0x4e, 0x94, 0x82, 0xaa,
0xaa, 0x12, 0xd3, 0xf9, 0xd9, 0xef, 0xef, 0xdf, 0xb3, 0xdf, 0xff, 0x8c, 0x5e, 0xc8, 0x98, 0x53,
@@ -285,20 +285,20 @@ var fileDescriptor_cb3319f1af2a53e5 = []byte{
0x1d, 0xf9, 0xb0, 0x24, 0x3b, 0xdd, 0xfd, 0xc0, 0x7b, 0x8c, 0x4f, 0x0c, 0xf7, 0xb3, 0x87, 0x1a,
0x85, 0x4c, 0x40, 0xcd, 0x0a, 0x0b, 0xaf, 0xdd, 0x05, 0x1f, 0x38, 0xb8, 0x5f, 0xc2, 0x77, 0xb4,
0xf7, 0x2b, 0x00, 0x39, 0xe5, 0x00, 0x00, 0x7f, 0xf5, 0x50, 0xfd, 0x03, 0xe3, 0x13, 0x30, 0x91,
- 0xff, 0x12, 0xd5, 0xca, 0x06, 0x78, 0x9d, 0x46, 0xff, 0x19, 0xb9, 0xc5, 0x0d, 0x64, 0x00, 0x10,
- 0x3e, 0x30, 0xc5, 0x44, 0x26, 0xdd, 0x7f, 0x8b, 0x0e, 0x73, 0x18, 0xcd, 0x52, 0x31, 0x64, 0x42,
- 0xe4, 0xa0, 0x75, 0xb3, 0x7a, 0xe2, 0x75, 0xea, 0xe1, 0xf1, 0xf5, 0xb2, 0xfd, 0x64, 0xd3, 0xa2,
- 0xdd, 0x75, 0x1c, 0x3d, 0x2c, 0x27, 0xde, 0x95, 0xb1, 0xdf, 0x32, 0xdd, 0x9f, 0xb2, 0x05, 0xe4,
- 0xda, 0x5e, 0x43, 0x3d, 0xda, 0xc6, 0x38, 0x41, 0x68, 0x5b, 0xa0, 0xf6, 0x87, 0xa8, 0x91, 0xd9,
- 0xc8, 0x1c, 0x5b, 0x3b, 0xab, 0xe0, 0x5b, 0x2b, 0xdd, 0x2a, 0xc3, 0xd6, 0xcd, 0xcb, 0xdb, 0xd9,
- 0x04, 0x47, 0x28, 0xdb, 0x02, 0xf0, 0x77, 0x0f, 0x1d, 0x9d, 0x0b, 0x48, 0x0b, 0x39, 0x92, 0x20,
- 0x76, 0xc8, 0x1f, 0x51, 0xdd, 0x89, 0xa4, 0x70, 0x37, 0xf4, 0xdc, 0x72, 0x8d, 0xc1, 0xc9, 0xc6,
- 0xd5, 0x5b, 0xe6, 0xb9, 0x08, 0x9b, 0x0e, 0xf9, 0xf8, 0x06, 0x52, 0x0a, 0x1c, 0x1d, 0x64, 0x2e,
- 0xe7, 0xef, 0xf3, 0x54, 0xff, 0xf7, 0x79, 0xc2, 0xf7, 0x97, 0xab, 0xc0, 0xbb, 0x5a, 0x05, 0xde,
- 0xaf, 0x55, 0xe0, 0x7d, 0x59, 0x07, 0x95, 0xab, 0x75, 0x50, 0xf9, 0xb1, 0x0e, 0x2a, 0x9f, 0x5e,
- 0xfd, 0x6b, 0x18, 0x19, 0xf3, 0xee, 0x58, 0xd1, 0xf9, 0x29, 0x4d, 0x94, 0x98, 0x4d, 0x41, 0x9b,
- 0xf7, 0x42, 0xd3, 0xfe, 0xeb, 0xae, 0x79, 0x2a, 0xac, 0x87, 0xe2, 0x3d, 0xfb, 0xe3, 0x9e, 0xfe,
- 0x09, 0x00, 0x00, 0xff, 0xff, 0xc1, 0x6c, 0xa2, 0x41, 0x4f, 0x04, 0x00, 0x00,
+ 0x7f, 0x8a, 0x6a, 0x65, 0x03, 0xbc, 0x4e, 0xa3, 0xff, 0x8c, 0xdc, 0xe2, 0x06, 0x32, 0x00, 0x08,
+ 0x1f, 0x98, 0x62, 0x22, 0x93, 0xee, 0xbf, 0x45, 0x87, 0x39, 0x8c, 0x66, 0xa9, 0x18, 0x32, 0x21,
+ 0x72, 0xd0, 0xba, 0x59, 0x3d, 0xf1, 0x3a, 0xf5, 0xf0, 0xf8, 0x7a, 0xd9, 0x7e, 0xb2, 0x69, 0xd1,
+ 0xee, 0x3a, 0x8e, 0x1e, 0x96, 0x13, 0xef, 0xca, 0xd8, 0x6f, 0x99, 0xee, 0x4f, 0xd9, 0x02, 0x72,
+ 0x6d, 0xaf, 0xa1, 0x1e, 0x6d, 0x63, 0x9c, 0x20, 0xb4, 0x2d, 0x50, 0xfb, 0x43, 0xd4, 0xc8, 0x6c,
+ 0x64, 0x8e, 0xad, 0x9d, 0x55, 0xf0, 0xad, 0x95, 0x6e, 0x95, 0x61, 0xeb, 0xe6, 0xe5, 0xed, 0x6c,
+ 0x82, 0x23, 0x94, 0x6d, 0x01, 0xf8, 0xbb, 0x87, 0x8e, 0xce, 0x05, 0xa4, 0x85, 0x1c, 0x49, 0x10,
+ 0x3b, 0xe4, 0x8f, 0xa8, 0xee, 0x44, 0x52, 0xb8, 0x1b, 0x7a, 0x6e, 0xb9, 0xc6, 0xe0, 0x64, 0xe3,
+ 0xea, 0x2d, 0xf3, 0x5c, 0x84, 0x4d, 0x87, 0x7c, 0x7c, 0x03, 0x29, 0x05, 0x8e, 0x0e, 0x32, 0x97,
+ 0xf3, 0xf7, 0x79, 0xaa, 0xff, 0xfb, 0x3c, 0xe1, 0xfb, 0xcb, 0x55, 0xe0, 0x5d, 0xad, 0x02, 0xef,
+ 0xd7, 0x2a, 0xf0, 0xbe, 0xac, 0x83, 0xca, 0xd5, 0x3a, 0xa8, 0xfc, 0x58, 0x07, 0x95, 0x4f, 0xaf,
+ 0xfe, 0x35, 0x8c, 0x8c, 0x79, 0x77, 0xac, 0xe8, 0xfc, 0x94, 0x26, 0x4a, 0xcc, 0xa6, 0xa0, 0xcd,
+ 0x7b, 0xa1, 0x69, 0xff, 0x75, 0xd7, 0x3c, 0x15, 0xd6, 0x43, 0xf1, 0x9e, 0xfd, 0x71, 0x5f, 0xfe,
+ 0x09, 0x00, 0x00, 0xff, 0xff, 0x7a, 0x01, 0xeb, 0x42, 0x4f, 0x04, 0x00, 0x00,
}
func (m *Fee) Marshal() (dAtA []byte, err error) {
diff --git a/modules/apps/29-fee/types/fee_test.go b/modules/apps/29-fee/types/fee_test.go
index 4be71154a6b..3abe0e382b3 100644
--- a/modules/apps/29-fee/types/fee_test.go
+++ b/modules/apps/29-fee/types/fee_test.go
@@ -7,7 +7,7 @@ import (
"github.com/stretchr/testify/require"
"github.com/tendermint/tendermint/crypto/secp256k1"
- "github.com/cosmos/ibc-go/v3/modules/apps/29-fee/types"
+ "github.com/cosmos/ibc-go/v4/modules/apps/29-fee/types"
)
var (
diff --git a/modules/apps/29-fee/types/genesis.go b/modules/apps/29-fee/types/genesis.go
index 5cd081c75cb..8c9281faa15 100644
--- a/modules/apps/29-fee/types/genesis.go
+++ b/modules/apps/29-fee/types/genesis.go
@@ -6,7 +6,7 @@ import (
sdk "github.com/cosmos/cosmos-sdk/types"
sdkerrors "github.com/cosmos/cosmos-sdk/types/errors"
- host "github.com/cosmos/ibc-go/v3/modules/core/24-host"
+ host "github.com/cosmos/ibc-go/v4/modules/core/24-host"
)
// NewGenesisState creates a 29-fee GenesisState instance.
diff --git a/modules/apps/29-fee/types/genesis.pb.go b/modules/apps/29-fee/types/genesis.pb.go
index 57e676e069f..4fc869a658c 100644
--- a/modules/apps/29-fee/types/genesis.pb.go
+++ b/modules/apps/29-fee/types/genesis.pb.go
@@ -5,7 +5,7 @@ package types
import (
fmt "fmt"
- types "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types"
+ types "github.com/cosmos/ibc-go/v4/modules/core/04-channel/types"
_ "github.com/gogo/protobuf/gogoproto"
proto "github.com/gogo/protobuf/proto"
io "io"
@@ -358,48 +358,48 @@ func init() {
}
var fileDescriptor_7191992e856dff95 = []byte{
- // 648 bytes of a gzipped FileDescriptorProto
- 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x54, 0xcd, 0x4e, 0xd4, 0x40,
- 0x1c, 0xdf, 0x82, 0x80, 0x0c, 0x06, 0xd8, 0x09, 0x48, 0x05, 0xe9, 0xe2, 0x18, 0x12, 0xa2, 0xd9,
- 0x36, 0x7c, 0x78, 0xd0, 0x9b, 0x25, 0x62, 0x36, 0x31, 0x91, 0x8c, 0x9e, 0xbc, 0x6c, 0xba, 0xed,
- 0xbf, 0x4b, 0xe3, 0x6e, 0xa7, 0x99, 0x19, 0x96, 0xac, 0x37, 0x4f, 0x5e, 0x7d, 0x0d, 0xe3, 0x23,
- 0xf8, 0x02, 0x1c, 0x39, 0x7a, 0xda, 0x18, 0x78, 0x83, 0x7d, 0x02, 0x33, 0x9d, 0x29, 0x2c, 0xfb,
- 0x61, 0x38, 0x78, 0x9b, 0xe9, 0xfc, 0xbe, 0xa6, 0xbf, 0xc9, 0x1f, 0x6d, 0x27, 0x8d, 0xd0, 0x0b,
- 0xb2, 0xac, 0x95, 0x84, 0x81, 0x4c, 0x58, 0x2a, 0xbc, 0x18, 0xc0, 0xeb, 0xec, 0x7a, 0x4d, 0x48,
- 0x41, 0x24, 0xc2, 0xcd, 0x38, 0x93, 0x0c, 0xaf, 0x25, 0x8d, 0xd0, 0x1d, 0x84, 0xb9, 0x31, 0x80,
- 0xdb, 0xd9, 0x5d, 0x5f, 0x69, 0xb2, 0x26, 0xcb, 0x31, 0x9e, 0x5a, 0x69, 0xf8, 0xfa, 0x93, 0x49,
- 0xaa, 0x8a, 0x35, 0x00, 0x09, 0x19, 0x07, 0x2f, 0x3c, 0x09, 0xd2, 0x14, 0x5a, 0xea, 0xd8, 0x2c,
- 0x35, 0x84, 0xfc, 0x9c, 0x41, 0x0f, 0xde, 0xea, 0x18, 0x1f, 0x64, 0x20, 0x01, 0x77, 0xd0, 0x52,
- 0x12, 0x41, 0x2a, 0x93, 0x38, 0x81, 0xa8, 0x1e, 0x03, 0x08, 0xdb, 0xda, 0x9a, 0xde, 0x59, 0xd8,
- 0xab, 0xba, 0x13, 0xf2, 0xb9, 0xb5, 0x6b, 0xfc, 0x71, 0x10, 0x7e, 0x06, 0x79, 0x04, 0x20, 0x7c,
- 0xe7, 0xbc, 0x57, 0x29, 0xf5, 0x7b, 0x95, 0x87, 0xdd, 0xa0, 0xdd, 0x7a, 0x45, 0x86, 0x34, 0x09,
- 0x5d, 0xbc, 0xf9, 0xa2, 0xf0, 0xf8, 0xab, 0x85, 0x56, 0x62, 0x80, 0x3a, 0xa4, 0x41, 0xa3, 0x05,
- 0x51, 0xdd, 0xc4, 0x14, 0xf6, 0x54, 0xee, 0xfe, 0x6c, 0xa2, 0xfb, 0x11, 0xc0, 0x1b, 0xcd, 0x39,
- 0xd4, 0x14, 0xff, 0xa9, 0xb1, 0xde, 0xd0, 0xd6, 0xe3, 0x54, 0x09, 0xc5, 0xf1, 0x30, 0x4f, 0xe0,
- 0x33, 0x54, 0xe6, 0xd0, 0x4c, 0x84, 0x04, 0x0e, 0x51, 0x3d, 0x0b, 0xba, 0xea, 0xf6, 0xd3, 0xb9,
- 0xff, 0xce, 0x44, 0x7f, 0x7a, 0xcd, 0x38, 0x56, 0x04, 0x7f, 0xcb, 0xb8, 0xdb, 0xda, 0x7d, 0x44,
- 0x90, 0xd0, 0x65, 0x7e, 0x9b, 0x22, 0xf0, 0x0f, 0x0b, 0x39, 0x03, 0xc0, 0x90, 0x9d, 0xa6, 0x12,
- 0x78, 0x16, 0x70, 0xd9, 0x2d, 0x62, 0xdc, 0xcb, 0x63, 0x1c, 0xdc, 0x21, 0xc6, 0xe1, 0x00, 0x5b,
- 0x47, 0xaa, 0x9a, 0x48, 0xdb, 0x23, 0x91, 0xc6, 0x38, 0x11, 0xfa, 0x98, 0x4f, 0xd6, 0x12, 0xf8,
- 0x0b, 0x5a, 0x8e, 0x19, 0x3f, 0x0b, 0x78, 0x54, 0xe7, 0xd0, 0x0a, 0xba, 0xc0, 0x85, 0x3d, 0x93,
- 0x87, 0x73, 0x27, 0x77, 0xa4, 0x09, 0x54, 0xe3, 0x5f, 0x47, 0x11, 0x07, 0x21, 0xfc, 0x8a, 0x89,
- 0xb5, 0x66, 0x7a, 0x1a, 0x52, 0x25, 0x74, 0x29, 0xbe, 0xc5, 0x13, 0xa4, 0x83, 0xca, 0x23, 0x75,
- 0xe3, 0xe7, 0x68, 0x2e, 0x63, 0x5c, 0xd6, 0x93, 0xc8, 0xb6, 0xb6, 0xac, 0x9d, 0x79, 0x1f, 0xf7,
- 0x7b, 0x95, 0x45, 0xad, 0x69, 0x0e, 0x08, 0x9d, 0x55, 0xab, 0x5a, 0x84, 0x0f, 0x10, 0x32, 0x6f,
- 0x40, 0xe1, 0xa7, 0x72, 0xfc, 0x6a, 0xbf, 0x57, 0x29, 0x6b, 0xfc, 0xcd, 0x19, 0xa1, 0xf3, 0x66,
- 0x53, 0x8b, 0xc8, 0x19, 0x5a, 0x1a, 0xaa, 0x79, 0x48, 0xc8, 0xba, 0x9b, 0x10, 0xb6, 0xd1, 0x9c,
- 0xb9, 0x9e, 0xf6, 0xa6, 0xc5, 0x16, 0xaf, 0xa0, 0x99, 0xfc, 0xff, 0xdb, 0xd3, 0xf9, 0x77, 0xbd,
- 0x21, 0xbf, 0x2c, 0xb4, 0xf1, 0x8f, 0x66, 0xff, 0x7b, 0x8a, 0x77, 0x08, 0x8f, 0x3e, 0x09, 0x1d,
- 0xc9, 0xdf, 0xec, 0xf7, 0x2a, 0x8f, 0x8c, 0xee, 0x08, 0x86, 0xd0, 0x72, 0x38, 0x9c, 0x8e, 0x7c,
- 0xb3, 0xd0, 0xea, 0xd8, 0xea, 0x55, 0x82, 0x40, 0x2f, 0x75, 0x68, 0x5a, 0x6c, 0xf1, 0x47, 0x34,
- 0x9f, 0xe5, 0x53, 0xa4, 0xe8, 0x67, 0x61, 0x6f, 0x33, 0x7f, 0x57, 0x6a, 0x8e, 0xb9, 0xc5, 0xf0,
- 0xea, 0xec, 0xba, 0x7a, 0xd6, 0xd4, 0x22, 0xdf, 0x36, 0xcf, 0x68, 0xd9, 0x54, 0x5e, 0xb0, 0x09,
- 0xbd, 0x9f, 0x15, 0x98, 0xf7, 0xe7, 0x97, 0x8e, 0x75, 0x71, 0xe9, 0x58, 0x7f, 0x2e, 0x1d, 0xeb,
- 0xfb, 0x95, 0x53, 0xba, 0xb8, 0x72, 0x4a, 0xbf, 0xaf, 0x9c, 0xd2, 0xa7, 0x17, 0xcd, 0x44, 0x9e,
- 0x9c, 0x36, 0xdc, 0x90, 0xb5, 0xbd, 0x90, 0x89, 0x36, 0x13, 0x5e, 0xd2, 0x08, 0xab, 0x4d, 0xe6,
- 0x75, 0xf6, 0xbd, 0x36, 0x8b, 0x4e, 0x5b, 0x20, 0xd4, 0x98, 0x15, 0xde, 0xde, 0xcb, 0xaa, 0x9a,
- 0xb0, 0xb2, 0x9b, 0x81, 0x68, 0xcc, 0xe6, 0xe3, 0x73, 0xff, 0x6f, 0x00, 0x00, 0x00, 0xff, 0xff,
- 0x87, 0x75, 0xda, 0x18, 0xdc, 0x05, 0x00, 0x00,
+ // 649 bytes of a gzipped FileDescriptorProto
+ 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x54, 0xcf, 0x4e, 0xd4, 0x4e,
+ 0x1c, 0xdf, 0xc2, 0x0f, 0xf8, 0x31, 0x18, 0x60, 0x27, 0x20, 0x15, 0xa4, 0x8b, 0x63, 0x48, 0x88,
+ 0x66, 0xdb, 0x80, 0x78, 0xd0, 0x9b, 0x25, 0x62, 0x36, 0x31, 0x91, 0x8c, 0x9e, 0xbc, 0x6c, 0xba,
+ 0xed, 0xb7, 0x4b, 0xe3, 0x6e, 0xa7, 0x99, 0x19, 0x96, 0xac, 0x37, 0x4f, 0x5e, 0x7d, 0x0d, 0xe3,
+ 0x23, 0xf8, 0x02, 0x1c, 0x39, 0x7a, 0xda, 0x18, 0x78, 0x83, 0x7d, 0x02, 0x33, 0x9d, 0x29, 0x2c,
+ 0xbb, 0xd4, 0x70, 0xf0, 0x36, 0xd3, 0xf9, 0xfc, 0x9b, 0x7e, 0x26, 0x5f, 0xb4, 0x9d, 0xb4, 0x42,
+ 0x2f, 0xc8, 0xb2, 0x4e, 0x12, 0x06, 0x32, 0x61, 0xa9, 0xf0, 0x62, 0x00, 0xaf, 0xb7, 0xeb, 0xb5,
+ 0x21, 0x05, 0x91, 0x08, 0x37, 0xe3, 0x4c, 0x32, 0xbc, 0x96, 0xb4, 0x42, 0x77, 0x14, 0xe6, 0xc6,
+ 0x00, 0x6e, 0x6f, 0x77, 0x7d, 0xa5, 0xcd, 0xda, 0x2c, 0xc7, 0x78, 0x6a, 0xa5, 0xe1, 0xeb, 0x8f,
+ 0xca, 0x54, 0x15, 0x6b, 0x04, 0x12, 0x32, 0x0e, 0x5e, 0x78, 0x1c, 0xa4, 0x29, 0x74, 0xd4, 0xb1,
+ 0x59, 0x6a, 0x08, 0xf9, 0x31, 0x83, 0xee, 0xbd, 0xd1, 0x31, 0xde, 0xcb, 0x40, 0x02, 0xee, 0xa1,
+ 0xa5, 0x24, 0x82, 0x54, 0x26, 0x71, 0x02, 0x51, 0x33, 0x06, 0x10, 0xb6, 0xb5, 0x35, 0xbd, 0xb3,
+ 0xb0, 0x57, 0x77, 0x4b, 0xf2, 0xb9, 0x8d, 0x2b, 0xfc, 0x51, 0x10, 0x7e, 0x02, 0x79, 0x08, 0x20,
+ 0x7c, 0xe7, 0x6c, 0x50, 0xab, 0x0c, 0x07, 0xb5, 0xfb, 0xfd, 0xa0, 0xdb, 0x79, 0x49, 0xc6, 0x34,
+ 0x09, 0x5d, 0xbc, 0xfe, 0xa2, 0xf0, 0xf8, 0x8b, 0x85, 0x56, 0x62, 0x80, 0x26, 0xa4, 0x41, 0xab,
+ 0x03, 0x51, 0xd3, 0xc4, 0x14, 0xf6, 0x54, 0xee, 0xfe, 0xa4, 0xd4, 0xfd, 0x10, 0xe0, 0xb5, 0xe6,
+ 0x1c, 0x68, 0x8a, 0xff, 0xd8, 0x58, 0x6f, 0x68, 0xeb, 0xdb, 0x54, 0x09, 0xc5, 0xf1, 0x38, 0x4f,
+ 0xe0, 0x53, 0x54, 0xe5, 0xd0, 0x4e, 0x84, 0x04, 0x0e, 0x51, 0x33, 0x0b, 0xfa, 0xea, 0xf6, 0xd3,
+ 0xb9, 0xff, 0x4e, 0xa9, 0x3f, 0xbd, 0x62, 0x1c, 0x29, 0x82, 0xbf, 0x65, 0xdc, 0x6d, 0xed, 0x3e,
+ 0x21, 0x48, 0xe8, 0x32, 0xbf, 0x49, 0x11, 0xf8, 0xbb, 0x85, 0x9c, 0x11, 0x60, 0xc8, 0x4e, 0x52,
+ 0x09, 0x3c, 0x0b, 0xb8, 0xec, 0x17, 0x31, 0xfe, 0xcb, 0x63, 0xec, 0xdf, 0x21, 0xc6, 0xc1, 0x08,
+ 0x5b, 0x47, 0xaa, 0x9b, 0x48, 0xdb, 0x13, 0x91, 0x6e, 0x71, 0x22, 0xf4, 0x21, 0x2f, 0xd7, 0x12,
+ 0xf8, 0x33, 0x5a, 0x8e, 0x19, 0x3f, 0x0d, 0x78, 0xd4, 0xe4, 0xd0, 0x09, 0xfa, 0xc0, 0x85, 0x3d,
+ 0x93, 0x87, 0x73, 0xcb, 0x3b, 0xd2, 0x04, 0xaa, 0xf1, 0xaf, 0xa2, 0x88, 0x83, 0x10, 0x7e, 0xcd,
+ 0xc4, 0x5a, 0x33, 0x3d, 0x8d, 0xa9, 0x12, 0xba, 0x14, 0xdf, 0xe0, 0x09, 0xd2, 0x43, 0xd5, 0x89,
+ 0xba, 0xf1, 0x53, 0x34, 0x97, 0x31, 0x2e, 0x9b, 0x49, 0x64, 0x5b, 0x5b, 0xd6, 0xce, 0xbc, 0x8f,
+ 0x87, 0x83, 0xda, 0xa2, 0xd6, 0x34, 0x07, 0x84, 0xce, 0xaa, 0x55, 0x23, 0xc2, 0xfb, 0x08, 0x99,
+ 0x37, 0xa0, 0xf0, 0x53, 0x39, 0x7e, 0x75, 0x38, 0xa8, 0x55, 0x35, 0xfe, 0xfa, 0x8c, 0xd0, 0x79,
+ 0xb3, 0x69, 0x44, 0xe4, 0x14, 0x2d, 0x8d, 0xd5, 0x3c, 0x26, 0x64, 0xdd, 0x4d, 0x08, 0xdb, 0x68,
+ 0xce, 0x5c, 0x4f, 0x7b, 0xd3, 0x62, 0x8b, 0x57, 0xd0, 0x4c, 0xfe, 0xff, 0xed, 0xe9, 0xfc, 0xbb,
+ 0xde, 0x90, 0x9f, 0x16, 0xda, 0xf8, 0x4b, 0xb3, 0xff, 0x3c, 0xc5, 0x5b, 0x84, 0x27, 0x9f, 0x84,
+ 0x8e, 0xe4, 0x6f, 0x0e, 0x07, 0xb5, 0x07, 0x46, 0x77, 0x02, 0x43, 0x68, 0x35, 0x1c, 0x4f, 0x47,
+ 0xbe, 0x5a, 0x68, 0xf5, 0xd6, 0xea, 0x55, 0x82, 0x40, 0x2f, 0x75, 0x68, 0x5a, 0x6c, 0xf1, 0x07,
+ 0x34, 0x9f, 0xe5, 0x53, 0xa4, 0xe8, 0x67, 0x61, 0x6f, 0x33, 0x7f, 0x57, 0x6a, 0x8e, 0xb9, 0xc5,
+ 0xf0, 0xea, 0xed, 0xba, 0x7a, 0xd6, 0x34, 0x22, 0xdf, 0x36, 0xcf, 0x68, 0xd9, 0x54, 0x5e, 0xb0,
+ 0x09, 0xfd, 0x3f, 0x2b, 0x30, 0xef, 0xce, 0x2e, 0x1c, 0xeb, 0xfc, 0xc2, 0xb1, 0x7e, 0x5f, 0x38,
+ 0xd6, 0xb7, 0x4b, 0xa7, 0x72, 0x7e, 0xe9, 0x54, 0x7e, 0x5d, 0x3a, 0x95, 0x8f, 0xcf, 0xdb, 0x89,
+ 0x3c, 0x3e, 0x69, 0xb9, 0x21, 0xeb, 0x7a, 0x21, 0x13, 0x5d, 0x26, 0xbc, 0xa4, 0x15, 0xd6, 0xdb,
+ 0xcc, 0xeb, 0xed, 0x7b, 0x5d, 0x16, 0x9d, 0x74, 0x40, 0xa8, 0x31, 0x2b, 0xbc, 0xbd, 0x17, 0x75,
+ 0x35, 0x61, 0x65, 0x3f, 0x03, 0xd1, 0x9a, 0xcd, 0xc7, 0xe7, 0xb3, 0x3f, 0x01, 0x00, 0x00, 0xff,
+ 0xff, 0x3c, 0x18, 0x93, 0x1b, 0xdc, 0x05, 0x00, 0x00,
}
func (m *GenesisState) Marshal() (dAtA []byte, err error) {
diff --git a/modules/apps/29-fee/types/genesis_test.go b/modules/apps/29-fee/types/genesis_test.go
index d0f6b7ab115..bbec115baf7 100644
--- a/modules/apps/29-fee/types/genesis_test.go
+++ b/modules/apps/29-fee/types/genesis_test.go
@@ -7,9 +7,9 @@ import (
"github.com/stretchr/testify/require"
"github.com/tendermint/tendermint/crypto/secp256k1"
- "github.com/cosmos/ibc-go/v3/modules/apps/29-fee/types"
- channeltypes "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types"
- ibctesting "github.com/cosmos/ibc-go/v3/testing"
+ "github.com/cosmos/ibc-go/v4/modules/apps/29-fee/types"
+ channeltypes "github.com/cosmos/ibc-go/v4/modules/core/04-channel/types"
+ ibctesting "github.com/cosmos/ibc-go/v4/testing"
)
func TestValidateDefaultGenesis(t *testing.T) {
diff --git a/modules/apps/29-fee/types/keys.go b/modules/apps/29-fee/types/keys.go
index 7cbaffcd556..c547432400b 100644
--- a/modules/apps/29-fee/types/keys.go
+++ b/modules/apps/29-fee/types/keys.go
@@ -7,7 +7,7 @@ import (
sdkerrors "github.com/cosmos/cosmos-sdk/types/errors"
- channeltypes "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types"
+ channeltypes "github.com/cosmos/ibc-go/v4/modules/core/04-channel/types"
)
const (
diff --git a/modules/apps/29-fee/types/keys_test.go b/modules/apps/29-fee/types/keys_test.go
index 94f2c4602b2..26c9158fd7f 100644
--- a/modules/apps/29-fee/types/keys_test.go
+++ b/modules/apps/29-fee/types/keys_test.go
@@ -6,9 +6,9 @@ import (
"github.com/stretchr/testify/require"
- "github.com/cosmos/ibc-go/v3/modules/apps/29-fee/types"
- channeltypes "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types"
- ibctesting "github.com/cosmos/ibc-go/v3/testing"
+ "github.com/cosmos/ibc-go/v4/modules/apps/29-fee/types"
+ channeltypes "github.com/cosmos/ibc-go/v4/modules/core/04-channel/types"
+ ibctesting "github.com/cosmos/ibc-go/v4/testing"
)
var validPacketID = channeltypes.NewPacketId(ibctesting.MockFeePort, ibctesting.FirstChannelID, 1)
diff --git a/modules/apps/29-fee/types/metadata.pb.go b/modules/apps/29-fee/types/metadata.pb.go
index 95bb9244946..5715cc7e676 100644
--- a/modules/apps/29-fee/types/metadata.pb.go
+++ b/modules/apps/29-fee/types/metadata.pb.go
@@ -101,10 +101,10 @@ var fileDescriptor_03d0f000eda681ce = []byte{
0x95, 0x58, 0x50, 0x00, 0xd5, 0xe8, 0xe4, 0x7f, 0xe2, 0x91, 0x1c, 0xe3, 0x85, 0x47, 0x72, 0x8c,
0x0f, 0x1e, 0xc9, 0x31, 0x4e, 0x78, 0x2c, 0xc7, 0x70, 0xe1, 0xb1, 0x1c, 0xc3, 0x8d, 0xc7, 0x72,
0x0c, 0x51, 0xa6, 0xe9, 0x99, 0x25, 0x19, 0xa5, 0x49, 0x7a, 0xc9, 0xf9, 0xb9, 0xfa, 0xc9, 0xf9,
- 0xc5, 0xb9, 0xf9, 0xc5, 0xfa, 0x99, 0x49, 0xc9, 0xba, 0xe9, 0xf9, 0xfa, 0x65, 0xc6, 0xfa, 0xb9,
+ 0xc5, 0xb9, 0xf9, 0xc5, 0xfa, 0x99, 0x49, 0xc9, 0xba, 0xe9, 0xf9, 0xfa, 0x65, 0x26, 0xfa, 0xb9,
0xf9, 0x29, 0xa5, 0x39, 0xa9, 0xc5, 0xa0, 0xe0, 0x28, 0xd6, 0x37, 0xb2, 0xd4, 0x05, 0x85, 0x44,
0x49, 0x65, 0x41, 0x6a, 0x71, 0x12, 0x1b, 0xd8, 0x57, 0xc6, 0x80, 0x00, 0x00, 0x00, 0xff, 0xff,
- 0x04, 0x84, 0x58, 0xe0, 0x2e, 0x01, 0x00, 0x00,
+ 0xbf, 0xe9, 0x11, 0xe3, 0x2e, 0x01, 0x00, 0x00,
}
func (m *Metadata) Marshal() (dAtA []byte, err error) {
diff --git a/modules/apps/29-fee/types/msgs.go b/modules/apps/29-fee/types/msgs.go
index 81d22d50422..4b0fd331c9d 100644
--- a/modules/apps/29-fee/types/msgs.go
+++ b/modules/apps/29-fee/types/msgs.go
@@ -6,8 +6,8 @@ import (
sdk "github.com/cosmos/cosmos-sdk/types"
sdkerrors "github.com/cosmos/cosmos-sdk/types/errors"
- channeltypes "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types"
- host "github.com/cosmos/ibc-go/v3/modules/core/24-host"
+ channeltypes "github.com/cosmos/ibc-go/v4/modules/core/04-channel/types"
+ host "github.com/cosmos/ibc-go/v4/modules/core/24-host"
)
// msg types
diff --git a/modules/apps/29-fee/types/msgs_test.go b/modules/apps/29-fee/types/msgs_test.go
index 5b6cbc8c033..93573e354a8 100644
--- a/modules/apps/29-fee/types/msgs_test.go
+++ b/modules/apps/29-fee/types/msgs_test.go
@@ -4,9 +4,10 @@ import (
"testing"
sdk "github.com/cosmos/cosmos-sdk/types"
- "github.com/cosmos/ibc-go/v3/modules/apps/29-fee/types"
- channeltypes "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types"
- ibctesting "github.com/cosmos/ibc-go/v3/testing"
+
+ "github.com/cosmos/ibc-go/v4/modules/apps/29-fee/types"
+ channeltypes "github.com/cosmos/ibc-go/v4/modules/core/04-channel/types"
+ ibctesting "github.com/cosmos/ibc-go/v4/testing"
"github.com/stretchr/testify/require"
"github.com/tendermint/tendermint/crypto/secp256k1"
diff --git a/modules/apps/29-fee/types/query.pb.go b/modules/apps/29-fee/types/query.pb.go
index 46e12a4e437..87a5f18f894 100644
--- a/modules/apps/29-fee/types/query.pb.go
+++ b/modules/apps/29-fee/types/query.pb.go
@@ -9,7 +9,7 @@ import (
github_com_cosmos_cosmos_sdk_types "github.com/cosmos/cosmos-sdk/types"
types1 "github.com/cosmos/cosmos-sdk/types"
query "github.com/cosmos/cosmos-sdk/types/query"
- types "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types"
+ types "github.com/cosmos/ibc-go/v4/modules/core/04-channel/types"
_ "github.com/gogo/protobuf/gogoproto"
grpc1 "github.com/gogo/protobuf/grpc"
proto "github.com/gogo/protobuf/proto"
@@ -1069,91 +1069,91 @@ func init() {
}
var fileDescriptor_0638a8a78ca2503c = []byte{
- // 1338 bytes of a gzipped FileDescriptorProto
- 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x58, 0x5d, 0x6f, 0xdb, 0x54,
- 0x18, 0xee, 0xe9, 0x3e, 0xda, 0x9e, 0x76, 0xb0, 0x9c, 0x16, 0x96, 0x86, 0x36, 0xe9, 0x3c, 0x06,
- 0xa5, 0x53, 0x6d, 0x35, 0x65, 0x74, 0x43, 0x42, 0xd0, 0x74, 0x74, 0x14, 0x06, 0x94, 0xac, 0x37,
- 0x20, 0x50, 0xe6, 0x38, 0x27, 0xa9, 0xd5, 0xd4, 0xc7, 0xb3, 0x9d, 0x88, 0xac, 0x2b, 0xb0, 0x89,
- 0x0a, 0x04, 0x08, 0x90, 0x90, 0xb8, 0xe0, 0x1e, 0x21, 0x90, 0xf8, 0x01, 0xfc, 0x83, 0x5d, 0xa1,
- 0x4a, 0xdc, 0x20, 0x2e, 0x02, 0x6a, 0x11, 0x3f, 0x20, 0x57, 0x5c, 0x80, 0x84, 0x7c, 0xce, 0xeb,
- 0xc4, 0x99, 0xed, 0x36, 0x29, 0xa5, 0x5c, 0xd5, 0xf6, 0x79, 0x3f, 0x9e, 0xe7, 0x39, 0xaf, 0x7d,
- 0x9e, 0x14, 0x9f, 0xd3, 0xf3, 0x9a, 0xa2, 0x9a, 0x66, 0x59, 0xd7, 0x54, 0x47, 0x67, 0x86, 0xad,
- 0x14, 0x29, 0x55, 0xaa, 0x33, 0xca, 0xcd, 0x0a, 0xb5, 0x6a, 0xb2, 0x69, 0x31, 0x87, 0x91, 0x33,
- 0x7a, 0x5e, 0x93, 0xfd, 0x41, 0x72, 0x91, 0x52, 0xb9, 0x3a, 0x93, 0x18, 0x29, 0xb1, 0x12, 0xe3,
- 0x31, 0x8a, 0x7b, 0x25, 0xc2, 0x13, 0x63, 0x25, 0xc6, 0x4a, 0x65, 0xaa, 0xa8, 0xa6, 0xae, 0xa8,
- 0x86, 0xc1, 0x1c, 0x48, 0x12, 0xab, 0x49, 0x8d, 0xd9, 0xeb, 0xcc, 0x56, 0xf2, 0xaa, 0xed, 0x36,
- 0xca, 0x53, 0x47, 0x9d, 0x51, 0x34, 0xa6, 0x1b, 0xb0, 0x3e, 0xe5, 0x5f, 0xe7, 0x28, 0x9a, 0x51,
- 0xa6, 0x5a, 0xd2, 0x0d, 0x5e, 0x0c, 0x62, 0xcf, 0x46, 0xa1, 0x77, 0xf1, 0x89, 0x90, 0xf3, 0x51,
- 0x21, 0x25, 0x6a, 0x50, 0x5b, 0xb7, 0xfd, 0x95, 0x34, 0x66, 0x51, 0x45, 0x5b, 0x55, 0x0d, 0x83,
- 0x96, 0xdd, 0x10, 0xb8, 0x14, 0x21, 0xd2, 0x27, 0x08, 0xa7, 0x5e, 0x73, 0xf1, 0x2c, 0x19, 0x1a,
- 0x35, 0x1c, 0xbd, 0xaa, 0xdf, 0xa2, 0x85, 0x65, 0x55, 0x5b, 0xa3, 0x8e, 0x9d, 0xa5, 0x37, 0x2b,
- 0xd4, 0x76, 0xc8, 0x22, 0xc6, 0x2d, 0x90, 0x71, 0x34, 0x81, 0x26, 0x07, 0xd3, 0x8f, 0xc9, 0x82,
- 0x91, 0xec, 0x32, 0x92, 0x85, 0xae, 0xc0, 0x48, 0x5e, 0x56, 0x4b, 0x14, 0x72, 0xb3, 0xbe, 0x4c,
- 0x72, 0x16, 0x0f, 0xf1, 0xc0, 0xdc, 0x2a, 0xd5, 0x4b, 0xab, 0x4e, 0xbc, 0x77, 0x02, 0x4d, 0x1e,
- 0xcf, 0x0e, 0xf2, 0x67, 0x2f, 0xf0, 0x47, 0xd2, 0x47, 0x08, 0x4f, 0x44, 0xc3, 0xb1, 0x4d, 0x66,
- 0xd8, 0x94, 0x14, 0xf1, 0x88, 0xee, 0x5b, 0xce, 0x99, 0x62, 0x3d, 0x8e, 0x26, 0x8e, 0x4d, 0x0e,
- 0xa6, 0xa7, 0xe5, 0x88, 0x8d, 0x95, 0x97, 0x0a, 0x6e, 0x4e, 0x51, 0xf7, 0x2a, 0x2e, 0x52, 0x6a,
- 0x67, 0x8e, 0xdf, 0xab, 0xa7, 0x7a, 0xb2, 0xc3, 0x7a, 0xb0, 0x9f, 0xb4, 0x85, 0x70, 0x32, 0x02,
- 0x8c, 0x27, 0xcd, 0x73, 0x78, 0x40, 0x74, 0xcf, 0xe9, 0x05, 0x50, 0x66, 0x9c, 0xf7, 0x77, 0x55,
- 0x97, 0x3d, 0xa9, 0xab, 0xae, 0x26, 0x6e, 0xd4, 0x52, 0x01, 0xfa, 0xf5, 0x9b, 0x70, 0xdf, 0x89,
- 0x28, 0x1f, 0x44, 0xef, 0x51, 0x53, 0x93, 0x02, 0x1e, 0x0e, 0xd1, 0x04, 0x20, 0x1d, 0x48, 0x12,
- 0x12, 0x94, 0x44, 0xfa, 0x11, 0xe1, 0x27, 0xa2, 0xb6, 0x67, 0x91, 0x59, 0x0b, 0x82, 0xef, 0x61,
- 0xcf, 0xcd, 0x19, 0xdc, 0x67, 0x32, 0x8b, 0x4b, 0xec, 0xaa, 0x33, 0x90, 0x3d, 0xe9, 0xde, 0x2e,
- 0x15, 0xc8, 0x38, 0xc6, 0x20, 0xb1, 0xbb, 0x76, 0x8c, 0xaf, 0x0d, 0xc0, 0x93, 0x10, 0x69, 0x8f,
- 0x07, 0xa5, 0xfd, 0x14, 0xe1, 0xa9, 0x4e, 0x08, 0x81, 0xca, 0x37, 0x0e, 0x71, 0xf2, 0xc2, 0x67,
- 0xee, 0x2d, 0x3c, 0xca, 0xf1, 0xac, 0x30, 0x47, 0x2d, 0x67, 0xa9, 0x56, 0xe5, 0xa1, 0x87, 0x35,
- 0x6d, 0xd2, 0x57, 0x08, 0x27, 0xc2, 0xea, 0x03, 0xbf, 0xdb, 0x78, 0xc0, 0xa2, 0x5a, 0x35, 0x57,
- 0xa4, 0xd4, 0x23, 0x35, 0xda, 0xb6, 0x61, 0xde, 0x56, 0x2d, 0x30, 0xdd, 0xc8, 0x5c, 0x71, 0x8b,
- 0x37, 0xea, 0xa9, 0xd3, 0x35, 0x75, 0xbd, 0xfc, 0xb4, 0xd4, 0xcc, 0x94, 0xbe, 0xfb, 0x35, 0x35,
- 0x59, 0xd2, 0x9d, 0xd5, 0x4a, 0x5e, 0xd6, 0xd8, 0xba, 0x02, 0xdf, 0x3e, 0xf1, 0x67, 0xda, 0x2e,
- 0xac, 0x29, 0x4e, 0xcd, 0xa4, 0x36, 0x2f, 0x62, 0x67, 0xfb, 0x2d, 0x40, 0x21, 0xbd, 0x89, 0xe3,
- 0x2d, 0x6c, 0xf3, 0xda, 0xda, 0xe1, 0x52, 0xff, 0x12, 0xf9, 0xa5, 0x6d, 0x96, 0x07, 0xe6, 0x35,
- 0xdc, 0xaf, 0x6a, 0x6b, 0x1d, 0x12, 0x5f, 0x00, 0xe2, 0x0f, 0x0a, 0xe2, 0x5e, 0x62, 0x77, 0xbc,
- 0xfb, 0x54, 0x01, 0x41, 0xba, 0x81, 0xc7, 0x5a, 0xb8, 0x56, 0xf4, 0x75, 0xca, 0x2a, 0xce, 0xe1,
- 0x52, 0xff, 0x06, 0xe1, 0xf1, 0x88, 0x16, 0x40, 0x7f, 0x0b, 0xe1, 0x21, 0x47, 0x3c, 0xef, 0x50,
- 0x83, 0xab, 0xa0, 0xc1, 0xb0, 0xd0, 0xc0, 0x9f, 0xdc, 0x9d, 0x0e, 0x83, 0x4e, 0x0b, 0x8f, 0xa4,
- 0xe1, 0x18, 0x07, 0xba, 0xac, 0xd6, 0xa8, 0xf7, 0x2d, 0x20, 0x4f, 0xb6, 0xbd, 0xe6, 0xae, 0x02,
- 0x03, 0x99, 0x87, 0x1a, 0xf5, 0x54, 0x4c, 0xb4, 0x6e, 0xad, 0x49, 0xfe, 0xb7, 0x3f, 0x8e, 0xfb,
- 0x2c, 0x5a, 0x56, 0x6b, 0xd4, 0x82, 0xaf, 0x86, 0x77, 0x2b, 0x5d, 0xc7, 0xc4, 0xdf, 0x04, 0x24,
- 0x78, 0x06, 0x9f, 0x32, 0xdd, 0x07, 0x39, 0xb5, 0x50, 0xb0, 0xa8, 0x6d, 0x43, 0xa3, 0x78, 0xa3,
- 0x9e, 0x1a, 0x11, 0x8d, 0xda, 0x96, 0xa5, 0xec, 0x10, 0xbf, 0x9f, 0x87, 0x5b, 0x06, 0x12, 0x2f,
- 0xb0, 0x8a, 0xe1, 0x50, 0xcb, 0x54, 0x2d, 0xe7, 0xbf, 0x65, 0x61, 0xc0, 0xe1, 0x14, 0xd2, 0x10,
- 0x18, 0x5d, 0xc3, 0x44, 0xf3, 0x2d, 0xe6, 0x38, 0x5e, 0xe8, 0x3c, 0xde, 0xa8, 0xa7, 0x46, 0xa1,
- 0x73, 0x20, 0x46, 0xca, 0xc6, 0xb4, 0xfb, 0xab, 0x4a, 0x1f, 0x7b, 0xa7, 0xe1, 0x22, 0xa5, 0xcf,
- 0x1b, 0x6a, 0xbe, 0x4c, 0x0b, 0xf0, 0x79, 0xfc, 0x3f, 0x8c, 0xc2, 0xd7, 0xde, 0x99, 0x18, 0x86,
- 0x06, 0xf8, 0xdf, 0x41, 0x78, 0xa4, 0x48, 0x69, 0x8e, 0x8a, 0xf5, 0x1c, 0xa8, 0xea, 0x0d, 0xf7,
- 0x54, 0xe4, 0xe7, 0x3a, 0x50, 0x33, 0x73, 0x0e, 0xa6, 0xfd, 0x11, 0x21, 0x59, 0x58, 0x55, 0x29,
- 0x4b, 0x8a, 0x01, 0x2c, 0xd2, 0x5d, 0xef, 0xd5, 0x0b, 0xd4, 0xf4, 0x44, 0xbb, 0xd0, 0x3a, 0xdd,
- 0xc4, 0xd6, 0x90, 0x46, 0x3d, 0xf5, 0x00, 0x4c, 0x9c, 0x58, 0x90, 0x9a, 0x27, 0x5e, 0xfb, 0x10,
- 0xf5, 0x76, 0x36, 0x44, 0xd2, 0xeb, 0x51, 0x3b, 0xd7, 0x94, 0x6a, 0x0e, 0x0f, 0xfa, 0x38, 0x71,
- 0x20, 0xfd, 0x99, 0x87, 0x1b, 0xf5, 0x14, 0x09, 0x10, 0x96, 0xb2, 0xb8, 0xc5, 0x33, 0xfd, 0x47,
- 0x0c, 0x9f, 0xe0, 0xb5, 0xc9, 0x0f, 0x08, 0x0f, 0x87, 0x9c, 0xa2, 0xe4, 0x52, 0xa4, 0xcc, 0xfb,
- 0xf8, 0xce, 0xc4, 0xe5, 0x03, 0x64, 0x0a, 0x3e, 0xd2, 0xf4, 0xdd, 0x9f, 0x7e, 0xff, 0xa2, 0xf7,
- 0x71, 0x72, 0x5e, 0x01, 0xa7, 0xdc, 0x74, 0xc8, 0x61, 0xe7, 0x37, 0xf9, 0xac, 0x17, 0x93, 0x60,
- 0x39, 0x32, 0xd7, 0x2d, 0x00, 0x0f, 0xf9, 0xa5, 0xee, 0x13, 0x01, 0xf8, 0x16, 0xe2, 0xc8, 0xdf,
- 0x25, 0x9b, 0x01, 0xe4, 0xde, 0xa0, 0x29, 0x1b, 0xcd, 0xe3, 0x40, 0x6e, 0x6d, 0xf8, 0xa6, 0xe2,
- 0x8e, 0x48, 0xdb, 0x22, 0x4c, 0xcf, 0xa6, 0x62, 0xbb, 0xb0, 0x0c, 0x8d, 0xb6, 0xad, 0x7a, 0x0f,
- 0x37, 0xc3, 0x24, 0x21, 0x7f, 0x23, 0x3c, 0xbe, 0xa7, 0x27, 0x22, 0x99, 0xae, 0x77, 0x27, 0xe0,
- 0x10, 0x13, 0x0b, 0xff, 0xaa, 0x06, 0x48, 0x76, 0x9d, 0x2b, 0xf6, 0x32, 0x79, 0x69, 0x0f, 0xc5,
- 0xc2, 0x74, 0xf2, 0xd4, 0x09, 0x9d, 0x88, 0xbf, 0x10, 0x3e, 0xd5, 0xe6, 0x91, 0x48, 0x7a, 0x6f,
- 0xac, 0x61, 0x86, 0x2d, 0x31, 0xdb, 0x55, 0x0e, 0xf0, 0xb9, 0x23, 0x46, 0x60, 0x83, 0xd4, 0x8e,
- 0x6e, 0x04, 0x1c, 0x17, 0x49, 0xae, 0xe9, 0xe0, 0xc8, 0x9f, 0x08, 0x0f, 0xf9, 0x7d, 0x12, 0x99,
- 0xe9, 0x80, 0x49, 0xbb, 0x65, 0x4b, 0xa4, 0xbb, 0x49, 0x01, 0xee, 0xef, 0x09, 0xee, 0xb7, 0xc8,
- 0xdb, 0x47, 0xcd, 0xdd, 0x33, 0x71, 0xe4, 0xc3, 0x5e, 0x7c, 0xfa, 0x7e, 0x9f, 0x44, 0x2e, 0x76,
- 0xc0, 0x25, 0x68, 0xdd, 0x12, 0x4f, 0x75, 0x9b, 0x06, 0x32, 0xbc, 0x2f, 0x64, 0x78, 0x87, 0xdc,
- 0x3e, 0x6a, 0x19, 0xfc, 0x3e, 0x8e, 0x7c, 0x8b, 0xf0, 0x09, 0x7e, 0xf8, 0x93, 0xa9, 0xbd, 0x89,
- 0xf8, 0x8d, 0x4e, 0xe2, 0x42, 0x47, 0xb1, 0xc0, 0xf4, 0x2a, 0x27, 0x3a, 0x4f, 0x9e, 0xed, 0xf0,
- 0xe5, 0x05, 0xf7, 0x63, 0x2b, 0x1b, 0x70, 0xb5, 0xa9, 0x70, 0xcb, 0x42, 0x7e, 0x41, 0x38, 0x16,
- 0xb0, 0x42, 0x64, 0x9f, 0x0d, 0x88, 0x32, 0x6b, 0x89, 0xb9, 0xae, 0xf3, 0x80, 0xcf, 0x0a, 0xe7,
- 0xf3, 0x0a, 0xb9, 0x76, 0x70, 0x3e, 0x41, 0x3f, 0x46, 0xbe, 0x47, 0x98, 0x04, 0x8d, 0xce, 0x7e,
- 0xe7, 0x53, 0xa4, 0x51, 0xdb, 0xef, 0x7c, 0x8a, 0xf6, 0x54, 0xd2, 0xa3, 0x9c, 0x5f, 0x92, 0x8c,
- 0x05, 0xf8, 0xf9, 0x2c, 0x02, 0xd9, 0x46, 0x38, 0x16, 0x28, 0xb2, 0xdf, 0x66, 0x44, 0x39, 0xa4,
- 0xc4, 0x5c, 0xd7, 0x79, 0x00, 0xf6, 0x45, 0x0e, 0xf6, 0x0a, 0xc9, 0x1c, 0xf0, 0x64, 0xf0, 0x51,
- 0xca, 0xbc, 0x7a, 0x6f, 0x27, 0x89, 0xb6, 0x77, 0x92, 0xe8, 0xb7, 0x9d, 0x24, 0xfa, 0x7c, 0x37,
- 0xd9, 0xb3, 0xbd, 0x9b, 0xec, 0xf9, 0x79, 0x37, 0xd9, 0xf3, 0xc6, 0xc5, 0xe0, 0x4f, 0x1d, 0x3d,
- 0xaf, 0x4d, 0x97, 0x98, 0x52, 0x9d, 0x55, 0xd6, 0x59, 0xa1, 0x52, 0xa6, 0xb6, 0x68, 0x9e, 0xbe,
- 0x3c, 0xed, 0xf6, 0xe7, 0xbf, 0x7e, 0xf2, 0x27, 0xf9, 0x3f, 0xe0, 0x66, 0xff, 0x09, 0x00, 0x00,
- 0xff, 0xff, 0x15, 0xfb, 0x28, 0xf6, 0xad, 0x14, 0x00, 0x00,
+ // 1340 bytes of a gzipped FileDescriptorProto
+ 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x58, 0x5f, 0x6f, 0xdb, 0xd4,
+ 0x1b, 0xee, 0xe9, 0xba, 0xb5, 0x3d, 0xed, 0x7e, 0xbf, 0xe5, 0xb4, 0xb0, 0x34, 0xb4, 0x49, 0xe7,
+ 0x31, 0x28, 0x9d, 0x6a, 0xab, 0xd9, 0x46, 0x37, 0x24, 0x04, 0x4d, 0x47, 0x47, 0x61, 0x40, 0xc9,
+ 0x7a, 0x03, 0x02, 0x65, 0x8e, 0x73, 0x92, 0x5a, 0x4d, 0x7d, 0x3c, 0xdb, 0x89, 0xc8, 0xba, 0x02,
+ 0x9b, 0xa8, 0x40, 0x80, 0x00, 0x09, 0x89, 0x0b, 0xee, 0x11, 0x02, 0x89, 0x0f, 0xc0, 0x37, 0xd8,
+ 0x15, 0xaa, 0xc4, 0x0d, 0xe2, 0x22, 0xa0, 0x16, 0xf1, 0x01, 0x72, 0xc5, 0x05, 0x48, 0xc8, 0xe7,
+ 0xbc, 0x4e, 0x9c, 0xd9, 0x6e, 0x93, 0x52, 0xca, 0x55, 0x6d, 0x9f, 0xf7, 0xcf, 0xf3, 0x3c, 0xe7,
+ 0xb5, 0xcf, 0x93, 0xe2, 0xb3, 0x7a, 0x5e, 0x53, 0x54, 0xd3, 0x2c, 0xeb, 0x9a, 0xea, 0xe8, 0xcc,
+ 0xb0, 0x95, 0x22, 0xa5, 0x4a, 0x75, 0x56, 0xb9, 0x55, 0xa1, 0x56, 0x4d, 0x36, 0x2d, 0xe6, 0x30,
+ 0x72, 0x5a, 0xcf, 0x6b, 0xb2, 0x3f, 0x48, 0x2e, 0x52, 0x2a, 0x57, 0x67, 0x13, 0xa3, 0x25, 0x56,
+ 0x62, 0x3c, 0x46, 0x71, 0xaf, 0x44, 0x78, 0x62, 0xbc, 0xc4, 0x58, 0xa9, 0x4c, 0x15, 0xd5, 0xd4,
+ 0x15, 0xd5, 0x30, 0x98, 0x03, 0x49, 0x62, 0x35, 0xa9, 0x31, 0x7b, 0x9d, 0xd9, 0x4a, 0x5e, 0xb5,
+ 0xdd, 0x46, 0x79, 0xea, 0xa8, 0xb3, 0x8a, 0xc6, 0x74, 0x03, 0xd6, 0xa7, 0xfd, 0xeb, 0x1c, 0x45,
+ 0x33, 0xca, 0x54, 0x4b, 0xba, 0xc1, 0x8b, 0x41, 0xec, 0x99, 0x28, 0xf4, 0x2e, 0x3e, 0x11, 0x72,
+ 0x2e, 0x2a, 0xa4, 0x44, 0x0d, 0x6a, 0xeb, 0xb6, 0xbf, 0x92, 0xc6, 0x2c, 0xaa, 0x68, 0xab, 0xaa,
+ 0x61, 0xd0, 0xb2, 0x1b, 0x02, 0x97, 0x22, 0x44, 0xfa, 0x18, 0xe1, 0xd4, 0xab, 0x2e, 0x9e, 0x25,
+ 0x43, 0xa3, 0x86, 0xa3, 0x57, 0xf5, 0xdb, 0xb4, 0xb0, 0xac, 0x6a, 0x6b, 0xd4, 0xb1, 0xb3, 0xf4,
+ 0x56, 0x85, 0xda, 0x0e, 0x59, 0xc4, 0xb8, 0x05, 0x32, 0x8e, 0x26, 0xd1, 0xd4, 0x50, 0xfa, 0x31,
+ 0x59, 0x30, 0x92, 0x5d, 0x46, 0xb2, 0xd0, 0x15, 0x18, 0xc9, 0xcb, 0x6a, 0x89, 0x42, 0x6e, 0xd6,
+ 0x97, 0x49, 0xce, 0xe0, 0x61, 0x1e, 0x98, 0x5b, 0xa5, 0x7a, 0x69, 0xd5, 0x89, 0xf7, 0x4e, 0xa2,
+ 0xa9, 0xbe, 0xec, 0x10, 0x7f, 0xf6, 0x3c, 0x7f, 0x24, 0x7d, 0x88, 0xf0, 0x64, 0x34, 0x1c, 0xdb,
+ 0x64, 0x86, 0x4d, 0x49, 0x11, 0x8f, 0xea, 0xbe, 0xe5, 0x9c, 0x29, 0xd6, 0xe3, 0x68, 0xf2, 0xd8,
+ 0xd4, 0x50, 0x7a, 0x46, 0x8e, 0xd8, 0x58, 0x79, 0xa9, 0xe0, 0xe6, 0x14, 0x75, 0xaf, 0xe2, 0x22,
+ 0xa5, 0x76, 0xa6, 0xef, 0x7e, 0x3d, 0xd5, 0x93, 0x1d, 0xd1, 0x83, 0xfd, 0xa4, 0x2d, 0x84, 0x93,
+ 0x11, 0x60, 0x3c, 0x69, 0x9e, 0xc5, 0x83, 0xa2, 0x7b, 0x4e, 0x2f, 0x80, 0x32, 0x13, 0xbc, 0xbf,
+ 0xab, 0xba, 0xec, 0x49, 0x5d, 0x75, 0x35, 0x71, 0xa3, 0x96, 0x0a, 0xd0, 0x6f, 0xc0, 0x84, 0xfb,
+ 0x4e, 0x44, 0x79, 0x3f, 0x7a, 0x8f, 0x9a, 0x9a, 0x14, 0xf0, 0x48, 0x88, 0x26, 0x00, 0xe9, 0x40,
+ 0x92, 0x90, 0xa0, 0x24, 0xd2, 0x0f, 0x08, 0x3f, 0x11, 0xb5, 0x3d, 0x8b, 0xcc, 0x5a, 0x10, 0x7c,
+ 0x0f, 0x7b, 0x6e, 0x4e, 0xe3, 0x7e, 0x93, 0x59, 0x5c, 0x62, 0x57, 0x9d, 0xc1, 0xec, 0x09, 0xf7,
+ 0x76, 0xa9, 0x40, 0x26, 0x30, 0x06, 0x89, 0xdd, 0xb5, 0x63, 0x7c, 0x6d, 0x10, 0x9e, 0x84, 0x48,
+ 0xdb, 0x17, 0x94, 0xf6, 0x13, 0x84, 0xa7, 0x3b, 0x21, 0x04, 0x2a, 0xdf, 0x3c, 0xc4, 0xc9, 0x0b,
+ 0x9f, 0xb9, 0x37, 0xf1, 0x18, 0xc7, 0xb3, 0xc2, 0x1c, 0xb5, 0x9c, 0xa5, 0x5a, 0x95, 0x87, 0x1e,
+ 0xd6, 0xb4, 0x49, 0x5f, 0x22, 0x9c, 0x08, 0xab, 0x0f, 0xfc, 0xee, 0xe0, 0x41, 0x8b, 0x6a, 0xd5,
+ 0x5c, 0x91, 0x52, 0x8f, 0xd4, 0x58, 0xdb, 0x86, 0x79, 0x5b, 0xb5, 0xc0, 0x74, 0x23, 0x73, 0xd5,
+ 0x2d, 0xde, 0xa8, 0xa7, 0x4e, 0xd5, 0xd4, 0xf5, 0xf2, 0x53, 0x52, 0x33, 0x53, 0xfa, 0xf6, 0x97,
+ 0xd4, 0x54, 0x49, 0x77, 0x56, 0x2b, 0x79, 0x59, 0x63, 0xeb, 0x0a, 0x7c, 0xfb, 0xc4, 0x9f, 0x19,
+ 0xbb, 0xb0, 0xa6, 0x38, 0x35, 0x93, 0xda, 0xbc, 0x88, 0x9d, 0x1d, 0xb0, 0x00, 0x85, 0xf4, 0x06,
+ 0x8e, 0xb7, 0xb0, 0xcd, 0x6b, 0x6b, 0x87, 0x4b, 0xfd, 0x0b, 0xe4, 0x97, 0xb6, 0x59, 0x1e, 0x98,
+ 0xd7, 0xf0, 0x80, 0xaa, 0xad, 0x75, 0x48, 0x7c, 0x01, 0x88, 0xff, 0x5f, 0x10, 0xf7, 0x12, 0xbb,
+ 0xe3, 0xdd, 0xaf, 0x0a, 0x08, 0xd2, 0x4d, 0x3c, 0xde, 0xc2, 0xb5, 0xa2, 0xaf, 0x53, 0x56, 0x71,
+ 0x0e, 0x97, 0xfa, 0xd7, 0x08, 0x4f, 0x44, 0xb4, 0x00, 0xfa, 0x5b, 0x08, 0x0f, 0x3b, 0xe2, 0x79,
+ 0x87, 0x1a, 0x5c, 0x03, 0x0d, 0x46, 0x84, 0x06, 0xfe, 0xe4, 0xee, 0x74, 0x18, 0x72, 0x5a, 0x78,
+ 0x24, 0x0d, 0xc7, 0x38, 0xd0, 0x65, 0xb5, 0x46, 0xbd, 0x6f, 0x01, 0xb9, 0xd8, 0xf6, 0x9a, 0xbb,
+ 0x0a, 0x0c, 0x66, 0x1e, 0x6a, 0xd4, 0x53, 0x31, 0xd1, 0xba, 0xb5, 0x26, 0xf9, 0xdf, 0xfe, 0x38,
+ 0xee, 0xb7, 0x68, 0x59, 0xad, 0x51, 0x0b, 0xbe, 0x1a, 0xde, 0xad, 0x74, 0x03, 0x13, 0x7f, 0x13,
+ 0x90, 0xe0, 0x69, 0x7c, 0xd2, 0x74, 0x1f, 0xe4, 0xd4, 0x42, 0xc1, 0xa2, 0xb6, 0x0d, 0x8d, 0xe2,
+ 0x8d, 0x7a, 0x6a, 0x54, 0x34, 0x6a, 0x5b, 0x96, 0xb2, 0xc3, 0xfc, 0x7e, 0x1e, 0x6e, 0x19, 0x48,
+ 0xbc, 0xc0, 0x2a, 0x86, 0x43, 0x2d, 0x53, 0xb5, 0x9c, 0x7f, 0x97, 0x85, 0x01, 0x87, 0x53, 0x48,
+ 0x43, 0x60, 0x74, 0x1d, 0x13, 0xcd, 0xb7, 0x98, 0xe3, 0x78, 0xa1, 0xf3, 0x44, 0xa3, 0x9e, 0x1a,
+ 0x83, 0xce, 0x81, 0x18, 0x29, 0x1b, 0xd3, 0x1e, 0xac, 0x2a, 0x7d, 0xe4, 0x9d, 0x86, 0x8b, 0x94,
+ 0x3e, 0x67, 0xa8, 0xf9, 0x32, 0x2d, 0xc0, 0xe7, 0xf1, 0xbf, 0x30, 0x0a, 0x5f, 0x79, 0x67, 0x62,
+ 0x18, 0x1a, 0xe0, 0x7f, 0x17, 0xe1, 0xd1, 0x22, 0xa5, 0x39, 0x2a, 0xd6, 0x73, 0xa0, 0xaa, 0x37,
+ 0xdc, 0xd3, 0x91, 0x9f, 0xeb, 0x40, 0xcd, 0xcc, 0x59, 0x98, 0xf6, 0x47, 0x84, 0x64, 0x61, 0x55,
+ 0xa5, 0x2c, 0x29, 0x06, 0xb0, 0x48, 0xf7, 0xbc, 0x57, 0x2f, 0x50, 0xd3, 0x13, 0xed, 0x7c, 0xeb,
+ 0x74, 0x13, 0x5b, 0x43, 0x1a, 0xf5, 0xd4, 0xff, 0x60, 0xe2, 0xc4, 0x82, 0xd4, 0x3c, 0xf1, 0xda,
+ 0x87, 0xa8, 0xb7, 0xb3, 0x21, 0x92, 0x5e, 0x8b, 0xda, 0xb9, 0xa6, 0x54, 0x73, 0x78, 0xc8, 0xc7,
+ 0x89, 0x03, 0x19, 0xc8, 0x3c, 0xdc, 0xa8, 0xa7, 0x48, 0x80, 0xb0, 0x94, 0xc5, 0x2d, 0x9e, 0xe9,
+ 0xdf, 0x63, 0xf8, 0x38, 0xaf, 0x4d, 0xbe, 0x47, 0x78, 0x24, 0xe4, 0x14, 0x25, 0x97, 0x23, 0x65,
+ 0xde, 0xc7, 0x77, 0x26, 0xae, 0x1c, 0x20, 0x53, 0xf0, 0x91, 0x66, 0xee, 0xfd, 0xf8, 0xdb, 0xe7,
+ 0xbd, 0x8f, 0x93, 0x73, 0x0a, 0x38, 0xe5, 0xa6, 0x43, 0x0e, 0x3b, 0xbf, 0xc9, 0xa7, 0xbd, 0x98,
+ 0x04, 0xcb, 0x91, 0xb9, 0x6e, 0x01, 0x78, 0xc8, 0x2f, 0x77, 0x9f, 0x08, 0xc0, 0xb7, 0x10, 0x47,
+ 0xfe, 0x0e, 0xd9, 0x0c, 0x20, 0xf7, 0x06, 0x4d, 0xd9, 0x68, 0x1e, 0x07, 0x72, 0x6b, 0xc3, 0x37,
+ 0x15, 0x77, 0x44, 0xda, 0x16, 0x61, 0x7a, 0x36, 0x15, 0xdb, 0x85, 0x65, 0x68, 0xb4, 0x6d, 0xd5,
+ 0x7b, 0xb8, 0x19, 0x26, 0x09, 0xf9, 0x0b, 0xe1, 0x89, 0x3d, 0x3d, 0x11, 0xc9, 0x74, 0xbd, 0x3b,
+ 0x01, 0x87, 0x98, 0x58, 0xf8, 0x47, 0x35, 0x40, 0xb2, 0x1b, 0x5c, 0xb1, 0x97, 0xc8, 0x8b, 0x7b,
+ 0x28, 0x16, 0xa6, 0x93, 0xa7, 0x4e, 0xe8, 0x44, 0xfc, 0x89, 0xf0, 0xc9, 0x36, 0x8f, 0x44, 0xd2,
+ 0x7b, 0x63, 0x0d, 0x33, 0x6c, 0x89, 0x0b, 0x5d, 0xe5, 0x00, 0x9f, 0xbb, 0x62, 0x04, 0x36, 0x48,
+ 0xed, 0xe8, 0x46, 0xc0, 0x71, 0x91, 0xe4, 0x9a, 0x0e, 0x8e, 0xfc, 0x81, 0xf0, 0xb0, 0xdf, 0x27,
+ 0x91, 0xd9, 0x0e, 0x98, 0xb4, 0x5b, 0xb6, 0x44, 0xba, 0x9b, 0x14, 0xe0, 0xfe, 0xae, 0xe0, 0x7e,
+ 0x9b, 0xbc, 0x75, 0xd4, 0xdc, 0x3d, 0x13, 0x47, 0x3e, 0xe8, 0xc5, 0xa7, 0x1e, 0xf4, 0x49, 0xe4,
+ 0x52, 0x07, 0x5c, 0x82, 0xd6, 0x2d, 0xf1, 0x64, 0xb7, 0x69, 0x20, 0xc3, 0x7b, 0x42, 0x86, 0xb7,
+ 0xc9, 0x9d, 0xa3, 0x96, 0xc1, 0xef, 0xe3, 0xc8, 0x37, 0x08, 0x1f, 0xe7, 0x87, 0x3f, 0x99, 0xde,
+ 0x9b, 0x88, 0xdf, 0xe8, 0x24, 0xce, 0x77, 0x14, 0x0b, 0x4c, 0xaf, 0x71, 0xa2, 0xf3, 0xe4, 0x99,
+ 0x0e, 0x5f, 0x5e, 0x70, 0x3f, 0xb6, 0xb2, 0x01, 0x57, 0x9b, 0x0a, 0xb7, 0x2c, 0xe4, 0x67, 0x84,
+ 0x63, 0x01, 0x2b, 0x44, 0xf6, 0xd9, 0x80, 0x28, 0xb3, 0x96, 0x98, 0xeb, 0x3a, 0x0f, 0xf8, 0xac,
+ 0x70, 0x3e, 0x2f, 0x93, 0xeb, 0x07, 0xe7, 0x13, 0xf4, 0x63, 0xe4, 0x3b, 0x84, 0x49, 0xd0, 0xe8,
+ 0xec, 0x77, 0x3e, 0x45, 0x1a, 0xb5, 0xfd, 0xce, 0xa7, 0x68, 0x4f, 0x25, 0x3d, 0xca, 0xf9, 0x25,
+ 0xc9, 0x78, 0x80, 0x9f, 0xcf, 0x22, 0x90, 0x6d, 0x84, 0x63, 0x81, 0x22, 0xfb, 0x6d, 0x46, 0x94,
+ 0x43, 0x4a, 0xcc, 0x75, 0x9d, 0x07, 0x60, 0x5f, 0xe0, 0x60, 0xaf, 0x92, 0xcc, 0x01, 0x4f, 0x06,
+ 0x1f, 0xa5, 0xcc, 0x2b, 0xf7, 0x77, 0x92, 0x68, 0x7b, 0x27, 0x89, 0x7e, 0xdd, 0x49, 0xa2, 0xcf,
+ 0x76, 0x93, 0x3d, 0xdb, 0xbb, 0xc9, 0x9e, 0x9f, 0x76, 0x93, 0x3d, 0xaf, 0x5f, 0x0a, 0xfe, 0xd4,
+ 0xd1, 0xf3, 0xda, 0x4c, 0x89, 0x29, 0xd5, 0x8b, 0xca, 0x3a, 0x2b, 0x54, 0xca, 0xd4, 0x16, 0xcd,
+ 0xd3, 0x57, 0x66, 0xdc, 0xfe, 0xfc, 0xd7, 0x4f, 0xfe, 0x04, 0xff, 0x07, 0xdc, 0x85, 0xbf, 0x03,
+ 0x00, 0x00, 0xff, 0xff, 0xae, 0x96, 0x61, 0xf5, 0xad, 0x14, 0x00, 0x00,
}
// Reference imports to suppress errors if they are not otherwise used.
diff --git a/modules/apps/29-fee/types/tx.pb.go b/modules/apps/29-fee/types/tx.pb.go
index e62ca434e8d..4eec969d2c2 100644
--- a/modules/apps/29-fee/types/tx.pb.go
+++ b/modules/apps/29-fee/types/tx.pb.go
@@ -6,7 +6,7 @@ package types
import (
context "context"
fmt "fmt"
- types "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types"
+ types "github.com/cosmos/ibc-go/v4/modules/core/04-channel/types"
_ "github.com/gogo/protobuf/gogoproto"
grpc1 "github.com/gogo/protobuf/grpc"
proto "github.com/gogo/protobuf/proto"
@@ -372,51 +372,51 @@ func init() {
func init() { proto.RegisterFile("ibc/applications/fee/v1/tx.proto", fileDescriptor_05c93128649f1b96) }
var fileDescriptor_05c93128649f1b96 = []byte{
- // 699 bytes of a gzipped FileDescriptorProto
- 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x55, 0x4f, 0x4f, 0xdb, 0x4a,
- 0x10, 0x8f, 0x09, 0xff, 0x32, 0xf0, 0x80, 0xac, 0xe0, 0xe1, 0x58, 0x10, 0xf3, 0xac, 0xa7, 0x27,
- 0x9e, 0x2a, 0xec, 0x26, 0xc0, 0xa1, 0x48, 0x55, 0x55, 0x23, 0xa1, 0x22, 0x15, 0x35, 0xb2, 0x7a,
- 0xaa, 0x2a, 0x21, 0xc7, 0xd9, 0x18, 0xb7, 0x89, 0xd7, 0xf2, 0x3a, 0x51, 0xfd, 0x0d, 0x7a, 0xa4,
- 0xdf, 0x80, 0x6f, 0xd0, 0xaf, 0xc1, 0x91, 0x43, 0x0f, 0x3d, 0x59, 0x15, 0x5c, 0x7a, 0xab, 0x94,
- 0x7e, 0x81, 0x6a, 0xed, 0xb5, 0xeb, 0x24, 0x0a, 0x4a, 0x7b, 0xea, 0x6d, 0x67, 0xe6, 0x37, 0xbf,
- 0x9d, 0xf9, 0x79, 0xc6, 0x0b, 0x3b, 0x4e, 0xd3, 0xd2, 0x4c, 0xcf, 0xeb, 0x38, 0x96, 0x19, 0x38,
- 0xc4, 0xa5, 0x5a, 0x1b, 0x63, 0xad, 0x5f, 0xd3, 0x82, 0x77, 0xaa, 0xe7, 0x93, 0x80, 0xa0, 0x4d,
- 0xa7, 0x69, 0xa9, 0x79, 0x84, 0xda, 0xc6, 0x58, 0xed, 0xd7, 0xa4, 0x75, 0x9b, 0xd8, 0x24, 0xc6,
- 0x68, 0xec, 0x94, 0xc0, 0xa5, 0x7f, 0x26, 0x11, 0xb2, 0xac, 0x1c, 0xc4, 0x22, 0x3e, 0xd6, 0xac,
- 0x0b, 0xd3, 0x75, 0x71, 0x87, 0x85, 0xf9, 0x31, 0x81, 0x28, 0x1f, 0x05, 0x58, 0x3b, 0xa3, 0xb6,
- 0x81, 0x6d, 0x87, 0x06, 0xd8, 0x6f, 0x98, 0x21, 0xc6, 0xe8, 0x01, 0x2c, 0x78, 0xc4, 0x0f, 0xce,
- 0x9d, 0x96, 0x28, 0xec, 0x08, 0xbb, 0x25, 0x1d, 0x0d, 0x22, 0x79, 0x25, 0x34, 0xbb, 0x9d, 0x23,
- 0x85, 0x07, 0x14, 0x63, 0x9e, 0x9d, 0x4e, 0x5b, 0xe8, 0x00, 0x80, 0x53, 0x32, 0xfc, 0x4c, 0x8c,
- 0xdf, 0x18, 0x44, 0x72, 0x39, 0xc1, 0xff, 0x8c, 0x29, 0x46, 0x89, 0x1b, 0xa7, 0x2d, 0x24, 0xc2,
- 0x82, 0x8f, 0x3b, 0x66, 0x88, 0x7d, 0xb1, 0xc8, 0x52, 0x8c, 0xd4, 0x44, 0xeb, 0x30, 0xe7, 0xb1,
- 0x2a, 0xc4, 0xd9, 0xd8, 0x9f, 0x18, 0x47, 0x8b, 0xef, 0xaf, 0xe4, 0xc2, 0xd7, 0x2b, 0xb9, 0xa0,
- 0x48, 0x20, 0x8e, 0x16, 0x6c, 0x60, 0xea, 0x11, 0x97, 0x62, 0xe5, 0xbb, 0x00, 0x5b, 0xb9, 0xe0,
- 0x31, 0xe9, 0xb9, 0x01, 0xf6, 0x3d, 0xd3, 0x0f, 0xc2, 0x3f, 0xa0, 0xb3, 0xe7, 0x80, 0xac, 0x5c,
- 0x45, 0xe7, 0xb9, 0x36, 0xf5, 0xed, 0x41, 0x24, 0x57, 0x38, 0xef, 0x18, 0x46, 0x31, 0xca, 0xd6,
- 0x68, 0x2b, 0x39, 0x45, 0xfe, 0x83, 0x7f, 0xef, 0x6b, 0x3a, 0x53, 0xe7, 0x72, 0x06, 0x56, 0xcf,
- 0xa8, 0xdd, 0x30, 0xc3, 0x86, 0x69, 0xbd, 0xc5, 0xc1, 0x09, 0xc6, 0xe8, 0x00, 0x8a, 0x6d, 0x8c,
- 0x63, 0x31, 0x96, 0xea, 0x5b, 0xea, 0x84, 0x11, 0x54, 0x4f, 0x30, 0xd6, 0x67, 0xaf, 0x23, 0xb9,
- 0x60, 0x30, 0x38, 0x7a, 0x02, 0x2b, 0x94, 0xf4, 0x7c, 0x0b, 0x9f, 0xa7, 0x6a, 0x26, 0xea, 0x54,
- 0x06, 0x91, 0xbc, 0x91, 0x74, 0x31, 0x1c, 0x57, 0x8c, 0xe5, 0xc4, 0xd1, 0x48, 0xa4, 0x7d, 0x06,
- 0x65, 0x0e, 0xc8, 0x29, 0x1c, 0xcb, 0xa5, 0x6f, 0x0d, 0x22, 0x59, 0x1c, 0xe2, 0xc8, 0x0b, 0xbd,
- 0x9a, 0xf8, 0x8e, 0x33, 0xb9, 0xff, 0x86, 0x79, 0xea, 0xd8, 0x2e, 0xf6, 0xf9, 0xbc, 0x70, 0x0b,
- 0x49, 0xb0, 0xc8, 0x75, 0xa7, 0xe2, 0xdc, 0x4e, 0x71, 0xb7, 0x64, 0x64, 0x76, 0x4e, 0xba, 0x0a,
- 0x6c, 0x8e, 0x28, 0x92, 0xa9, 0xf5, 0x49, 0x80, 0xf5, 0x91, 0xd8, 0x53, 0x1a, 0xba, 0x16, 0x7a,
- 0x09, 0x25, 0x2f, 0xf6, 0xa4, 0x53, 0xb4, 0x54, 0xdf, 0x8e, 0x85, 0x63, 0x9b, 0xa6, 0xa6, 0xeb,
- 0xd5, 0xaf, 0xa9, 0x49, 0xde, 0x69, 0x4b, 0x17, 0x99, 0x72, 0x83, 0x48, 0x5e, 0xe3, 0x83, 0x96,
- 0x66, 0x2b, 0xc6, 0xa2, 0xc7, 0x31, 0xe8, 0x35, 0x00, 0xf7, 0xb3, 0xef, 0x31, 0x13, 0xd3, 0x2a,
- 0x13, 0xbf, 0x47, 0x56, 0x92, 0x5e, 0xe1, 0xdc, 0xe5, 0x21, 0xee, 0x36, 0x1b, 0x1a, 0x5e, 0xe6,
- 0xc9, 0xd0, 0xb0, 0x54, 0xe3, 0x0d, 0x19, 0xeb, 0x2a, 0x6d, 0xbb, 0xfe, 0xad, 0x08, 0xc5, 0x33,
- 0x6a, 0xa3, 0x2e, 0xfc, 0x35, 0xfc, 0x53, 0xf8, 0x7f, 0x62, 0x31, 0xa3, 0xeb, 0x28, 0xd5, 0xa6,
- 0x86, 0xa6, 0xd7, 0xa2, 0x0f, 0x02, 0x54, 0x26, 0xaf, 0xed, 0xe1, 0x34, 0x84, 0x63, 0x69, 0xd2,
- 0xe3, 0xdf, 0x4a, 0xcb, 0x6a, 0x7a, 0x03, 0xcb, 0x43, 0xbb, 0xb2, 0x7b, 0x1f, 0x5d, 0x1e, 0x29,
- 0x3d, 0x9c, 0x16, 0x99, 0xdd, 0x15, 0x42, 0x79, 0x7c, 0xd2, 0xf6, 0xa6, 0xa5, 0x89, 0xe1, 0xd2,
- 0xe1, 0x2f, 0xc1, 0xd3, 0xab, 0xf5, 0x17, 0xd7, 0xb7, 0x55, 0xe1, 0xe6, 0xb6, 0x2a, 0x7c, 0xb9,
- 0xad, 0x0a, 0x97, 0x77, 0xd5, 0xc2, 0xcd, 0x5d, 0xb5, 0xf0, 0xf9, 0xae, 0x5a, 0x78, 0x75, 0x68,
- 0x3b, 0xc1, 0x45, 0xaf, 0xa9, 0x5a, 0xa4, 0xab, 0x59, 0x84, 0x76, 0x09, 0xd5, 0x9c, 0xa6, 0xb5,
- 0x67, 0x13, 0xad, 0xbf, 0xaf, 0x75, 0x49, 0xab, 0xd7, 0xc1, 0x94, 0x3d, 0x41, 0x54, 0xab, 0x3f,
- 0xda, 0x63, 0xaf, 0x4f, 0x10, 0x7a, 0x98, 0x36, 0xe7, 0xe3, 0xa7, 0x65, 0xff, 0x47, 0x00, 0x00,
- 0x00, 0xff, 0xff, 0x59, 0xf9, 0x73, 0xbc, 0xf3, 0x06, 0x00, 0x00,
+ // 698 bytes of a gzipped FileDescriptorProto
+ 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x55, 0xcf, 0x6e, 0xd3, 0x4c,
+ 0x10, 0x8f, 0x9b, 0xfe, 0xcb, 0xb4, 0x5f, 0xdb, 0xac, 0xda, 0xaf, 0x8e, 0xd5, 0xc6, 0xfd, 0xac,
+ 0x4f, 0xa8, 0x08, 0xd5, 0x26, 0xa1, 0x3d, 0x50, 0x09, 0x21, 0x5c, 0xa9, 0xa2, 0x12, 0x15, 0x91,
+ 0xc5, 0x09, 0x21, 0x55, 0x8e, 0xb3, 0x71, 0x0d, 0x89, 0xd7, 0xf2, 0x3a, 0x11, 0x7e, 0x03, 0x8e,
+ 0xe5, 0x0d, 0xfa, 0x06, 0xbc, 0x46, 0x8f, 0x3d, 0x70, 0xe0, 0x64, 0xa1, 0xf6, 0xc2, 0x0d, 0x29,
+ 0xbc, 0x00, 0x5a, 0x7b, 0x6d, 0x9c, 0x44, 0xa9, 0x02, 0x27, 0x6e, 0x3b, 0x33, 0xbf, 0xf9, 0xed,
+ 0xcc, 0xcf, 0x33, 0x5e, 0xd8, 0x71, 0x9a, 0x96, 0x66, 0x7a, 0x5e, 0xc7, 0xb1, 0xcc, 0xc0, 0x21,
+ 0x2e, 0xd5, 0xda, 0x18, 0x6b, 0xfd, 0x9a, 0x16, 0xbc, 0x57, 0x3d, 0x9f, 0x04, 0x04, 0x6d, 0x3a,
+ 0x4d, 0x4b, 0xcd, 0x23, 0xd4, 0x36, 0xc6, 0x6a, 0xbf, 0x26, 0xad, 0xdb, 0xc4, 0x26, 0x31, 0x46,
+ 0x63, 0xa7, 0x04, 0x2e, 0xfd, 0x37, 0x89, 0x90, 0x65, 0xe5, 0x20, 0x16, 0xf1, 0xb1, 0x66, 0x9d,
+ 0x9b, 0xae, 0x8b, 0x3b, 0x2c, 0xcc, 0x8f, 0x09, 0x44, 0xf9, 0x24, 0xc0, 0xda, 0x29, 0xb5, 0x0d,
+ 0x6c, 0x3b, 0x34, 0xc0, 0x7e, 0xc3, 0x0c, 0x31, 0x46, 0x0f, 0x60, 0xc1, 0x23, 0x7e, 0x70, 0xe6,
+ 0xb4, 0x44, 0x61, 0x47, 0xd8, 0x2d, 0xe9, 0x68, 0x10, 0xc9, 0x2b, 0xa1, 0xd9, 0xed, 0x1c, 0x2a,
+ 0x3c, 0xa0, 0x18, 0xf3, 0xec, 0x74, 0xd2, 0x42, 0xfb, 0x00, 0x9c, 0x92, 0xe1, 0x67, 0x62, 0xfc,
+ 0xc6, 0x20, 0x92, 0xcb, 0x09, 0xfe, 0x57, 0x4c, 0x31, 0x4a, 0xdc, 0x38, 0x69, 0x21, 0x11, 0x16,
+ 0x7c, 0xdc, 0x31, 0x43, 0xec, 0x8b, 0x45, 0x96, 0x62, 0xa4, 0x26, 0x5a, 0x87, 0x39, 0x8f, 0x55,
+ 0x21, 0xce, 0xc6, 0xfe, 0xc4, 0x38, 0x5c, 0xfc, 0x70, 0x29, 0x17, 0xbe, 0x5d, 0xca, 0x05, 0x45,
+ 0x02, 0x71, 0xb4, 0x60, 0x03, 0x53, 0x8f, 0xb8, 0x14, 0x2b, 0x3f, 0x04, 0xd8, 0xca, 0x05, 0x8f,
+ 0x48, 0xcf, 0x0d, 0xb0, 0xef, 0x99, 0x7e, 0x10, 0xfe, 0x05, 0x9d, 0xbd, 0x00, 0x64, 0xe5, 0x2a,
+ 0x3a, 0xcb, 0xb5, 0xa9, 0x6f, 0x0f, 0x22, 0xb9, 0xc2, 0x79, 0xc7, 0x30, 0x8a, 0x51, 0xb6, 0x46,
+ 0x5b, 0xc9, 0x29, 0x72, 0x0f, 0xfe, 0xbf, 0xab, 0xe9, 0x4c, 0x9d, 0x8b, 0x19, 0x58, 0x3d, 0xa5,
+ 0x76, 0xc3, 0x0c, 0x1b, 0xa6, 0xf5, 0x0e, 0x07, 0xc7, 0x18, 0xa3, 0x7d, 0x28, 0xb6, 0x31, 0x8e,
+ 0xc5, 0x58, 0xaa, 0x6f, 0xa9, 0x13, 0x46, 0x50, 0x3d, 0xc6, 0x58, 0x9f, 0xbd, 0x8a, 0xe4, 0x82,
+ 0xc1, 0xe0, 0xe8, 0x29, 0xac, 0x50, 0xd2, 0xf3, 0x2d, 0x7c, 0x96, 0xaa, 0x99, 0xa8, 0x53, 0x19,
+ 0x44, 0xf2, 0x46, 0xd2, 0xc5, 0x70, 0x5c, 0x31, 0x96, 0x13, 0x47, 0x23, 0x91, 0xf6, 0x39, 0x94,
+ 0x39, 0x20, 0xa7, 0x70, 0x2c, 0x97, 0xbe, 0x35, 0x88, 0x64, 0x71, 0x88, 0x23, 0x2f, 0xf4, 0x6a,
+ 0xe2, 0x3b, 0xca, 0xe4, 0xfe, 0x17, 0xe6, 0xa9, 0x63, 0xbb, 0xd8, 0xe7, 0xf3, 0xc2, 0x2d, 0x24,
+ 0xc1, 0x22, 0xd7, 0x9d, 0x8a, 0x73, 0x3b, 0xc5, 0xdd, 0x92, 0x91, 0xd9, 0x39, 0xe9, 0x2a, 0xb0,
+ 0x39, 0xa2, 0x48, 0xa6, 0xd6, 0x67, 0x01, 0xd6, 0x47, 0x62, 0xcf, 0x68, 0xe8, 0x5a, 0xe8, 0x15,
+ 0x94, 0xbc, 0xd8, 0x93, 0x4e, 0xd1, 0x52, 0x7d, 0x3b, 0x16, 0x8e, 0x6d, 0x9a, 0x9a, 0xae, 0x57,
+ 0xbf, 0xa6, 0x26, 0x79, 0x27, 0x2d, 0x5d, 0x64, 0xca, 0x0d, 0x22, 0x79, 0x8d, 0x0f, 0x5a, 0x9a,
+ 0xad, 0x18, 0x8b, 0x1e, 0xc7, 0xa0, 0x37, 0x00, 0xdc, 0xcf, 0xbe, 0xc7, 0x4c, 0x4c, 0xab, 0x4c,
+ 0xfc, 0x1e, 0x59, 0x49, 0x7a, 0x85, 0x73, 0x97, 0x87, 0xb8, 0xdb, 0x6c, 0x68, 0x78, 0x99, 0xc7,
+ 0x43, 0xc3, 0x52, 0x8d, 0x37, 0x64, 0xac, 0xab, 0xb4, 0xed, 0xfa, 0xf7, 0x22, 0x14, 0x4f, 0xa9,
+ 0x8d, 0xba, 0xf0, 0xcf, 0xf0, 0x4f, 0xe1, 0xfe, 0xc4, 0x62, 0x46, 0xd7, 0x51, 0xaa, 0x4d, 0x0d,
+ 0x4d, 0xaf, 0x45, 0x1f, 0x05, 0xa8, 0x4c, 0x5e, 0xdb, 0x83, 0x69, 0x08, 0xc7, 0xd2, 0xa4, 0x27,
+ 0x7f, 0x94, 0x96, 0xd5, 0xf4, 0x16, 0x96, 0x87, 0x76, 0x65, 0xf7, 0x2e, 0xba, 0x3c, 0x52, 0x7a,
+ 0x38, 0x2d, 0x32, 0xbb, 0x2b, 0x84, 0xf2, 0xf8, 0xa4, 0xed, 0x4d, 0x4b, 0x13, 0xc3, 0xa5, 0x83,
+ 0xdf, 0x82, 0xa7, 0x57, 0xeb, 0x2f, 0xaf, 0x6e, 0xaa, 0xc2, 0xf5, 0x4d, 0x55, 0xf8, 0x7a, 0x53,
+ 0x15, 0x2e, 0x6e, 0xab, 0x85, 0xeb, 0xdb, 0x6a, 0xe1, 0xcb, 0x6d, 0xb5, 0xf0, 0xfa, 0xc0, 0x76,
+ 0x82, 0xf3, 0x5e, 0x53, 0xb5, 0x48, 0x57, 0xb3, 0x08, 0xed, 0x12, 0xaa, 0x39, 0x4d, 0x6b, 0xcf,
+ 0x26, 0x5a, 0x7f, 0x5f, 0xeb, 0x92, 0x56, 0xaf, 0x83, 0x29, 0x7b, 0x82, 0xa8, 0x56, 0x7f, 0xbc,
+ 0xc7, 0x5e, 0x9f, 0x20, 0xf4, 0x30, 0x6d, 0xce, 0xc7, 0x4f, 0xcb, 0xa3, 0x9f, 0x01, 0x00, 0x00,
+ 0xff, 0xff, 0xe2, 0x94, 0x3a, 0xbf, 0xf3, 0x06, 0x00, 0x00,
}
// Reference imports to suppress errors if they are not otherwise used.
diff --git a/modules/apps/transfer/client/cli/query.go b/modules/apps/transfer/client/cli/query.go
index 2a6e3161a93..9f9ce97be71 100644
--- a/modules/apps/transfer/client/cli/query.go
+++ b/modules/apps/transfer/client/cli/query.go
@@ -8,7 +8,7 @@ import (
"github.com/cosmos/cosmos-sdk/version"
"github.com/spf13/cobra"
- "github.com/cosmos/ibc-go/v3/modules/apps/transfer/types"
+ "github.com/cosmos/ibc-go/v4/modules/apps/transfer/types"
)
// GetCmdQueryDenomTrace defines the command to query a a denomination trace from a given trace hash or ibc denom.
diff --git a/modules/apps/transfer/client/cli/tx.go b/modules/apps/transfer/client/cli/tx.go
index 02e006be5eb..cddff4b4d9a 100644
--- a/modules/apps/transfer/client/cli/tx.go
+++ b/modules/apps/transfer/client/cli/tx.go
@@ -13,9 +13,9 @@ import (
"github.com/cosmos/cosmos-sdk/version"
"github.com/spf13/cobra"
- "github.com/cosmos/ibc-go/v3/modules/apps/transfer/types"
- clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types"
- channelutils "github.com/cosmos/ibc-go/v3/modules/core/04-channel/client/utils"
+ "github.com/cosmos/ibc-go/v4/modules/apps/transfer/types"
+ clienttypes "github.com/cosmos/ibc-go/v4/modules/core/02-client/types"
+ channelutils "github.com/cosmos/ibc-go/v4/modules/core/04-channel/client/utils"
)
const (
diff --git a/modules/apps/transfer/ibc_module.go b/modules/apps/transfer/ibc_module.go
index 07469622bfc..96505e05ee6 100644
--- a/modules/apps/transfer/ibc_module.go
+++ b/modules/apps/transfer/ibc_module.go
@@ -9,12 +9,12 @@ import (
sdkerrors "github.com/cosmos/cosmos-sdk/types/errors"
capabilitytypes "github.com/cosmos/cosmos-sdk/x/capability/types"
- "github.com/cosmos/ibc-go/v3/modules/apps/transfer/keeper"
- "github.com/cosmos/ibc-go/v3/modules/apps/transfer/types"
- channeltypes "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types"
- porttypes "github.com/cosmos/ibc-go/v3/modules/core/05-port/types"
- host "github.com/cosmos/ibc-go/v3/modules/core/24-host"
- ibcexported "github.com/cosmos/ibc-go/v3/modules/core/exported"
+ "github.com/cosmos/ibc-go/v4/modules/apps/transfer/keeper"
+ "github.com/cosmos/ibc-go/v4/modules/apps/transfer/types"
+ channeltypes "github.com/cosmos/ibc-go/v4/modules/core/04-channel/types"
+ porttypes "github.com/cosmos/ibc-go/v4/modules/core/05-port/types"
+ host "github.com/cosmos/ibc-go/v4/modules/core/24-host"
+ ibcexported "github.com/cosmos/ibc-go/v4/modules/core/exported"
)
// IBCModule implements the ICS26 interface for transfer given the transfer keeper.
@@ -111,15 +111,9 @@ func (im IBCModule) OnChanOpenTry(
return "", sdkerrors.Wrapf(types.ErrInvalidVersion, "invalid counterparty version: got: %s, expected %s", counterpartyVersion, types.Version)
}
- // Module may have already claimed capability in OnChanOpenInit in the case of crossing hellos
- // (ie chainA and chainB both call ChanOpenInit before one of them calls ChanOpenTry)
- // If module can already authenticate the capability then module already owns it so we don't need to claim
- // Otherwise, module does not have channel capability and we must claim it from IBC
- if !im.keeper.AuthenticateCapability(ctx, chanCap, host.ChannelCapabilityPath(portID, channelID)) {
- // Only claim channel capability passed back by IBC module if we do not already own it
- if err := im.keeper.ClaimCapability(ctx, chanCap, host.ChannelCapabilityPath(portID, channelID)); err != nil {
- return "", err
- }
+ // OpenTry must claim the channelCapability that IBC passes into the callback
+ if err := im.keeper.ClaimCapability(ctx, chanCap, host.ChannelCapabilityPath(portID, channelID)); err != nil {
+ return "", err
}
return types.Version, nil
@@ -178,8 +172,10 @@ func (im IBCModule) OnRecvPacket(
ack := channeltypes.NewResultAcknowledgement([]byte{byte(1)})
var data types.FungibleTokenPacketData
+ var ackErr error
if err := types.ModuleCdc.UnmarshalJSON(packet.GetData(), &data); err != nil {
- ack = channeltypes.NewErrorAcknowledgement("cannot unmarshal ICS-20 transfer packet data")
+ ackErr = sdkerrors.Wrapf(sdkerrors.ErrInvalidType, "cannot unmarshal ICS-20 transfer packet data")
+ ack = channeltypes.NewErrorAcknowledgement(ackErr)
}
// only attempt the application logic if the packet data
@@ -187,19 +183,28 @@ func (im IBCModule) OnRecvPacket(
if ack.Success() {
err := im.keeper.OnRecvPacket(ctx, packet, data)
if err != nil {
- ack = types.NewErrorAcknowledgement(err)
+ ack = channeltypes.NewErrorAcknowledgement(err)
+ ackErr = err
}
}
+ eventAttributes := []sdk.Attribute{
+ sdk.NewAttribute(sdk.AttributeKeyModule, types.ModuleName),
+ sdk.NewAttribute(sdk.AttributeKeySender, data.Sender),
+ sdk.NewAttribute(types.AttributeKeyReceiver, data.Receiver),
+ sdk.NewAttribute(types.AttributeKeyDenom, data.Denom),
+ sdk.NewAttribute(types.AttributeKeyAmount, data.Amount),
+ sdk.NewAttribute(types.AttributeKeyAckSuccess, fmt.Sprintf("%t", ack.Success())),
+ }
+
+ if ackErr != nil {
+ eventAttributes = append(eventAttributes, sdk.NewAttribute(types.AttributeKeyAckError, ackErr.Error()))
+ }
+
ctx.EventManager().EmitEvent(
sdk.NewEvent(
types.EventTypePacket,
- sdk.NewAttribute(sdk.AttributeKeyModule, types.ModuleName),
- sdk.NewAttribute(sdk.AttributeKeySender, data.Sender),
- sdk.NewAttribute(types.AttributeKeyReceiver, data.Receiver),
- sdk.NewAttribute(types.AttributeKeyDenom, data.Denom),
- sdk.NewAttribute(types.AttributeKeyAmount, data.Amount),
- sdk.NewAttribute(types.AttributeKeyAckSuccess, fmt.Sprintf("%t", ack.Success())),
+ eventAttributes...,
),
)
diff --git a/modules/apps/transfer/ibc_module_test.go b/modules/apps/transfer/ibc_module_test.go
index b11444b945e..3ff7b25679e 100644
--- a/modules/apps/transfer/ibc_module_test.go
+++ b/modules/apps/transfer/ibc_module_test.go
@@ -5,11 +5,11 @@ import (
capabilitytypes "github.com/cosmos/cosmos-sdk/x/capability/types"
- "github.com/cosmos/ibc-go/v3/modules/apps/transfer"
- "github.com/cosmos/ibc-go/v3/modules/apps/transfer/types"
- channeltypes "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types"
- host "github.com/cosmos/ibc-go/v3/modules/core/24-host"
- ibctesting "github.com/cosmos/ibc-go/v3/testing"
+ "github.com/cosmos/ibc-go/v4/modules/apps/transfer"
+ "github.com/cosmos/ibc-go/v4/modules/apps/transfer/types"
+ channeltypes "github.com/cosmos/ibc-go/v4/modules/core/04-channel/types"
+ host "github.com/cosmos/ibc-go/v4/modules/core/24-host"
+ ibctesting "github.com/cosmos/ibc-go/v4/testing"
)
func (suite *TransferTestSuite) TestOnChanOpenInit() {
@@ -124,10 +124,10 @@ func (suite *TransferTestSuite) TestOnChanOpenTry() {
}, false,
},
{
- "capability already claimed in INIT should pass", func() {
+ "capability already claimed", func() {
err := suite.chainA.GetSimApp().ScopedTransferKeeper.ClaimCapability(suite.chainA.GetContext(), chanCap, host.ChannelCapabilityPath(path.EndpointA.ChannelConfig.PortID, path.EndpointA.ChannelID))
suite.Require().NoError(err)
- }, true,
+ }, false,
},
{
"invalid order - ORDERED", func() {
diff --git a/modules/apps/transfer/keeper/MBT_README.md b/modules/apps/transfer/keeper/MBT_README.md
index 3cad1e58993..c2a62599f36 100644
--- a/modules/apps/transfer/keeper/MBT_README.md
+++ b/modules/apps/transfer/keeper/MBT_README.md
@@ -36,7 +36,7 @@ and executed automatically.
The easiest way to run Apalache is by
-[using a Docker image](https://github.com/informalsystems/apalache/blob/master/docs/manual.md#useDocker);
+[using a Docker image](https://apalache.informal.systems/docs/apalache/installation/docker.html);
to run Jsonatr you need to locally clone the repository, and then,
after building it, add the `target/debug` directory into your `PATH`.
diff --git a/modules/apps/transfer/keeper/encoding.go b/modules/apps/transfer/keeper/encoding.go
index 7e0333849d4..0dfa979cb91 100644
--- a/modules/apps/transfer/keeper/encoding.go
+++ b/modules/apps/transfer/keeper/encoding.go
@@ -1,7 +1,7 @@
package keeper
import (
- "github.com/cosmos/ibc-go/v3/modules/apps/transfer/types"
+ "github.com/cosmos/ibc-go/v4/modules/apps/transfer/types"
)
// UnmarshalDenomTrace attempts to decode and return an DenomTrace object from
diff --git a/modules/apps/transfer/keeper/genesis.go b/modules/apps/transfer/keeper/genesis.go
index d4020508cc9..a3506e4e22d 100644
--- a/modules/apps/transfer/keeper/genesis.go
+++ b/modules/apps/transfer/keeper/genesis.go
@@ -5,7 +5,7 @@ import (
sdk "github.com/cosmos/cosmos-sdk/types"
- "github.com/cosmos/ibc-go/v3/modules/apps/transfer/types"
+ "github.com/cosmos/ibc-go/v4/modules/apps/transfer/types"
)
// InitGenesis initializes the ibc-transfer state and binds to PortID.
diff --git a/modules/apps/transfer/keeper/genesis_test.go b/modules/apps/transfer/keeper/genesis_test.go
index a8ded3f902d..e734967863c 100644
--- a/modules/apps/transfer/keeper/genesis_test.go
+++ b/modules/apps/transfer/keeper/genesis_test.go
@@ -3,7 +3,7 @@ package keeper_test
import (
"fmt"
- "github.com/cosmos/ibc-go/v3/modules/apps/transfer/types"
+ "github.com/cosmos/ibc-go/v4/modules/apps/transfer/types"
)
func (suite *KeeperTestSuite) TestGenesis() {
diff --git a/modules/apps/transfer/keeper/grpc_query.go b/modules/apps/transfer/keeper/grpc_query.go
index 512e8e58396..5564ef04614 100644
--- a/modules/apps/transfer/keeper/grpc_query.go
+++ b/modules/apps/transfer/keeper/grpc_query.go
@@ -12,7 +12,7 @@ import (
"google.golang.org/grpc/codes"
"google.golang.org/grpc/status"
- "github.com/cosmos/ibc-go/v3/modules/apps/transfer/types"
+ "github.com/cosmos/ibc-go/v4/modules/apps/transfer/types"
)
var _ types.QueryServer = Keeper{}
diff --git a/modules/apps/transfer/keeper/grpc_query_test.go b/modules/apps/transfer/keeper/grpc_query_test.go
index c0edaea2a20..92dfbe24370 100644
--- a/modules/apps/transfer/keeper/grpc_query_test.go
+++ b/modules/apps/transfer/keeper/grpc_query_test.go
@@ -6,8 +6,8 @@ import (
sdk "github.com/cosmos/cosmos-sdk/types"
"github.com/cosmos/cosmos-sdk/types/query"
- "github.com/cosmos/ibc-go/v3/modules/apps/transfer/types"
- ibctesting "github.com/cosmos/ibc-go/v3/testing"
+ "github.com/cosmos/ibc-go/v4/modules/apps/transfer/types"
+ ibctesting "github.com/cosmos/ibc-go/v4/testing"
)
func (suite *KeeperTestSuite) TestQueryDenomTrace() {
diff --git a/modules/apps/transfer/keeper/keeper.go b/modules/apps/transfer/keeper/keeper.go
index b8681baa47b..2a9c5c16db0 100644
--- a/modules/apps/transfer/keeper/keeper.go
+++ b/modules/apps/transfer/keeper/keeper.go
@@ -10,8 +10,8 @@ import (
tmbytes "github.com/tendermint/tendermint/libs/bytes"
"github.com/tendermint/tendermint/libs/log"
- "github.com/cosmos/ibc-go/v3/modules/apps/transfer/types"
- host "github.com/cosmos/ibc-go/v3/modules/core/24-host"
+ "github.com/cosmos/ibc-go/v4/modules/apps/transfer/types"
+ host "github.com/cosmos/ibc-go/v4/modules/core/24-host"
)
// Keeper defines the IBC fungible transfer keeper
diff --git a/modules/apps/transfer/keeper/keeper_test.go b/modules/apps/transfer/keeper/keeper_test.go
index 40ceb6d782f..051f3952234 100644
--- a/modules/apps/transfer/keeper/keeper_test.go
+++ b/modules/apps/transfer/keeper/keeper_test.go
@@ -6,8 +6,8 @@ import (
"github.com/cosmos/cosmos-sdk/baseapp"
"github.com/stretchr/testify/suite"
- "github.com/cosmos/ibc-go/v3/modules/apps/transfer/types"
- ibctesting "github.com/cosmos/ibc-go/v3/testing"
+ "github.com/cosmos/ibc-go/v4/modules/apps/transfer/types"
+ ibctesting "github.com/cosmos/ibc-go/v4/testing"
)
type KeeperTestSuite struct {
diff --git a/modules/apps/transfer/keeper/mbt_relay_test.go b/modules/apps/transfer/keeper/mbt_relay_test.go
index 59e4869e54e..16aa831b37d 100644
--- a/modules/apps/transfer/keeper/mbt_relay_test.go
+++ b/modules/apps/transfer/keeper/mbt_relay_test.go
@@ -15,10 +15,10 @@ import (
sdkerrors "github.com/cosmos/cosmos-sdk/types/errors"
"github.com/tendermint/tendermint/crypto"
- "github.com/cosmos/ibc-go/v3/modules/apps/transfer/types"
- clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types"
- channeltypes "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types"
- ibctesting "github.com/cosmos/ibc-go/v3/testing"
+ "github.com/cosmos/ibc-go/v4/modules/apps/transfer/types"
+ clienttypes "github.com/cosmos/ibc-go/v4/modules/core/02-client/types"
+ channeltypes "github.com/cosmos/ibc-go/v4/modules/core/04-channel/types"
+ ibctesting "github.com/cosmos/ibc-go/v4/testing"
)
type TlaBalance struct {
@@ -360,7 +360,7 @@ func (suite *KeeperTestSuite) TestModelBasedRelay() {
registerDenom()
err = suite.chainB.GetSimApp().TransferKeeper.OnAcknowledgementPacket(
suite.chainB.GetContext(), packet, tc.packet.Data,
- channeltypes.NewErrorAcknowledgement("MBT Error Acknowledgement"))
+ channeltypes.NewErrorAcknowledgement(fmt.Errorf("MBT Error Acknowledgement")))
default:
err = fmt.Errorf("Unknown handler: %s", tc.handler)
}
diff --git a/modules/apps/transfer/keeper/migrations.go b/modules/apps/transfer/keeper/migrations.go
new file mode 100644
index 00000000000..a1f3654f170
--- /dev/null
+++ b/modules/apps/transfer/keeper/migrations.go
@@ -0,0 +1,59 @@
+package keeper
+
+import (
+ "fmt"
+
+ sdk "github.com/cosmos/cosmos-sdk/types"
+
+ "github.com/cosmos/ibc-go/v4/modules/apps/transfer/types"
+)
+
+// Migrator is a struct for handling in-place store migrations.
+type Migrator struct {
+ keeper Keeper
+}
+
+// NewMigrator returns a new Migrator.
+func NewMigrator(keeper Keeper) Migrator {
+ return Migrator{keeper: keeper}
+}
+
+// MigrateTraces migrates the DenomTraces to the correct format, accounting for slashes in the BaseDenom.
+func (m Migrator) MigrateTraces(ctx sdk.Context) error {
+
+ // list of traces that must replace the old traces in store
+ var newTraces []types.DenomTrace
+ m.keeper.IterateDenomTraces(ctx,
+ func(dt types.DenomTrace) (stop bool) {
+ // check if the new way of splitting FullDenom
+ // is the same as the current DenomTrace.
+ // If it isn't then store the new DenomTrace in the list of new traces.
+ newTrace := types.ParseDenomTrace(dt.GetFullDenomPath())
+ err := newTrace.Validate()
+ if err != nil {
+ panic(err)
+ }
+
+ if dt.IBCDenom() != newTrace.IBCDenom() {
+ // The new form of parsing will result in a token denomination change.
+ // A bank migration is required. A panic should occur to prevent the
+ // chain from using corrupted state.
+ panic(fmt.Sprintf("migration will result in corrupted state. Previous IBC token (%s) requires a bank migration. Expected denom trace (%s)", dt, newTrace))
+ }
+
+ if !equalTraces(newTrace, dt) {
+ newTraces = append(newTraces, newTrace)
+ }
+ return false
+ })
+
+ // replace the outdated traces with the new trace information
+ for _, nt := range newTraces {
+ m.keeper.SetDenomTrace(ctx, nt)
+ }
+ return nil
+}
+
+func equalTraces(dtA, dtB types.DenomTrace) bool {
+ return dtA.BaseDenom == dtB.BaseDenom && dtA.Path == dtB.Path
+}
diff --git a/modules/apps/transfer/keeper/migrations_test.go b/modules/apps/transfer/keeper/migrations_test.go
new file mode 100644
index 00000000000..ff7da8ca089
--- /dev/null
+++ b/modules/apps/transfer/keeper/migrations_test.go
@@ -0,0 +1,123 @@
+package keeper_test
+
+import (
+ "fmt"
+
+ transferkeeper "github.com/cosmos/ibc-go/v4/modules/apps/transfer/keeper"
+ transfertypes "github.com/cosmos/ibc-go/v4/modules/apps/transfer/types"
+)
+
+func (suite *KeeperTestSuite) TestMigratorMigrateTraces() {
+
+ testCases := []struct {
+ msg string
+ malleate func()
+ expectedTraces transfertypes.Traces
+ }{
+
+ {
+ "success: two slashes in base denom",
+ func() {
+ suite.chainA.GetSimApp().TransferKeeper.SetDenomTrace(
+ suite.chainA.GetContext(),
+ transfertypes.DenomTrace{
+ BaseDenom: "pool/1", Path: "transfer/channel-0/gamm",
+ })
+ },
+ transfertypes.Traces{
+ {
+ BaseDenom: "gamm/pool/1", Path: "transfer/channel-0",
+ },
+ },
+ },
+ {
+ "success: one slash in base denom",
+ func() {
+ suite.chainA.GetSimApp().TransferKeeper.SetDenomTrace(
+ suite.chainA.GetContext(),
+ transfertypes.DenomTrace{
+ BaseDenom: "0x85bcBCd7e79Ec36f4fBBDc54F90C643d921151AA", Path: "transfer/channel-149/erc",
+ })
+ },
+ transfertypes.Traces{
+ {
+ BaseDenom: "erc/0x85bcBCd7e79Ec36f4fBBDc54F90C643d921151AA", Path: "transfer/channel-149",
+ },
+ },
+ },
+ {
+ "success: multiple slashes in a row in base denom",
+ func() {
+ suite.chainA.GetSimApp().TransferKeeper.SetDenomTrace(
+ suite.chainA.GetContext(),
+ transfertypes.DenomTrace{
+ BaseDenom: "1", Path: "transfer/channel-5/gamm//pool",
+ })
+ },
+ transfertypes.Traces{
+ {
+ BaseDenom: "gamm//pool/1", Path: "transfer/channel-5",
+ },
+ },
+ },
+ {
+ "success: multihop base denom",
+ func() {
+ suite.chainA.GetSimApp().TransferKeeper.SetDenomTrace(
+ suite.chainA.GetContext(),
+ transfertypes.DenomTrace{
+ BaseDenom: "transfer/channel-1/uatom", Path: "transfer/channel-0",
+ })
+ },
+ transfertypes.Traces{
+ {
+ BaseDenom: "uatom", Path: "transfer/channel-0/transfer/channel-1",
+ },
+ },
+ },
+ {
+ "success: non-standard port",
+ func() {
+ suite.chainA.GetSimApp().TransferKeeper.SetDenomTrace(
+ suite.chainA.GetContext(),
+ transfertypes.DenomTrace{
+ BaseDenom: "customport/channel-7/uatom", Path: "transfer/channel-0/transfer/channel-1",
+ })
+ },
+ transfertypes.Traces{
+ {
+ BaseDenom: "uatom", Path: "transfer/channel-0/transfer/channel-1/customport/channel-7",
+ },
+ },
+ },
+ }
+
+ for _, tc := range testCases {
+ suite.Run(fmt.Sprintf("case %s", tc.msg), func() {
+ suite.SetupTest() // reset
+
+ tc.malleate() // explicitly set up denom traces
+
+ migrator := transferkeeper.NewMigrator(suite.chainA.GetSimApp().TransferKeeper)
+ err := migrator.MigrateTraces(suite.chainA.GetContext())
+ suite.Require().NoError(err)
+
+ traces := suite.chainA.GetSimApp().TransferKeeper.GetAllDenomTraces(suite.chainA.GetContext())
+ suite.Require().Equal(tc.expectedTraces, traces)
+ })
+ }
+}
+
+func (suite *KeeperTestSuite) TestMigratorMigrateTracesCorruptionDetection() {
+ // IBCDenom() previously would return "customport/channel-0/uatom", but now should return ibc/{hash}
+ corruptedDenomTrace := transfertypes.DenomTrace{
+ BaseDenom: "customport/channel-0/uatom",
+ Path: "",
+ }
+ suite.chainA.GetSimApp().TransferKeeper.SetDenomTrace(suite.chainA.GetContext(), corruptedDenomTrace)
+
+ migrator := transferkeeper.NewMigrator(suite.chainA.GetSimApp().TransferKeeper)
+ suite.Panics(func() {
+ migrator.MigrateTraces(suite.chainA.GetContext())
+ })
+}
diff --git a/modules/apps/transfer/keeper/msg_server.go b/modules/apps/transfer/keeper/msg_server.go
index 5d8e5682200..eab992e958f 100644
--- a/modules/apps/transfer/keeper/msg_server.go
+++ b/modules/apps/transfer/keeper/msg_server.go
@@ -5,7 +5,7 @@ import (
sdk "github.com/cosmos/cosmos-sdk/types"
- "github.com/cosmos/ibc-go/v3/modules/apps/transfer/types"
+ "github.com/cosmos/ibc-go/v4/modules/apps/transfer/types"
)
var _ types.MsgServer = Keeper{}
diff --git a/modules/apps/transfer/keeper/params.go b/modules/apps/transfer/keeper/params.go
index b88a1b93b69..9589ae04ec9 100644
--- a/modules/apps/transfer/keeper/params.go
+++ b/modules/apps/transfer/keeper/params.go
@@ -3,7 +3,7 @@ package keeper
import (
sdk "github.com/cosmos/cosmos-sdk/types"
- "github.com/cosmos/ibc-go/v3/modules/apps/transfer/types"
+ "github.com/cosmos/ibc-go/v4/modules/apps/transfer/types"
)
// GetSendEnabled retrieves the send enabled boolean from the paramstore
diff --git a/modules/apps/transfer/keeper/params_test.go b/modules/apps/transfer/keeper/params_test.go
index c0c7ff62af0..e52f15cb247 100644
--- a/modules/apps/transfer/keeper/params_test.go
+++ b/modules/apps/transfer/keeper/params_test.go
@@ -1,6 +1,6 @@
package keeper_test
-import "github.com/cosmos/ibc-go/v3/modules/apps/transfer/types"
+import "github.com/cosmos/ibc-go/v4/modules/apps/transfer/types"
func (suite *KeeperTestSuite) TestParams() {
expParams := types.DefaultParams()
diff --git a/modules/apps/transfer/keeper/relay.go b/modules/apps/transfer/keeper/relay.go
index cb4b8c59fd5..8c023ebac5a 100644
--- a/modules/apps/transfer/keeper/relay.go
+++ b/modules/apps/transfer/keeper/relay.go
@@ -9,11 +9,11 @@ import (
sdk "github.com/cosmos/cosmos-sdk/types"
sdkerrors "github.com/cosmos/cosmos-sdk/types/errors"
- "github.com/cosmos/ibc-go/v3/modules/apps/transfer/types"
- clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types"
- channeltypes "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types"
- host "github.com/cosmos/ibc-go/v3/modules/core/24-host"
- coretypes "github.com/cosmos/ibc-go/v3/modules/core/types"
+ "github.com/cosmos/ibc-go/v4/modules/apps/transfer/types"
+ clienttypes "github.com/cosmos/ibc-go/v4/modules/core/02-client/types"
+ channeltypes "github.com/cosmos/ibc-go/v4/modules/core/04-channel/types"
+ host "github.com/cosmos/ibc-go/v4/modules/core/24-host"
+ coretypes "github.com/cosmos/ibc-go/v4/modules/core/types"
)
// SendTransfer handles transfer sending logic. There are 2 possible cases:
diff --git a/modules/apps/transfer/keeper/relay_test.go b/modules/apps/transfer/keeper/relay_test.go
index 3ad851b587e..ac60ed3964b 100644
--- a/modules/apps/transfer/keeper/relay_test.go
+++ b/modules/apps/transfer/keeper/relay_test.go
@@ -5,12 +5,12 @@ import (
sdk "github.com/cosmos/cosmos-sdk/types"
- "github.com/cosmos/ibc-go/v3/modules/apps/transfer/types"
- clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types"
- channeltypes "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types"
- host "github.com/cosmos/ibc-go/v3/modules/core/24-host"
- ibctesting "github.com/cosmos/ibc-go/v3/testing"
- "github.com/cosmos/ibc-go/v3/testing/simapp"
+ "github.com/cosmos/ibc-go/v4/modules/apps/transfer/types"
+ clienttypes "github.com/cosmos/ibc-go/v4/modules/core/02-client/types"
+ channeltypes "github.com/cosmos/ibc-go/v4/modules/core/04-channel/types"
+ host "github.com/cosmos/ibc-go/v4/modules/core/24-host"
+ ibctesting "github.com/cosmos/ibc-go/v4/testing"
+ "github.com/cosmos/ibc-go/v4/testing/simapp"
)
// test sending from chainA to chainB using both coin that orignate on
@@ -255,7 +255,7 @@ func (suite *KeeperTestSuite) TestOnRecvPacket() {
func (suite *KeeperTestSuite) TestOnAcknowledgementPacket() {
var (
successAck = channeltypes.NewResultAcknowledgement([]byte{byte(1)})
- failedAck = channeltypes.NewErrorAcknowledgement("failed packet transfer")
+ failedAck = channeltypes.NewErrorAcknowledgement(fmt.Errorf("failed packet transfer"))
trace types.DenomTrace
amount sdk.Int
path *ibctesting.Path
diff --git a/modules/apps/transfer/module.go b/modules/apps/transfer/module.go
index 0daa6dc3bf0..9503a06d926 100644
--- a/modules/apps/transfer/module.go
+++ b/modules/apps/transfer/module.go
@@ -17,11 +17,11 @@ import (
"github.com/spf13/cobra"
abci "github.com/tendermint/tendermint/abci/types"
- "github.com/cosmos/ibc-go/v3/modules/apps/transfer/client/cli"
- "github.com/cosmos/ibc-go/v3/modules/apps/transfer/keeper"
- "github.com/cosmos/ibc-go/v3/modules/apps/transfer/simulation"
- "github.com/cosmos/ibc-go/v3/modules/apps/transfer/types"
- porttypes "github.com/cosmos/ibc-go/v3/modules/core/05-port/types"
+ "github.com/cosmos/ibc-go/v4/modules/apps/transfer/client/cli"
+ "github.com/cosmos/ibc-go/v4/modules/apps/transfer/keeper"
+ "github.com/cosmos/ibc-go/v4/modules/apps/transfer/simulation"
+ "github.com/cosmos/ibc-go/v4/modules/apps/transfer/types"
+ porttypes "github.com/cosmos/ibc-go/v4/modules/core/05-port/types"
)
var (
@@ -120,6 +120,11 @@ func (am AppModule) LegacyQuerierHandler(*codec.LegacyAmino) sdk.Querier {
func (am AppModule) RegisterServices(cfg module.Configurator) {
types.RegisterMsgServer(cfg.MsgServer(), am.keeper)
types.RegisterQueryServer(cfg.QueryServer(), am.keeper)
+
+ m := keeper.NewMigrator(am.keeper)
+ if err := cfg.RegisterMigration(types.ModuleName, 1, m.MigrateTraces); err != nil {
+ panic(fmt.Sprintf("failed to migrate transfer app from version 1 to 2: %v", err))
+ }
}
// InitGenesis performs genesis initialization for the ibc-transfer module. It returns
@@ -139,7 +144,7 @@ func (am AppModule) ExportGenesis(ctx sdk.Context, cdc codec.JSONCodec) json.Raw
}
// ConsensusVersion implements AppModule/ConsensusVersion.
-func (AppModule) ConsensusVersion() uint64 { return 1 }
+func (AppModule) ConsensusVersion() uint64 { return 2 }
// BeginBlock implements the AppModule interface
func (am AppModule) BeginBlock(ctx sdk.Context, req abci.RequestBeginBlock) {
diff --git a/modules/apps/transfer/simulation/decoder.go b/modules/apps/transfer/simulation/decoder.go
index 8758d904544..6e1fe37feeb 100644
--- a/modules/apps/transfer/simulation/decoder.go
+++ b/modules/apps/transfer/simulation/decoder.go
@@ -6,7 +6,7 @@ import (
"github.com/cosmos/cosmos-sdk/types/kv"
- "github.com/cosmos/ibc-go/v3/modules/apps/transfer/types"
+ "github.com/cosmos/ibc-go/v4/modules/apps/transfer/types"
)
// TransferUnmarshaler defines the expected encoding store functions.
diff --git a/modules/apps/transfer/simulation/decoder_test.go b/modules/apps/transfer/simulation/decoder_test.go
index a505dffb15d..13afd462be7 100644
--- a/modules/apps/transfer/simulation/decoder_test.go
+++ b/modules/apps/transfer/simulation/decoder_test.go
@@ -7,9 +7,9 @@ import (
"github.com/cosmos/cosmos-sdk/types/kv"
"github.com/stretchr/testify/require"
- "github.com/cosmos/ibc-go/v3/modules/apps/transfer/simulation"
- "github.com/cosmos/ibc-go/v3/modules/apps/transfer/types"
- "github.com/cosmos/ibc-go/v3/testing/simapp"
+ "github.com/cosmos/ibc-go/v4/modules/apps/transfer/simulation"
+ "github.com/cosmos/ibc-go/v4/modules/apps/transfer/types"
+ "github.com/cosmos/ibc-go/v4/testing/simapp"
)
func TestDecodeStore(t *testing.T) {
diff --git a/modules/apps/transfer/simulation/genesis.go b/modules/apps/transfer/simulation/genesis.go
index a74277d1671..693864ce12b 100644
--- a/modules/apps/transfer/simulation/genesis.go
+++ b/modules/apps/transfer/simulation/genesis.go
@@ -9,7 +9,7 @@ import (
"github.com/cosmos/cosmos-sdk/types/module"
simtypes "github.com/cosmos/cosmos-sdk/types/simulation"
- "github.com/cosmos/ibc-go/v3/modules/apps/transfer/types"
+ "github.com/cosmos/ibc-go/v4/modules/apps/transfer/types"
)
// Simulation parameter constants
diff --git a/modules/apps/transfer/simulation/genesis_test.go b/modules/apps/transfer/simulation/genesis_test.go
index f2aa439b3ae..5b46c88f9d8 100644
--- a/modules/apps/transfer/simulation/genesis_test.go
+++ b/modules/apps/transfer/simulation/genesis_test.go
@@ -11,8 +11,8 @@ import (
simtypes "github.com/cosmos/cosmos-sdk/types/simulation"
"github.com/stretchr/testify/require"
- "github.com/cosmos/ibc-go/v3/modules/apps/transfer/simulation"
- "github.com/cosmos/ibc-go/v3/modules/apps/transfer/types"
+ "github.com/cosmos/ibc-go/v4/modules/apps/transfer/simulation"
+ "github.com/cosmos/ibc-go/v4/modules/apps/transfer/types"
)
// TestRandomizedGenState tests the normal scenario of applying RandomizedGenState.
diff --git a/modules/apps/transfer/simulation/params.go b/modules/apps/transfer/simulation/params.go
index c7193b47193..838015ae498 100644
--- a/modules/apps/transfer/simulation/params.go
+++ b/modules/apps/transfer/simulation/params.go
@@ -8,7 +8,7 @@ import (
"github.com/cosmos/cosmos-sdk/x/simulation"
gogotypes "github.com/gogo/protobuf/types"
- "github.com/cosmos/ibc-go/v3/modules/apps/transfer/types"
+ "github.com/cosmos/ibc-go/v4/modules/apps/transfer/types"
)
// ParamChanges defines the parameters that can be modified by param change proposals
diff --git a/modules/apps/transfer/simulation/params_test.go b/modules/apps/transfer/simulation/params_test.go
index 491fee0d3f3..86c16c67c5c 100644
--- a/modules/apps/transfer/simulation/params_test.go
+++ b/modules/apps/transfer/simulation/params_test.go
@@ -6,7 +6,7 @@ import (
"github.com/stretchr/testify/require"
- "github.com/cosmos/ibc-go/v3/modules/apps/transfer/simulation"
+ "github.com/cosmos/ibc-go/v4/modules/apps/transfer/simulation"
)
func TestParamChanges(t *testing.T) {
diff --git a/modules/apps/transfer/transfer_test.go b/modules/apps/transfer/transfer_test.go
index 5190cdc8d29..d1089f0ee82 100644
--- a/modules/apps/transfer/transfer_test.go
+++ b/modules/apps/transfer/transfer_test.go
@@ -6,9 +6,9 @@ import (
sdk "github.com/cosmos/cosmos-sdk/types"
"github.com/stretchr/testify/suite"
- "github.com/cosmos/ibc-go/v3/modules/apps/transfer/types"
- clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types"
- ibctesting "github.com/cosmos/ibc-go/v3/testing"
+ "github.com/cosmos/ibc-go/v4/modules/apps/transfer/types"
+ clienttypes "github.com/cosmos/ibc-go/v4/modules/core/02-client/types"
+ ibctesting "github.com/cosmos/ibc-go/v4/testing"
)
type TransferTestSuite struct {
diff --git a/modules/apps/transfer/types/ack.go b/modules/apps/transfer/types/ack.go
deleted file mode 100644
index 6512f2e8371..00000000000
--- a/modules/apps/transfer/types/ack.go
+++ /dev/null
@@ -1,27 +0,0 @@
-package types
-
-import (
- "fmt"
-
- sdkerrors "github.com/cosmos/cosmos-sdk/types/errors"
-
- channeltypes "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types"
-)
-
-const (
- // ackErrorString defines a string constant included in error acknowledgements
- // NOTE: Changing this const is state machine breaking as acknowledgements are written into state
- ackErrorString = "error handling packet on destination chain: see events for details"
-)
-
-// NewErrorAcknowledgement returns a deterministic error string which may be used in
-// the packet acknowledgement.
-func NewErrorAcknowledgement(err error) channeltypes.Acknowledgement {
- // the ABCI code is included in the abcitypes.ResponseDeliverTx hash
- // constructed in Tendermint and is therefore deterministic
- _, code, _ := sdkerrors.ABCIInfo(err, false) // discard non-determinstic codespace and log values
-
- errorString := fmt.Sprintf("ABCI code: %d: %s", code, ackErrorString)
-
- return channeltypes.NewErrorAcknowledgement(errorString)
-}
diff --git a/modules/apps/transfer/types/ack_test.go b/modules/apps/transfer/types/ack_test.go
index ffc09da981e..b0782dd96ba 100644
--- a/modules/apps/transfer/types/ack_test.go
+++ b/modules/apps/transfer/types/ack_test.go
@@ -3,19 +3,9 @@ package types_test
import (
"testing"
- sdkerrors "github.com/cosmos/cosmos-sdk/types/errors"
"github.com/stretchr/testify/suite"
- abcitypes "github.com/tendermint/tendermint/abci/types"
- tmprotostate "github.com/tendermint/tendermint/proto/tendermint/state"
- tmstate "github.com/tendermint/tendermint/state"
- "github.com/cosmos/ibc-go/v3/modules/apps/transfer/types"
- ibctesting "github.com/cosmos/ibc-go/v3/testing"
-)
-
-const (
- gasUsed = uint64(100)
- gasWanted = uint64(100)
+ ibctesting "github.com/cosmos/ibc-go/v4/testing"
)
type TypesTestSuite struct {
@@ -37,64 +27,3 @@ func (suite *TypesTestSuite) SetupTest() {
func TestTypesTestSuite(t *testing.T) {
suite.Run(t, new(TypesTestSuite))
}
-
-// The safety of including ABCI error codes in the acknowledgement rests
-// on the inclusion of these ABCI error codes in the abcitypes.ResposneDeliverTx
-// hash. If the ABCI codes get removed from consensus they must no longer be used
-// in the packet acknowledgement.
-//
-// This test acts as an indicator that the ABCI error codes may no longer be deterministic.
-func (suite *TypesTestSuite) TestABCICodeDeterminism() {
- // same ABCI error code used
- err := sdkerrors.Wrap(sdkerrors.ErrOutOfGas, "error string 1")
- errSameABCICode := sdkerrors.Wrap(sdkerrors.ErrOutOfGas, "error string 2")
-
- // different ABCI error code used
- errDifferentABCICode := sdkerrors.ErrNotFound
-
- deliverTx := sdkerrors.ResponseDeliverTx(err, gasUsed, gasWanted, false)
- responses := tmprotostate.ABCIResponses{
- DeliverTxs: []*abcitypes.ResponseDeliverTx{
- &deliverTx,
- },
- }
-
- deliverTxSameABCICode := sdkerrors.ResponseDeliverTx(errSameABCICode, gasUsed, gasWanted, false)
- responsesSameABCICode := tmprotostate.ABCIResponses{
- DeliverTxs: []*abcitypes.ResponseDeliverTx{
- &deliverTxSameABCICode,
- },
- }
-
- deliverTxDifferentABCICode := sdkerrors.ResponseDeliverTx(errDifferentABCICode, gasUsed, gasWanted, false)
- responsesDifferentABCICode := tmprotostate.ABCIResponses{
- DeliverTxs: []*abcitypes.ResponseDeliverTx{
- &deliverTxDifferentABCICode,
- },
- }
-
- hash := tmstate.ABCIResponsesResultsHash(&responses)
- hashSameABCICode := tmstate.ABCIResponsesResultsHash(&responsesSameABCICode)
- hashDifferentABCICode := tmstate.ABCIResponsesResultsHash(&responsesDifferentABCICode)
-
- suite.Require().Equal(hash, hashSameABCICode)
- suite.Require().NotEqual(hash, hashDifferentABCICode)
-}
-
-// TestAcknowledgementError will verify that only a constant string and
-// ABCI error code are used in constructing the acknowledgement error string
-func (suite *TypesTestSuite) TestAcknowledgementError() {
- // same ABCI error code used
- err := sdkerrors.Wrap(sdkerrors.ErrOutOfGas, "error string 1")
- errSameABCICode := sdkerrors.Wrap(sdkerrors.ErrOutOfGas, "error string 2")
-
- // different ABCI error code used
- errDifferentABCICode := sdkerrors.ErrNotFound
-
- ack := types.NewErrorAcknowledgement(err)
- ackSameABCICode := types.NewErrorAcknowledgement(errSameABCICode)
- ackDifferentABCICode := types.NewErrorAcknowledgement(errDifferentABCICode)
-
- suite.Require().Equal(ack, ackSameABCICode)
- suite.Require().NotEqual(ack, ackDifferentABCICode)
-}
diff --git a/modules/apps/transfer/types/expected_keepers.go b/modules/apps/transfer/types/expected_keepers.go
index 22ad54b9e62..c696a2d75d8 100644
--- a/modules/apps/transfer/types/expected_keepers.go
+++ b/modules/apps/transfer/types/expected_keepers.go
@@ -5,9 +5,9 @@ import (
"github.com/cosmos/cosmos-sdk/x/auth/types"
capabilitytypes "github.com/cosmos/cosmos-sdk/x/capability/types"
- connectiontypes "github.com/cosmos/ibc-go/v3/modules/core/03-connection/types"
- channeltypes "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types"
- ibcexported "github.com/cosmos/ibc-go/v3/modules/core/exported"
+ connectiontypes "github.com/cosmos/ibc-go/v4/modules/core/03-connection/types"
+ channeltypes "github.com/cosmos/ibc-go/v4/modules/core/04-channel/types"
+ ibcexported "github.com/cosmos/ibc-go/v4/modules/core/exported"
)
// AccountKeeper defines the contract required for account APIs.
diff --git a/modules/apps/transfer/types/genesis.go b/modules/apps/transfer/types/genesis.go
index 73dbe111a2e..db1f5489558 100644
--- a/modules/apps/transfer/types/genesis.go
+++ b/modules/apps/transfer/types/genesis.go
@@ -1,7 +1,7 @@
package types
import (
- host "github.com/cosmos/ibc-go/v3/modules/core/24-host"
+ host "github.com/cosmos/ibc-go/v4/modules/core/24-host"
)
// NewGenesisState creates a new ibc-transfer GenesisState instance.
diff --git a/modules/apps/transfer/types/genesis.pb.go b/modules/apps/transfer/types/genesis.pb.go
index 6c40ef48a3d..bac7416d405 100644
--- a/modules/apps/transfer/types/genesis.pb.go
+++ b/modules/apps/transfer/types/genesis.pb.go
@@ -96,24 +96,24 @@ var fileDescriptor_a4f788affd5bea89 = []byte{
// 324 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x7c, 0x90, 0xc1, 0x4a, 0xc3, 0x30,
0x1c, 0xc6, 0x1b, 0x27, 0x15, 0xbb, 0xe1, 0xa1, 0x7a, 0x18, 0x43, 0xda, 0x51, 0x14, 0x8a, 0xc3,
- 0x84, 0x6d, 0x07, 0xc1, 0x63, 0x11, 0xc4, 0x9b, 0x4e, 0x4f, 0x5e, 0x46, 0x9a, 0xc6, 0x1a, 0x58,
- 0x9b, 0x92, 0x7f, 0x36, 0xd8, 0x5b, 0xf8, 0x1c, 0x3e, 0xc9, 0x8e, 0x3b, 0x7a, 0x9a, 0xb2, 0xbd,
- 0xc1, 0x7c, 0x01, 0x49, 0x37, 0xc7, 0x4e, 0xbd, 0x7d, 0x24, 0xbf, 0xef, 0xfb, 0xfe, 0x7c, 0xce,
- 0x95, 0x88, 0x19, 0xa1, 0x45, 0x31, 0x12, 0x8c, 0x6a, 0x21, 0x73, 0x20, 0x5a, 0xd1, 0x1c, 0xde,
- 0xb8, 0x22, 0x93, 0x2e, 0x49, 0x79, 0xce, 0x41, 0x00, 0x2e, 0x94, 0xd4, 0xd2, 0x3d, 0x17, 0x31,
- 0xc3, 0xfb, 0x2c, 0xfe, 0x67, 0xf1, 0xa4, 0xdb, 0xea, 0x54, 0x26, 0xed, 0xc8, 0x32, 0xaa, 0x75,
- 0x96, 0xca, 0x54, 0x96, 0x92, 0x18, 0xb5, 0x79, 0x0d, 0x7e, 0x91, 0xd3, 0xb8, 0xdf, 0x54, 0x3e,
- 0x6b, 0xaa, 0xb9, 0xdb, 0x71, 0x8e, 0x0a, 0xa9, 0xf4, 0x50, 0x24, 0x4d, 0xd4, 0x46, 0xe1, 0x71,
- 0xe4, 0xae, 0x17, 0xfe, 0xc9, 0x94, 0x66, 0xa3, 0xdb, 0x60, 0xfb, 0x11, 0x0c, 0x6c, 0xa3, 0x1e,
- 0x12, 0x57, 0x39, 0x8d, 0x84, 0xe7, 0x32, 0x1b, 0x6a, 0x45, 0x19, 0x87, 0xe6, 0x41, 0xbb, 0x16,
- 0xd6, 0x7b, 0x21, 0xae, 0xba, 0x1a, 0xdf, 0x19, 0xc7, 0x8b, 0x31, 0x44, 0x97, 0xb3, 0x85, 0x6f,
- 0xad, 0x17, 0xfe, 0xe9, 0x26, 0x7f, 0x3f, 0x2b, 0xf8, 0xfc, 0xf6, 0xed, 0x92, 0x82, 0x41, 0x3d,
- 0xd9, 0x59, 0xc0, 0x8d, 0x1c, 0xbb, 0xa0, 0x8a, 0x66, 0xd0, 0xac, 0xb5, 0x51, 0x58, 0xef, 0x5d,
- 0x54, 0xb7, 0x3d, 0x96, 0x6c, 0x74, 0x68, 0x9a, 0x06, 0x5b, 0x67, 0xf4, 0x34, 0x5b, 0x7a, 0x68,
- 0xbe, 0xf4, 0xd0, 0xcf, 0xd2, 0x43, 0x1f, 0x2b, 0xcf, 0x9a, 0xaf, 0x3c, 0xeb, 0x6b, 0xe5, 0x59,
- 0xaf, 0x37, 0xa9, 0xd0, 0xef, 0xe3, 0x18, 0x33, 0x99, 0x11, 0x26, 0x21, 0x93, 0x40, 0x44, 0xcc,
- 0xae, 0x53, 0x49, 0x26, 0x7d, 0x92, 0xc9, 0x64, 0x3c, 0xe2, 0x60, 0x26, 0xdf, 0x9b, 0x5a, 0x4f,
- 0x0b, 0x0e, 0xb1, 0x5d, 0xee, 0xd9, 0xff, 0x0b, 0x00, 0x00, 0xff, 0xff, 0x49, 0x1b, 0x71, 0xa7,
+ 0x84, 0x4d, 0x41, 0xf0, 0x58, 0x04, 0xf1, 0xa6, 0xd3, 0x93, 0x97, 0x91, 0xa6, 0xb1, 0x06, 0xd6,
+ 0xa6, 0xe4, 0x9f, 0x0d, 0xf6, 0x16, 0x3e, 0x87, 0x4f, 0xb2, 0xe3, 0x8e, 0x9e, 0xa6, 0x6c, 0x6f,
+ 0x30, 0x5f, 0x40, 0xd2, 0xcd, 0xb1, 0x53, 0x6f, 0x1f, 0xc9, 0xef, 0xfb, 0xbe, 0x3f, 0x9f, 0x73,
+ 0x21, 0x62, 0x46, 0x68, 0x51, 0x0c, 0x05, 0xa3, 0x5a, 0xc8, 0x1c, 0x88, 0x56, 0x34, 0x87, 0x37,
+ 0xae, 0xc8, 0xb8, 0x4b, 0x52, 0x9e, 0x73, 0x10, 0x80, 0x0b, 0x25, 0xb5, 0x74, 0x4f, 0x45, 0xcc,
+ 0xf0, 0x2e, 0x8b, 0xff, 0x59, 0x3c, 0xee, 0xb6, 0x3a, 0x95, 0x49, 0x5b, 0xb2, 0x8c, 0x6a, 0x9d,
+ 0xa4, 0x32, 0x95, 0xa5, 0x24, 0x46, 0xad, 0x5f, 0x83, 0x5f, 0xe4, 0x34, 0xee, 0xd7, 0x95, 0xcf,
+ 0x9a, 0x6a, 0xee, 0x76, 0x9c, 0x83, 0x42, 0x2a, 0x3d, 0x10, 0x49, 0x13, 0xb5, 0x51, 0x78, 0x18,
+ 0xb9, 0xab, 0xb9, 0x7f, 0x34, 0xa1, 0xd9, 0xf0, 0x36, 0xd8, 0x7c, 0x04, 0x7d, 0xdb, 0xa8, 0x87,
+ 0xc4, 0x55, 0x4e, 0x23, 0xe1, 0xb9, 0xcc, 0x06, 0x5a, 0x51, 0xc6, 0xa1, 0xb9, 0xd7, 0xae, 0x85,
+ 0xf5, 0x5e, 0x88, 0xab, 0xae, 0xc6, 0x77, 0xc6, 0xf1, 0x62, 0x0c, 0xd1, 0xf9, 0x74, 0xee, 0x5b,
+ 0xab, 0xb9, 0x7f, 0xbc, 0xce, 0xdf, 0xcd, 0x0a, 0x3e, 0xbf, 0x7d, 0xbb, 0xa4, 0xa0, 0x5f, 0x4f,
+ 0xb6, 0x16, 0x70, 0x23, 0xc7, 0x2e, 0xa8, 0xa2, 0x19, 0x34, 0x6b, 0x6d, 0x14, 0xd6, 0x7b, 0x67,
+ 0xd5, 0x6d, 0x8f, 0x25, 0x1b, 0xed, 0x9b, 0xa6, 0xfe, 0xc6, 0x19, 0x3d, 0x4d, 0x17, 0x1e, 0x9a,
+ 0x2d, 0x3c, 0xf4, 0xb3, 0xf0, 0xd0, 0xc7, 0xd2, 0xb3, 0x66, 0x4b, 0xcf, 0xfa, 0x5a, 0x7a, 0xd6,
+ 0xeb, 0x4d, 0x2a, 0xf4, 0xfb, 0x28, 0xc6, 0x4c, 0x66, 0x84, 0x49, 0xc8, 0x24, 0x10, 0x11, 0xb3,
+ 0xcb, 0x54, 0x92, 0xf1, 0x35, 0xc9, 0x64, 0x32, 0x1a, 0x72, 0x30, 0x93, 0xef, 0x4c, 0xad, 0x27,
+ 0x05, 0x87, 0xd8, 0x2e, 0xf7, 0xbc, 0xfa, 0x0b, 0x00, 0x00, 0xff, 0xff, 0x96, 0x72, 0x43, 0x93,
0xde, 0x01, 0x00, 0x00,
}
diff --git a/modules/apps/transfer/types/genesis_test.go b/modules/apps/transfer/types/genesis_test.go
index 534eefba7ab..fb63fbede64 100644
--- a/modules/apps/transfer/types/genesis_test.go
+++ b/modules/apps/transfer/types/genesis_test.go
@@ -5,7 +5,7 @@ import (
"github.com/stretchr/testify/require"
- "github.com/cosmos/ibc-go/v3/modules/apps/transfer/types"
+ "github.com/cosmos/ibc-go/v4/modules/apps/transfer/types"
)
func TestValidateGenesis(t *testing.T) {
diff --git a/modules/apps/transfer/types/keys_test.go b/modules/apps/transfer/types/keys_test.go
index 3270dba55be..d69dc6e30c6 100644
--- a/modules/apps/transfer/types/keys_test.go
+++ b/modules/apps/transfer/types/keys_test.go
@@ -5,7 +5,7 @@ import (
"github.com/stretchr/testify/require"
- "github.com/cosmos/ibc-go/v3/modules/apps/transfer/types"
+ "github.com/cosmos/ibc-go/v4/modules/apps/transfer/types"
)
// Test that there is domain separation between the port id and the channel id otherwise an
diff --git a/modules/apps/transfer/types/msgs.go b/modules/apps/transfer/types/msgs.go
index dab9fb21d46..00ef9fe5386 100644
--- a/modules/apps/transfer/types/msgs.go
+++ b/modules/apps/transfer/types/msgs.go
@@ -6,8 +6,8 @@ import (
sdk "github.com/cosmos/cosmos-sdk/types"
sdkerrors "github.com/cosmos/cosmos-sdk/types/errors"
- clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types"
- host "github.com/cosmos/ibc-go/v3/modules/core/24-host"
+ clienttypes "github.com/cosmos/ibc-go/v4/modules/core/02-client/types"
+ host "github.com/cosmos/ibc-go/v4/modules/core/24-host"
)
// msg types
diff --git a/modules/apps/transfer/types/msgs_test.go b/modules/apps/transfer/types/msgs_test.go
index 00570ac15ed..929de3a4d6f 100644
--- a/modules/apps/transfer/types/msgs_test.go
+++ b/modules/apps/transfer/types/msgs_test.go
@@ -8,7 +8,7 @@ import (
sdk "github.com/cosmos/cosmos-sdk/types"
"github.com/stretchr/testify/require"
- clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types"
+ clienttypes "github.com/cosmos/ibc-go/v4/modules/core/02-client/types"
)
// define constants used for testing
diff --git a/modules/apps/transfer/types/packet.pb.go b/modules/apps/transfer/types/packet.pb.go
index 3ebd1106f66..ca0ffa46e9e 100644
--- a/modules/apps/transfer/types/packet.pb.go
+++ b/modules/apps/transfer/types/packet.pb.go
@@ -108,20 +108,20 @@ func init() {
var fileDescriptor_653ca2ce9a5ca313 = []byte{
// 242 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x4c, 0x8f, 0xbd, 0x4a, 0x04, 0x31,
- 0x14, 0x46, 0x27, 0xfe, 0x2c, 0x9a, 0x72, 0x10, 0x1d, 0x44, 0x82, 0x58, 0x69, 0x61, 0x02, 0xbb,
- 0x85, 0xbd, 0x88, 0xb5, 0x8a, 0x95, 0x5d, 0x92, 0xb9, 0x8e, 0x61, 0x27, 0xb9, 0x21, 0xc9, 0x0c,
- 0x88, 0x2f, 0xe1, 0x63, 0x59, 0x6e, 0x69, 0x29, 0x33, 0x2f, 0x22, 0x9b, 0xd1, 0x65, 0xcb, 0x73,
- 0xee, 0x77, 0x8b, 0x43, 0xaf, 0x8c, 0xd2, 0x42, 0x7a, 0xdf, 0x1a, 0x2d, 0x93, 0x41, 0x17, 0x45,
- 0x0a, 0xd2, 0xc5, 0x57, 0x08, 0xa2, 0x9f, 0x0b, 0x2f, 0xf5, 0x12, 0x12, 0xf7, 0x01, 0x13, 0x96,
- 0x67, 0x46, 0x69, 0xbe, 0x3d, 0xe5, 0xff, 0x53, 0xde, 0xcf, 0x2f, 0x3e, 0xe8, 0xc9, 0x7d, 0xe7,
- 0x1a, 0xa3, 0x5a, 0x78, 0xc6, 0x25, 0xb8, 0x87, 0xfc, 0x7a, 0x27, 0x93, 0x2c, 0x8f, 0xe8, 0x7e,
- 0x0d, 0x0e, 0x6d, 0x45, 0xce, 0xc9, 0xe5, 0xe1, 0xd3, 0x04, 0xe5, 0x31, 0x9d, 0x49, 0x8b, 0x9d,
- 0x4b, 0xd5, 0x4e, 0xd6, 0x7f, 0xb4, 0xf6, 0x11, 0x5c, 0x0d, 0xa1, 0xda, 0x9d, 0xfc, 0x44, 0xe5,
- 0x29, 0x3d, 0x08, 0xa0, 0xc1, 0xf4, 0x10, 0xaa, 0xbd, 0x7c, 0xd9, 0xf0, 0xed, 0xe3, 0xd7, 0xc0,
- 0xc8, 0x6a, 0x60, 0xe4, 0x67, 0x60, 0xe4, 0x73, 0x64, 0xc5, 0x6a, 0x64, 0xc5, 0xf7, 0xc8, 0x8a,
- 0x97, 0x9b, 0xc6, 0xa4, 0xb7, 0x4e, 0x71, 0x8d, 0x56, 0x68, 0x8c, 0x16, 0xa3, 0x30, 0x4a, 0x5f,
- 0x37, 0x28, 0xfa, 0x85, 0xb0, 0x58, 0x77, 0x2d, 0xc4, 0x75, 0xff, 0x56, 0x77, 0x7a, 0xf7, 0x10,
- 0xd5, 0x2c, 0x47, 0x2f, 0x7e, 0x03, 0x00, 0x00, 0xff, 0xff, 0x82, 0x62, 0x02, 0xc6, 0x21, 0x01,
+ 0x14, 0x46, 0x27, 0xfe, 0x2c, 0x9a, 0x72, 0x10, 0x1d, 0x44, 0x82, 0x58, 0x69, 0x61, 0x02, 0xab,
+ 0x60, 0x2f, 0x62, 0xad, 0x62, 0x65, 0x97, 0x64, 0xae, 0x63, 0xd8, 0x49, 0x6e, 0x48, 0x32, 0x03,
+ 0xe2, 0x4b, 0xf8, 0x58, 0x96, 0x5b, 0x5a, 0xca, 0xcc, 0x8b, 0xc8, 0x66, 0x74, 0xd9, 0xf2, 0x9c,
+ 0xfb, 0xdd, 0xe2, 0xd0, 0x0b, 0xa3, 0xb4, 0x90, 0xde, 0xb7, 0x46, 0xcb, 0x64, 0xd0, 0x45, 0x91,
+ 0x82, 0x74, 0xf1, 0x15, 0x82, 0xe8, 0xe7, 0xc2, 0x4b, 0xbd, 0x80, 0xc4, 0x7d, 0xc0, 0x84, 0xe5,
+ 0x89, 0x51, 0x9a, 0x6f, 0x4e, 0xf9, 0xff, 0x94, 0xf7, 0xf3, 0xb3, 0x0f, 0x7a, 0x74, 0xdf, 0xb9,
+ 0xc6, 0xa8, 0x16, 0x9e, 0x71, 0x01, 0xee, 0x21, 0xbf, 0xde, 0xc9, 0x24, 0xcb, 0x03, 0xba, 0x5b,
+ 0x83, 0x43, 0x5b, 0x91, 0x53, 0x72, 0xbe, 0xff, 0x34, 0x41, 0x79, 0x48, 0x67, 0xd2, 0x62, 0xe7,
+ 0x52, 0xb5, 0x95, 0xf5, 0x1f, 0xad, 0x7c, 0x04, 0x57, 0x43, 0xa8, 0xb6, 0x27, 0x3f, 0x51, 0x79,
+ 0x4c, 0xf7, 0x02, 0x68, 0x30, 0x3d, 0x84, 0x6a, 0x27, 0x5f, 0xd6, 0x7c, 0xfb, 0xf8, 0x35, 0x30,
+ 0xb2, 0x1c, 0x18, 0xf9, 0x19, 0x18, 0xf9, 0x1c, 0x59, 0xb1, 0x1c, 0x59, 0xf1, 0x3d, 0xb2, 0xe2,
+ 0xe5, 0xa6, 0x31, 0xe9, 0xad, 0x53, 0x5c, 0xa3, 0x15, 0x1a, 0xa3, 0xc5, 0x28, 0x8c, 0xd2, 0x97,
+ 0x0d, 0x8a, 0xfe, 0x5a, 0x58, 0xac, 0xbb, 0x16, 0xe2, 0xaa, 0x7f, 0xa3, 0x3b, 0xbd, 0x7b, 0x88,
+ 0x6a, 0x96, 0xa3, 0xaf, 0x7e, 0x03, 0x00, 0x00, 0xff, 0xff, 0x5d, 0x0b, 0x30, 0xf2, 0x21, 0x01,
0x00, 0x00,
}
diff --git a/modules/apps/transfer/types/query.pb.go b/modules/apps/transfer/types/query.pb.go
index a137649a094..d654e4b30a5 100644
--- a/modules/apps/transfer/types/query.pb.go
+++ b/modules/apps/transfer/types/query.pb.go
@@ -566,9 +566,9 @@ var fileDescriptor_a638e2800a01538c = []byte{
0xe3, 0x83, 0xde, 0xd6, 0xb6, 0x71, 0xb2, 0xcb, 0x1c, 0x1f, 0xa8, 0x0d, 0x6f, 0xe3, 0xec, 0x52,
0x6e, 0x6c, 0x1f, 0x9f, 0x1a, 0xda, 0xc9, 0xa9, 0xa1, 0xfd, 0x3a, 0x35, 0xb4, 0x8f, 0x67, 0x46,
0xe1, 0xe4, 0xcc, 0x28, 0x7c, 0x3f, 0x33, 0x0a, 0x6f, 0xd6, 0x3d, 0x3f, 0xae, 0x35, 0x6d, 0xcb,
- 0x61, 0x0d, 0xac, 0xfe, 0x9b, 0xbe, 0xed, 0x2c, 0x7b, 0x0c, 0xb7, 0x56, 0x71, 0x83, 0xb9, 0xcd,
+ 0x61, 0x0d, 0xac, 0xfe, 0x9b, 0xbe, 0xed, 0x2c, 0x7b, 0x0c, 0xb7, 0xd6, 0x70, 0x83, 0xb9, 0xcd,
0x3a, 0xe5, 0xff, 0x90, 0x88, 0xf7, 0x43, 0xca, 0xed, 0xa2, 0xf8, 0xeb, 0xad, 0xfe, 0x0d, 0x00,
- 0x00, 0xff, 0xff, 0x32, 0xbb, 0x42, 0xe2, 0xcc, 0x07, 0x00, 0x00,
+ 0x00, 0xff, 0xff, 0xed, 0xd2, 0x70, 0xd6, 0xcc, 0x07, 0x00, 0x00,
}
// Reference imports to suppress errors if they are not otherwise used.
diff --git a/modules/apps/transfer/types/trace.go b/modules/apps/transfer/types/trace.go
index e0a68ef8d9b..24f10c232a9 100644
--- a/modules/apps/transfer/types/trace.go
+++ b/modules/apps/transfer/types/trace.go
@@ -12,7 +12,8 @@ import (
tmbytes "github.com/tendermint/tendermint/libs/bytes"
tmtypes "github.com/tendermint/tendermint/types"
- host "github.com/cosmos/ibc-go/v3/modules/core/24-host"
+ channeltypes "github.com/cosmos/ibc-go/v4/modules/core/04-channel/types"
+ host "github.com/cosmos/ibc-go/v4/modules/core/24-host"
)
// ParseDenomTrace parses a string with the ibc prefix (denom trace) and the base denomination
@@ -20,9 +21,9 @@ import (
//
// Examples:
//
-// - "transfer/channelidone/uatom" => DenomTrace{Path: "transfer/channelidone", BaseDenom: "uatom"}
-// - "transfer/channelidone/transfer/channelidtwo/uatom" => DenomTrace{Path: "transfer/channelidone/transfer/channelidtwo", BaseDenom: "uatom"}
-// - "transfer/channelidone/gamm/pool/1" => DenomTrace{Path: "transfer/channelidone", BaseDenom: "gamm/pool/1"}
+// - "portidone/channel-0/uatom" => DenomTrace{Path: "portidone/channel-0", BaseDenom: "uatom"}
+// - "portidone/channel-0/portidtwo/channel-1/uatom" => DenomTrace{Path: "portidone/channel-0/portidtwo/channel-1", BaseDenom: "uatom"}
+// - "portidone/channel-0/gamm/pool/1" => DenomTrace{Path: "portidone/channel-0", BaseDenom: "gamm/pool/1"}
// - "gamm/pool/1" => DenomTrace{Path: "", BaseDenom: "gamm/pool/1"}
// - "uatom" => DenomTrace{Path: "", BaseDenom: "uatom"}
func ParseDenomTrace(rawDenom string) DenomTrace {
@@ -77,11 +78,23 @@ func (dt DenomTrace) GetFullDenomPath() string {
// extractPathAndBaseFromFullDenom returns the trace path and the base denom from
// the elements that constitute the complete denom.
func extractPathAndBaseFromFullDenom(fullDenomItems []string) (string, string) {
- var path []string
- var baseDenom []string
+ var (
+ path []string
+ baseDenom []string
+ )
+
length := len(fullDenomItems)
for i := 0; i < length; i = i + 2 {
- if i < length-1 && length > 2 && fullDenomItems[i] == PortID {
+ // The IBC specification does not guarentee the expected format of the
+ // destination port or destination channel identifier. A short term solution
+ // to determine base denomination is to expect the channel identifier to be the
+ // one ibc-go specifies. A longer term solution is to separate the path and base
+ // denomination in the ICS20 packet. If an intermediate hop prefixes the full denom
+ // with a channel identifier format different from our own, the base denomination
+ // will be incorrectly parsed, but the token will continue to be treated correctly
+ // as an IBC denomination. The hash used to store the token internally on our chain
+ // will be the same value as the base denomination being correctly parsed.
+ if i < length-1 && length > 2 && channeltypes.IsValidChannelID(fullDenomItems[i+1]) {
path = append(path, fullDenomItems[i], fullDenomItems[i+1])
} else {
baseDenom = fullDenomItems[i:]
@@ -165,7 +178,7 @@ func (t Traces) Sort() Traces {
// ValidatePrefixedDenom checks that the denomination for an IBC fungible token packet denom is correctly prefixed.
// The function will return no error if the given string follows one of the two formats:
//
-// - Prefixed denomination: 'transfer/{channelIDN}/.../transfer/{channelID0}/baseDenom'
+// - Prefixed denomination: '{portIDN}/{channelIDN}/.../{portID0}/{channelID0}/baseDenom'
// - Unprefixed denomination: 'baseDenom'
//
// 'baseDenom' may or may not contain '/'s
diff --git a/modules/apps/transfer/types/trace_test.go b/modules/apps/transfer/types/trace_test.go
index 6526cbd952d..ba0690423bd 100644
--- a/modules/apps/transfer/types/trace_test.go
+++ b/modules/apps/transfer/types/trace_test.go
@@ -17,20 +17,23 @@ func TestParseDenomTrace(t *testing.T) {
{"base denom ending with '/'", "uatom/", DenomTrace{BaseDenom: "uatom/"}},
{"base denom with single '/'s", "gamm/pool/1", DenomTrace{BaseDenom: "gamm/pool/1"}},
{"base denom with double '/'s", "gamm//pool//1", DenomTrace{BaseDenom: "gamm//pool//1"}},
- {"trace info", "transfer/channelToA/uatom", DenomTrace{BaseDenom: "uatom", Path: "transfer/channelToA"}},
- {"trace info with base denom ending in '/'", "transfer/channelToA/uatom/", DenomTrace{BaseDenom: "uatom/", Path: "transfer/channelToA"}},
- {"trace info with single '/' in base denom", "transfer/channelToA/erc20/0x85bcBCd7e79Ec36f4fBBDc54F90C643d921151AA", DenomTrace{BaseDenom: "erc20/0x85bcBCd7e79Ec36f4fBBDc54F90C643d921151AA", Path: "transfer/channelToA"}},
- {"trace info with multiple '/'s in base denom", "transfer/channelToA/gamm/pool/1", DenomTrace{BaseDenom: "gamm/pool/1", Path: "transfer/channelToA"}},
- {"trace info with multiple double '/'s in base denom", "transfer/channelToA/gamm//pool//1", DenomTrace{BaseDenom: "gamm//pool//1", Path: "transfer/channelToA"}},
- {"trace info with multiple port/channel pairs", "transfer/channelToA/transfer/channelToB/uatom", DenomTrace{BaseDenom: "uatom", Path: "transfer/channelToA/transfer/channelToB"}},
+ {"trace info", "transfer/channel-1/uatom", DenomTrace{BaseDenom: "uatom", Path: "transfer/channel-1"}},
+ {"trace info with custom port", "customtransfer/channel-1/uatom", DenomTrace{BaseDenom: "uatom", Path: "customtransfer/channel-1"}},
+ {"trace info with base denom ending in '/'", "transfer/channel-1/uatom/", DenomTrace{BaseDenom: "uatom/", Path: "transfer/channel-1"}},
+ {"trace info with single '/' in base denom", "transfer/channel-1/erc20/0x85bcBCd7e79Ec36f4fBBDc54F90C643d921151AA", DenomTrace{BaseDenom: "erc20/0x85bcBCd7e79Ec36f4fBBDc54F90C643d921151AA", Path: "transfer/channel-1"}},
+ {"trace info with multiple '/'s in base denom", "transfer/channel-1/gamm/pool/1", DenomTrace{BaseDenom: "gamm/pool/1", Path: "transfer/channel-1"}},
+ {"trace info with multiple double '/'s in base denom", "transfer/channel-1/gamm//pool//1", DenomTrace{BaseDenom: "gamm//pool//1", Path: "transfer/channel-1"}},
+ {"trace info with multiple port/channel pairs", "transfer/channel-1/transfer/channel-2/uatom", DenomTrace{BaseDenom: "uatom", Path: "transfer/channel-1/transfer/channel-2"}},
+ {"trace info with multiple custom ports", "customtransfer/channel-1/alternativetransfer/channel-2/uatom", DenomTrace{BaseDenom: "uatom", Path: "customtransfer/channel-1/alternativetransfer/channel-2"}},
{"incomplete path", "transfer/uatom", DenomTrace{BaseDenom: "transfer/uatom"}},
- {"invalid path (1)", "transfer//uatom", DenomTrace{BaseDenom: "uatom", Path: "transfer/"}},
- {"invalid path (2)", "channelToA/transfer/uatom", DenomTrace{BaseDenom: "channelToA/transfer/uatom"}},
+ {"invalid path (1)", "transfer//uatom", DenomTrace{BaseDenom: "transfer//uatom", Path: ""}},
+ {"invalid path (2)", "channel-1/transfer/uatom", DenomTrace{BaseDenom: "channel-1/transfer/uatom"}},
{"invalid path (3)", "uatom/transfer", DenomTrace{BaseDenom: "uatom/transfer"}},
- {"invalid path (4)", "transfer/channelToA", DenomTrace{BaseDenom: "transfer/channelToA"}},
- {"invalid path (5)", "transfer/channelToA/", DenomTrace{Path: "transfer/channelToA"}},
- {"invalid path (6)", "transfer/channelToA/transfer", DenomTrace{BaseDenom: "transfer", Path: "transfer/channelToA"}},
- {"invalid path (7)", "transfer/channelToA/transfer/channelToB", DenomTrace{Path: "transfer/channelToA/transfer/channelToB"}},
+ {"invalid path (4)", "transfer/channel-1", DenomTrace{BaseDenom: "transfer/channel-1"}},
+ {"invalid path (5)", "transfer/channel-1/", DenomTrace{Path: "transfer/channel-1"}},
+ {"invalid path (6)", "transfer/channel-1/transfer", DenomTrace{BaseDenom: "transfer", Path: "transfer/channel-1"}},
+ {"invalid path (7)", "transfer/channel-1/transfer/channel-2", DenomTrace{Path: "transfer/channel-1/transfer/channel-2"}},
+ {"invalid path (8)", "transfer/channelToA/uatom", DenomTrace{BaseDenom: "transfer/channelToA/uatom", Path: ""}},
}
for _, tc := range testCases {
@@ -46,7 +49,7 @@ func TestDenomTrace_IBCDenom(t *testing.T) {
expDenom string
}{
{"base denom", DenomTrace{BaseDenom: "uatom"}, "uatom"},
- {"trace info", DenomTrace{BaseDenom: "uatom", Path: "transfer/channelToA"}, "ibc/7F1D3FCF4AE79E1554D670D1AD949A9BA4E4A3C76C63093E17E446A46061A7A2"},
+ {"trace info", DenomTrace{BaseDenom: "uatom", Path: "transfer/channel-1"}, "ibc/C4CFF46FD6DE35CA4CF4CE031E643C8FDC9BA4B99AE598E9B0ED98FE3A2319F9"},
}
for _, tc := range testCases {
@@ -65,12 +68,12 @@ func TestDenomTrace_Validate(t *testing.T) {
{"base denom only with single '/'", DenomTrace{BaseDenom: "erc20/0x85bcBCd7e79Ec36f4fBBDc54F90C643d921151AA"}, false},
{"base denom only with multiple '/'s", DenomTrace{BaseDenom: "gamm/pool/1"}, false},
{"empty DenomTrace", DenomTrace{}, true},
- {"valid single trace info", DenomTrace{BaseDenom: "uatom", Path: "transfer/channelToA"}, false},
- {"valid multiple trace info", DenomTrace{BaseDenom: "uatom", Path: "transfer/channelToA/transfer/channelToB"}, false},
+ {"valid single trace info", DenomTrace{BaseDenom: "uatom", Path: "transfer/channel-1"}, false},
+ {"valid multiple trace info", DenomTrace{BaseDenom: "uatom", Path: "transfer/channel-1/transfer/channel-2"}, false},
{"single trace identifier", DenomTrace{BaseDenom: "uatom", Path: "transfer"}, true},
- {"invalid port ID", DenomTrace{BaseDenom: "uatom", Path: "(transfer)/channelToA"}, true},
- {"invalid channel ID", DenomTrace{BaseDenom: "uatom", Path: "transfer/(channelToA)"}, true},
- {"empty base denom with trace", DenomTrace{BaseDenom: "", Path: "transfer/channelToA"}, true},
+ {"invalid port ID", DenomTrace{BaseDenom: "uatom", Path: "(transfer)/channel-1"}, true},
+ {"invalid channel ID", DenomTrace{BaseDenom: "uatom", Path: "transfer/(channel-1)"}, true},
+ {"empty base denom with trace", DenomTrace{BaseDenom: "", Path: "transfer/channel-1"}, true},
}
for _, tc := range testCases {
@@ -90,16 +93,16 @@ func TestTraces_Validate(t *testing.T) {
expError bool
}{
{"empty Traces", Traces{}, false},
- {"valid multiple trace info", Traces{{BaseDenom: "uatom", Path: "transfer/channelToA/transfer/channelToB"}}, false},
+ {"valid multiple trace info", Traces{{BaseDenom: "uatom", Path: "transfer/channel-1/transfer/channel-2"}}, false},
{
"valid multiple trace info",
Traces{
- {BaseDenom: "uatom", Path: "transfer/channelToA/transfer/channelToB"},
- {BaseDenom: "uatom", Path: "transfer/channelToA/transfer/channelToB"},
+ {BaseDenom: "uatom", Path: "transfer/channel-1/transfer/channel-2"},
+ {BaseDenom: "uatom", Path: "transfer/channel-1/transfer/channel-2"},
},
true,
},
- {"empty base denom with trace", Traces{{BaseDenom: "", Path: "transfer/channelToA"}}, true},
+ {"empty base denom with trace", Traces{{BaseDenom: "", Path: "transfer/channel-1"}}, true},
}
for _, tc := range testCases {
@@ -118,26 +121,25 @@ func TestValidatePrefixedDenom(t *testing.T) {
denom string
expError bool
}{
- {"prefixed denom", "transfer/channelToA/uatom", false},
- {"prefixed denom with '/'", "transfer/channelToA/gamm/pool/1", false},
+ {"prefixed denom", "transfer/channel-1/uatom", false},
+ {"prefixed denom with '/'", "transfer/channel-1/gamm/pool/1", false},
{"empty prefix", "/uatom", false},
{"empty identifiers", "//uatom", false},
{"base denom", "uatom", false},
{"base denom with single '/'", "erc20/0x85bcBCd7e79Ec36f4fBBDc54F90C643d921151AA", false},
{"base denom with multiple '/'s", "gamm/pool/1", false},
- {"invalid port ID", "(transfer)/channelToA/uatom", false},
+ {"invalid port ID", "(transfer)/channel-1/uatom", true},
{"empty denom", "", true},
{"single trace identifier", "transfer/", true},
- {"invalid channel ID", "transfer/(channelToA)/uatom", true},
}
for _, tc := range testCases {
err := ValidatePrefixedDenom(tc.denom)
if tc.expError {
require.Error(t, err, tc.name)
- continue
+ } else {
+ require.NoError(t, err, tc.name)
}
- require.NoError(t, err, tc.name)
}
}
diff --git a/modules/apps/transfer/types/transfer.pb.go b/modules/apps/transfer/types/transfer.pb.go
index 5ed7c9bd835..9ef18d9d5b0 100644
--- a/modules/apps/transfer/types/transfer.pb.go
+++ b/modules/apps/transfer/types/transfer.pb.go
@@ -153,23 +153,23 @@ var fileDescriptor_5041673e96e97901 = []byte{
// 300 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x5c, 0x90, 0xc1, 0x4a, 0x2b, 0x31,
0x14, 0x86, 0x9b, 0x72, 0x29, 0xb7, 0x51, 0x14, 0xa2, 0x68, 0x29, 0x9a, 0xca, 0xac, 0x04, 0x71,
- 0x42, 0xe9, 0x42, 0xe8, 0x46, 0xa8, 0xba, 0xd7, 0xe2, 0xca, 0x4d, 0x49, 0x32, 0xc7, 0x69, 0x60,
- 0x32, 0x19, 0x92, 0x74, 0xa0, 0x8f, 0xe0, 0xce, 0xc7, 0x72, 0xd9, 0xa5, 0xab, 0x22, 0xed, 0x1b,
- 0xf4, 0x09, 0x64, 0xd2, 0x52, 0x06, 0x77, 0xff, 0x39, 0xe7, 0xfb, 0xce, 0xe2, 0xc7, 0x37, 0x4a,
- 0x48, 0xc6, 0x8b, 0x22, 0x53, 0x92, 0x7b, 0x65, 0x72, 0xc7, 0xbc, 0xe5, 0xb9, 0x7b, 0x07, 0xcb,
- 0xca, 0xfe, 0x3e, 0xc7, 0x85, 0x35, 0xde, 0x90, 0x0b, 0x25, 0x64, 0x5c, 0x87, 0xe3, 0x3d, 0x50,
- 0xf6, 0xbb, 0xa7, 0xa9, 0x49, 0x4d, 0x00, 0x59, 0x95, 0xb6, 0x4e, 0x74, 0x8f, 0xf1, 0x23, 0xe4,
- 0x46, 0xbf, 0x5a, 0x2e, 0x81, 0x10, 0xfc, 0xaf, 0xe0, 0x7e, 0xda, 0x41, 0x57, 0xe8, 0xba, 0x3d,
- 0x0e, 0x99, 0x5c, 0x62, 0x2c, 0xb8, 0x83, 0x49, 0x52, 0x61, 0x9d, 0x66, 0xb8, 0xb4, 0xab, 0x4d,
- 0xf0, 0xa2, 0x0f, 0x84, 0x5b, 0xcf, 0xdc, 0x72, 0xed, 0xc8, 0x10, 0x1f, 0x3a, 0xc8, 0x93, 0x09,
- 0xe4, 0x5c, 0x64, 0x90, 0x84, 0x2f, 0xff, 0x47, 0xe7, 0x9b, 0x65, 0xef, 0x64, 0xce, 0x75, 0x36,
- 0x8c, 0xea, 0xd7, 0x68, 0x7c, 0x50, 0x8d, 0x4f, 0xdb, 0x89, 0x3c, 0xe0, 0x63, 0x0b, 0x12, 0x54,
- 0x09, 0x7b, 0xbd, 0x19, 0xf4, 0xee, 0x66, 0xd9, 0x3b, 0xdb, 0xea, 0x7f, 0x80, 0x68, 0x7c, 0xb4,
- 0xdb, 0xec, 0x9e, 0x8c, 0x5e, 0xbe, 0x56, 0x14, 0x2d, 0x56, 0x14, 0xfd, 0xac, 0x28, 0xfa, 0x5c,
- 0xd3, 0xc6, 0x62, 0x4d, 0x1b, 0xdf, 0x6b, 0xda, 0x78, 0xbb, 0x4b, 0x95, 0x9f, 0xce, 0x44, 0x2c,
- 0x8d, 0x66, 0xd2, 0x38, 0x6d, 0x1c, 0x53, 0x42, 0xde, 0xa6, 0x86, 0x95, 0x03, 0xa6, 0x4d, 0x32,
- 0xcb, 0xc0, 0x55, 0x3d, 0xd7, 0xfa, 0xf5, 0xf3, 0x02, 0x9c, 0x68, 0x85, 0x9a, 0x06, 0xbf, 0x01,
- 0x00, 0x00, 0xff, 0xff, 0xae, 0xdf, 0x93, 0x8e, 0x89, 0x01, 0x00, 0x00,
+ 0x42, 0x51, 0x10, 0xba, 0x11, 0xaa, 0xee, 0xb5, 0xb8, 0x72, 0x53, 0x92, 0xcc, 0x71, 0x1a, 0x98,
+ 0x4c, 0x86, 0x24, 0x1d, 0xe8, 0x23, 0xb8, 0xf3, 0xb1, 0x5c, 0x76, 0xe9, 0xaa, 0x48, 0xfb, 0x06,
+ 0x7d, 0x02, 0x99, 0xb4, 0x94, 0xc1, 0xdd, 0x7f, 0xce, 0xf9, 0xbe, 0xb3, 0xf8, 0xf1, 0x95, 0x12,
+ 0x92, 0xf1, 0xa2, 0xc8, 0x94, 0xe4, 0x5e, 0x99, 0xdc, 0x31, 0x6f, 0x79, 0xee, 0xde, 0xc1, 0xb2,
+ 0xb2, 0xbf, 0xcb, 0x71, 0x61, 0x8d, 0x37, 0xe4, 0x4c, 0x09, 0x19, 0xd7, 0xe1, 0x78, 0x07, 0x94,
+ 0xfd, 0xee, 0x71, 0x6a, 0x52, 0x13, 0x40, 0x56, 0xa5, 0x8d, 0x13, 0xdd, 0x63, 0xfc, 0x08, 0xb9,
+ 0xd1, 0xaf, 0x96, 0x4b, 0x20, 0x04, 0xff, 0x2b, 0xb8, 0x9f, 0x74, 0xd0, 0x05, 0xba, 0x6c, 0x8f,
+ 0x42, 0x26, 0xe7, 0x18, 0x0b, 0xee, 0x60, 0x9c, 0x54, 0x58, 0xa7, 0x19, 0x2e, 0xed, 0x6a, 0x13,
+ 0xbc, 0xe8, 0x03, 0xe1, 0xd6, 0x33, 0xb7, 0x5c, 0x3b, 0x32, 0xc0, 0xfb, 0x0e, 0xf2, 0x64, 0x0c,
+ 0x39, 0x17, 0x19, 0x24, 0xe1, 0xcb, 0xff, 0xe1, 0xe9, 0x7a, 0xd1, 0x3b, 0x9a, 0x71, 0x9d, 0x0d,
+ 0xa2, 0xfa, 0x35, 0x1a, 0xed, 0x55, 0xe3, 0xd3, 0x66, 0x22, 0x0f, 0xf8, 0xd0, 0x82, 0x04, 0x55,
+ 0xc2, 0x4e, 0x6f, 0x06, 0xbd, 0xbb, 0x5e, 0xf4, 0x4e, 0x36, 0xfa, 0x1f, 0x20, 0x1a, 0x1d, 0x6c,
+ 0x37, 0xdb, 0x27, 0xc3, 0x97, 0xaf, 0x25, 0x45, 0xf3, 0x25, 0x45, 0x3f, 0x4b, 0x8a, 0x3e, 0x57,
+ 0xb4, 0x31, 0x5f, 0xd1, 0xc6, 0xf7, 0x8a, 0x36, 0xde, 0xee, 0x52, 0xe5, 0x27, 0x53, 0x11, 0x4b,
+ 0xa3, 0x99, 0x34, 0x4e, 0x1b, 0xc7, 0x94, 0x90, 0xd7, 0xa9, 0x61, 0xe5, 0x2d, 0xd3, 0x26, 0x99,
+ 0x66, 0xe0, 0xaa, 0x9e, 0x6b, 0xfd, 0xfa, 0x59, 0x01, 0x4e, 0xb4, 0x42, 0x4d, 0x37, 0xbf, 0x01,
+ 0x00, 0x00, 0xff, 0xff, 0x71, 0xb6, 0xa1, 0xba, 0x89, 0x01, 0x00, 0x00,
}
func (m *DenomTrace) Marshal() (dAtA []byte, err error) {
diff --git a/modules/apps/transfer/types/tx.pb.go b/modules/apps/transfer/types/tx.pb.go
index f240ba7368e..1cf3dcabc22 100644
--- a/modules/apps/transfer/types/tx.pb.go
+++ b/modules/apps/transfer/types/tx.pb.go
@@ -7,7 +7,7 @@ import (
context "context"
fmt "fmt"
types "github.com/cosmos/cosmos-sdk/types"
- types1 "github.com/cosmos/ibc-go/v3/modules/core/02-client/types"
+ types1 "github.com/cosmos/ibc-go/v4/modules/core/02-client/types"
_ "github.com/gogo/protobuf/gogoproto"
grpc1 "github.com/gogo/protobuf/grpc"
proto "github.com/gogo/protobuf/proto"
@@ -135,35 +135,35 @@ var fileDescriptor_7401ed9bed2f8e09 = []byte{
// 494 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x93, 0x31, 0x6f, 0xd3, 0x40,
0x14, 0xc7, 0x6d, 0x92, 0x86, 0x70, 0x51, 0x2b, 0x30, 0xb4, 0x72, 0xa3, 0x62, 0x47, 0x96, 0x90,
- 0xc2, 0xc0, 0x9d, 0xdc, 0x0a, 0x55, 0xea, 0x84, 0xd2, 0x05, 0x86, 0x4a, 0x60, 0x75, 0x62, 0x29,
- 0xf6, 0xf5, 0x70, 0x4e, 0xc4, 0xf7, 0xac, 0xbb, 0x8b, 0x45, 0xbf, 0x01, 0x23, 0x1f, 0xa1, 0x33,
- 0x9f, 0xa4, 0x63, 0x47, 0xa6, 0x08, 0x25, 0x0b, 0x73, 0x3e, 0x01, 0x3a, 0xfb, 0x12, 0x92, 0x05,
- 0x31, 0xd9, 0xef, 0xfd, 0x7f, 0xef, 0xfe, 0x7a, 0xf7, 0xde, 0xa1, 0x17, 0x3c, 0xa3, 0x24, 0x2d,
- 0xcb, 0x09, 0xa7, 0xa9, 0xe6, 0x20, 0x14, 0xd1, 0x32, 0x15, 0xea, 0x33, 0x93, 0xa4, 0x8a, 0x89,
- 0xfe, 0x8a, 0x4b, 0x09, 0x1a, 0xbc, 0x23, 0x9e, 0x51, 0xbc, 0x89, 0xe1, 0x15, 0x86, 0xab, 0xb8,
- 0xff, 0x2c, 0x87, 0x1c, 0x6a, 0x90, 0x98, 0xbf, 0xa6, 0xa6, 0x1f, 0x50, 0x50, 0x05, 0x28, 0x92,
- 0xa5, 0x8a, 0x91, 0x2a, 0xce, 0x98, 0x4e, 0x63, 0x42, 0x81, 0x0b, 0xab, 0x87, 0xc6, 0x9a, 0x82,
- 0x64, 0x84, 0x4e, 0x38, 0x13, 0xda, 0x18, 0x36, 0x7f, 0x0d, 0x10, 0xfd, 0x68, 0xa1, 0xde, 0x85,
- 0xca, 0x2f, 0xad, 0x93, 0x77, 0x8a, 0x7a, 0x0a, 0xa6, 0x92, 0xb2, 0xab, 0x12, 0xa4, 0xf6, 0xdd,
- 0x81, 0x3b, 0x7c, 0x34, 0x3a, 0x58, 0xce, 0x42, 0xef, 0x26, 0x2d, 0x26, 0x67, 0xd1, 0x86, 0x18,
- 0x25, 0xa8, 0x89, 0xde, 0x83, 0xd4, 0xde, 0x1b, 0xb4, 0x67, 0x35, 0x3a, 0x4e, 0x85, 0x60, 0x13,
- 0xff, 0x41, 0x5d, 0x7b, 0xb8, 0x9c, 0x85, 0xfb, 0x5b, 0xb5, 0x56, 0x8f, 0x92, 0xdd, 0x26, 0x71,
- 0xde, 0xc4, 0xde, 0x6b, 0xb4, 0xa3, 0xe1, 0x0b, 0x13, 0x7e, 0x6b, 0xe0, 0x0e, 0x7b, 0xc7, 0x87,
- 0xb8, 0xe9, 0x0d, 0x9b, 0xde, 0xb0, 0xed, 0x0d, 0x9f, 0x03, 0x17, 0xa3, 0xf6, 0xdd, 0x2c, 0x74,
- 0x92, 0x86, 0xf6, 0x0e, 0x50, 0x47, 0x31, 0x71, 0xcd, 0xa4, 0xdf, 0x36, 0x86, 0x89, 0x8d, 0xbc,
- 0x3e, 0xea, 0x4a, 0x46, 0x19, 0xaf, 0x98, 0xf4, 0x77, 0x6a, 0x65, 0x1d, 0x7b, 0x9f, 0xd0, 0x9e,
- 0xe6, 0x05, 0x83, 0xa9, 0xbe, 0x1a, 0x33, 0x9e, 0x8f, 0xb5, 0xdf, 0xa9, 0x3d, 0xfb, 0xd8, 0xcc,
- 0xc0, 0xdc, 0x17, 0xb6, 0xb7, 0x54, 0xc5, 0xf8, 0x6d, 0x4d, 0x8c, 0x9e, 0x1b, 0xd3, 0xbf, 0xcd,
- 0x6c, 0xd7, 0x47, 0xc9, 0xae, 0x4d, 0x34, 0xb4, 0xf7, 0x0e, 0x3d, 0x59, 0x11, 0xe6, 0xab, 0x74,
- 0x5a, 0x94, 0xfe, 0xc3, 0x81, 0x3b, 0x6c, 0x8f, 0x8e, 0x96, 0xb3, 0xd0, 0xdf, 0x3e, 0x64, 0x8d,
- 0x44, 0xc9, 0x63, 0x9b, 0xbb, 0x5c, 0xa5, 0xce, 0xba, 0xdf, 0x6e, 0x43, 0xe7, 0xf7, 0x6d, 0xe8,
- 0x44, 0xfb, 0xe8, 0xe9, 0xc6, 0xac, 0x12, 0xa6, 0x4a, 0x10, 0x8a, 0x1d, 0x03, 0x6a, 0x5d, 0xa8,
- 0xdc, 0x1b, 0xa3, 0xee, 0x7a, 0x8c, 0x2f, 0xf1, 0xbf, 0x96, 0x09, 0x6f, 0x9c, 0xd2, 0x8f, 0xff,
- 0x1b, 0x5d, 0x19, 0x8e, 0x3e, 0xdc, 0xcd, 0x03, 0xf7, 0x7e, 0x1e, 0xb8, 0xbf, 0xe6, 0x81, 0xfb,
- 0x7d, 0x11, 0x38, 0xf7, 0x8b, 0xc0, 0xf9, 0xb9, 0x08, 0x9c, 0x8f, 0xa7, 0x39, 0xd7, 0xe3, 0x69,
- 0x86, 0x29, 0x14, 0xc4, 0xae, 0x26, 0xcf, 0xe8, 0xab, 0x1c, 0x48, 0x75, 0x42, 0x0a, 0xb8, 0x9e,
- 0x4e, 0x98, 0x32, 0x4f, 0x61, 0xe3, 0x09, 0xe8, 0x9b, 0x92, 0xa9, 0xac, 0x53, 0xaf, 0xe3, 0xc9,
- 0x9f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x0f, 0x07, 0x3c, 0x39, 0x2c, 0x03, 0x00, 0x00,
+ 0xc2, 0xc0, 0x9d, 0x5c, 0x40, 0x95, 0x3a, 0xa1, 0x74, 0x81, 0xa1, 0x12, 0x58, 0x9d, 0x58, 0x8a,
+ 0x7d, 0x3d, 0x9c, 0x13, 0xf1, 0x3d, 0xeb, 0xee, 0x62, 0xd1, 0x6f, 0xc0, 0xc8, 0x47, 0xe8, 0xcc,
+ 0x27, 0xe9, 0xd8, 0x91, 0x29, 0x42, 0xc9, 0xc2, 0x9c, 0x4f, 0x80, 0xce, 0xbe, 0x84, 0x64, 0x41,
+ 0x4c, 0xf6, 0x7b, 0xff, 0xdf, 0xbb, 0xbf, 0xde, 0xbd, 0x77, 0xe8, 0x19, 0xcf, 0x28, 0x49, 0xcb,
+ 0x72, 0xc2, 0x69, 0xaa, 0x39, 0x08, 0x45, 0xb4, 0x4c, 0x85, 0xfa, 0xcc, 0x24, 0xa9, 0x62, 0xa2,
+ 0xbf, 0xe2, 0x52, 0x82, 0x06, 0xef, 0x88, 0x67, 0x14, 0x6f, 0x62, 0x78, 0x85, 0xe1, 0x2a, 0xee,
+ 0x3f, 0xc9, 0x21, 0x87, 0x1a, 0x24, 0xe6, 0xaf, 0xa9, 0xe9, 0x07, 0x14, 0x54, 0x01, 0x8a, 0x64,
+ 0xa9, 0x62, 0xa4, 0x8a, 0x33, 0xa6, 0xd3, 0x98, 0x50, 0xe0, 0xc2, 0xea, 0xa1, 0xb1, 0xa6, 0x20,
+ 0x19, 0xa1, 0x13, 0xce, 0x84, 0x36, 0x86, 0xcd, 0x5f, 0x03, 0x44, 0x3f, 0x5a, 0xa8, 0x77, 0xae,
+ 0xf2, 0x0b, 0xeb, 0xe4, 0x9d, 0xa0, 0x9e, 0x82, 0xa9, 0xa4, 0xec, 0xb2, 0x04, 0xa9, 0x7d, 0x77,
+ 0xe0, 0x0e, 0x1f, 0x8c, 0x0e, 0x96, 0xb3, 0xd0, 0xbb, 0x4e, 0x8b, 0xc9, 0x69, 0xb4, 0x21, 0x46,
+ 0x09, 0x6a, 0xa2, 0xf7, 0x20, 0xb5, 0xf7, 0x06, 0xed, 0x59, 0x8d, 0x8e, 0x53, 0x21, 0xd8, 0xc4,
+ 0xbf, 0x57, 0xd7, 0x1e, 0x2e, 0x67, 0xe1, 0xfe, 0x56, 0xad, 0xd5, 0xa3, 0x64, 0xb7, 0x49, 0x9c,
+ 0x35, 0xb1, 0xf7, 0x1a, 0xed, 0x68, 0xf8, 0xc2, 0x84, 0xdf, 0x1a, 0xb8, 0xc3, 0xde, 0xf1, 0x21,
+ 0x6e, 0x7a, 0xc3, 0xa6, 0x37, 0x6c, 0x7b, 0xc3, 0x67, 0xc0, 0xc5, 0xa8, 0x7d, 0x3b, 0x0b, 0x9d,
+ 0xa4, 0xa1, 0xbd, 0x03, 0xd4, 0x51, 0x4c, 0x5c, 0x31, 0xe9, 0xb7, 0x8d, 0x61, 0x62, 0x23, 0xaf,
+ 0x8f, 0xba, 0x92, 0x51, 0xc6, 0x2b, 0x26, 0xfd, 0x9d, 0x5a, 0x59, 0xc7, 0xde, 0x27, 0xb4, 0xa7,
+ 0x79, 0xc1, 0x60, 0xaa, 0x2f, 0xc7, 0x8c, 0xe7, 0x63, 0xed, 0x77, 0x6a, 0xcf, 0x3e, 0x36, 0x33,
+ 0x30, 0xf7, 0x85, 0xed, 0x2d, 0x55, 0x31, 0x7e, 0x5b, 0x13, 0xa3, 0xa7, 0xc6, 0xf4, 0x6f, 0x33,
+ 0xdb, 0xf5, 0x51, 0xb2, 0x6b, 0x13, 0x0d, 0xed, 0xbd, 0x43, 0x8f, 0x56, 0x84, 0xf9, 0x2a, 0x9d,
+ 0x16, 0xa5, 0x7f, 0x7f, 0xe0, 0x0e, 0xdb, 0xa3, 0xa3, 0xe5, 0x2c, 0xf4, 0xb7, 0x0f, 0x59, 0x23,
+ 0x51, 0xf2, 0xd0, 0xe6, 0x2e, 0x56, 0xa9, 0xd3, 0xee, 0xb7, 0x9b, 0xd0, 0xf9, 0x7d, 0x13, 0x3a,
+ 0xd1, 0x3e, 0x7a, 0xbc, 0x31, 0xab, 0x84, 0xa9, 0x12, 0x84, 0x62, 0xc7, 0x80, 0x5a, 0xe7, 0x2a,
+ 0xf7, 0xc6, 0xa8, 0xbb, 0x1e, 0xe3, 0x73, 0xfc, 0xaf, 0x65, 0xc2, 0x1b, 0xa7, 0xf4, 0xe3, 0xff,
+ 0x46, 0x57, 0x86, 0xa3, 0x0f, 0xb7, 0xf3, 0xc0, 0xbd, 0x9b, 0x07, 0xee, 0xaf, 0x79, 0xe0, 0x7e,
+ 0x5f, 0x04, 0xce, 0xdd, 0x22, 0x70, 0x7e, 0x2e, 0x02, 0xe7, 0xe3, 0x49, 0xce, 0xf5, 0x78, 0x9a,
+ 0x61, 0x0a, 0x05, 0xb1, 0xab, 0xc9, 0x33, 0xfa, 0x22, 0x07, 0x52, 0xbd, 0x22, 0x05, 0x5c, 0x4d,
+ 0x27, 0x4c, 0x99, 0xa7, 0xb0, 0xf1, 0x04, 0xf4, 0x75, 0xc9, 0x54, 0xd6, 0xa9, 0xd7, 0xf1, 0xe5,
+ 0x9f, 0x00, 0x00, 0x00, 0xff, 0xff, 0xd0, 0x6e, 0x0e, 0x0d, 0x2c, 0x03, 0x00, 0x00,
}
// Reference imports to suppress errors if they are not otherwise used.
diff --git a/modules/core/02-client/abci.go b/modules/core/02-client/abci.go
index aa13295e1c9..87039aeee10 100644
--- a/modules/core/02-client/abci.go
+++ b/modules/core/02-client/abci.go
@@ -3,9 +3,9 @@ package client
import (
sdk "github.com/cosmos/cosmos-sdk/types"
- "github.com/cosmos/ibc-go/v3/modules/core/02-client/keeper"
- "github.com/cosmos/ibc-go/v3/modules/core/exported"
- ibctmtypes "github.com/cosmos/ibc-go/v3/modules/light-clients/07-tendermint/types"
+ "github.com/cosmos/ibc-go/v4/modules/core/02-client/keeper"
+ "github.com/cosmos/ibc-go/v4/modules/core/exported"
+ ibctmtypes "github.com/cosmos/ibc-go/v4/modules/light-clients/07-tendermint/types"
)
// BeginBlocker updates an existing localhost client with the latest block height.
diff --git a/modules/core/02-client/abci_test.go b/modules/core/02-client/abci_test.go
index 80ebdb338ec..27f8f7f4b12 100644
--- a/modules/core/02-client/abci_test.go
+++ b/modules/core/02-client/abci_test.go
@@ -8,12 +8,12 @@ import (
abci "github.com/tendermint/tendermint/abci/types"
tmproto "github.com/tendermint/tendermint/proto/tendermint/types"
- client "github.com/cosmos/ibc-go/v3/modules/core/02-client"
- "github.com/cosmos/ibc-go/v3/modules/core/02-client/types"
- "github.com/cosmos/ibc-go/v3/modules/core/exported"
- ibctmtypes "github.com/cosmos/ibc-go/v3/modules/light-clients/07-tendermint/types"
- localhosttypes "github.com/cosmos/ibc-go/v3/modules/light-clients/09-localhost/types"
- ibctesting "github.com/cosmos/ibc-go/v3/testing"
+ client "github.com/cosmos/ibc-go/v4/modules/core/02-client"
+ "github.com/cosmos/ibc-go/v4/modules/core/02-client/types"
+ "github.com/cosmos/ibc-go/v4/modules/core/exported"
+ ibctmtypes "github.com/cosmos/ibc-go/v4/modules/light-clients/07-tendermint/types"
+ localhosttypes "github.com/cosmos/ibc-go/v4/modules/light-clients/09-localhost/types"
+ ibctesting "github.com/cosmos/ibc-go/v4/testing"
)
type ClientTestSuite struct {
diff --git a/modules/core/02-client/client/cli/cli.go b/modules/core/02-client/client/cli/cli.go
index d06977016bd..74bb514ae1d 100644
--- a/modules/core/02-client/client/cli/cli.go
+++ b/modules/core/02-client/client/cli/cli.go
@@ -4,7 +4,7 @@ import (
"github.com/cosmos/cosmos-sdk/client"
"github.com/spf13/cobra"
- "github.com/cosmos/ibc-go/v3/modules/core/02-client/types"
+ "github.com/cosmos/ibc-go/v4/modules/core/02-client/types"
)
// GetQueryCmd returns the query commands for IBC clients
diff --git a/modules/core/02-client/client/cli/query.go b/modules/core/02-client/client/cli/query.go
index 56093a8368f..66e114902fe 100644
--- a/modules/core/02-client/client/cli/query.go
+++ b/modules/core/02-client/client/cli/query.go
@@ -9,9 +9,9 @@ import (
"github.com/cosmos/cosmos-sdk/version"
"github.com/spf13/cobra"
- "github.com/cosmos/ibc-go/v3/modules/core/02-client/client/utils"
- "github.com/cosmos/ibc-go/v3/modules/core/02-client/types"
- host "github.com/cosmos/ibc-go/v3/modules/core/24-host"
+ "github.com/cosmos/ibc-go/v4/modules/core/02-client/client/utils"
+ "github.com/cosmos/ibc-go/v4/modules/core/02-client/types"
+ host "github.com/cosmos/ibc-go/v4/modules/core/24-host"
)
const (
diff --git a/modules/core/02-client/client/cli/tx.go b/modules/core/02-client/client/cli/tx.go
index ca65d5b2b17..fdf9b8e5b89 100644
--- a/modules/core/02-client/client/cli/tx.go
+++ b/modules/core/02-client/client/cli/tx.go
@@ -16,8 +16,8 @@ import (
upgradetypes "github.com/cosmos/cosmos-sdk/x/upgrade/types"
"github.com/spf13/cobra"
- "github.com/cosmos/ibc-go/v3/modules/core/02-client/types"
- "github.com/cosmos/ibc-go/v3/modules/core/exported"
+ "github.com/cosmos/ibc-go/v4/modules/core/02-client/types"
+ "github.com/cosmos/ibc-go/v4/modules/core/exported"
)
// NewCreateClientCmd defines the command to create a new IBC light client.
diff --git a/modules/core/02-client/client/proposal_handler.go b/modules/core/02-client/client/proposal_handler.go
index 93e98dbc8b2..2c5aa8911d1 100644
--- a/modules/core/02-client/client/proposal_handler.go
+++ b/modules/core/02-client/client/proposal_handler.go
@@ -8,7 +8,7 @@ import (
govclient "github.com/cosmos/cosmos-sdk/x/gov/client"
govrest "github.com/cosmos/cosmos-sdk/x/gov/client/rest"
- "github.com/cosmos/ibc-go/v3/modules/core/02-client/client/cli"
+ "github.com/cosmos/ibc-go/v4/modules/core/02-client/client/cli"
)
var (
diff --git a/modules/core/02-client/client/utils/utils.go b/modules/core/02-client/client/utils/utils.go
index a596ff61410..d4361098085 100644
--- a/modules/core/02-client/client/utils/utils.go
+++ b/modules/core/02-client/client/utils/utils.go
@@ -8,12 +8,12 @@ import (
sdkerrors "github.com/cosmos/cosmos-sdk/types/errors"
tmtypes "github.com/tendermint/tendermint/types"
- "github.com/cosmos/ibc-go/v3/modules/core/02-client/types"
- commitmenttypes "github.com/cosmos/ibc-go/v3/modules/core/23-commitment/types"
- host "github.com/cosmos/ibc-go/v3/modules/core/24-host"
- ibcclient "github.com/cosmos/ibc-go/v3/modules/core/client"
- "github.com/cosmos/ibc-go/v3/modules/core/exported"
- ibctmtypes "github.com/cosmos/ibc-go/v3/modules/light-clients/07-tendermint/types"
+ "github.com/cosmos/ibc-go/v4/modules/core/02-client/types"
+ commitmenttypes "github.com/cosmos/ibc-go/v4/modules/core/23-commitment/types"
+ host "github.com/cosmos/ibc-go/v4/modules/core/24-host"
+ ibcclient "github.com/cosmos/ibc-go/v4/modules/core/client"
+ "github.com/cosmos/ibc-go/v4/modules/core/exported"
+ ibctmtypes "github.com/cosmos/ibc-go/v4/modules/light-clients/07-tendermint/types"
)
// QueryClientState returns a client state. If prove is true, it performs an ABCI store query
diff --git a/modules/core/02-client/genesis.go b/modules/core/02-client/genesis.go
index 6ba20b22510..8d4654d6438 100644
--- a/modules/core/02-client/genesis.go
+++ b/modules/core/02-client/genesis.go
@@ -5,9 +5,9 @@ import (
sdk "github.com/cosmos/cosmos-sdk/types"
- "github.com/cosmos/ibc-go/v3/modules/core/02-client/keeper"
- "github.com/cosmos/ibc-go/v3/modules/core/02-client/types"
- "github.com/cosmos/ibc-go/v3/modules/core/exported"
+ "github.com/cosmos/ibc-go/v4/modules/core/02-client/keeper"
+ "github.com/cosmos/ibc-go/v4/modules/core/02-client/types"
+ "github.com/cosmos/ibc-go/v4/modules/core/exported"
)
// InitGenesis initializes the ibc client submodule's state from a provided genesis
diff --git a/modules/core/02-client/keeper/client.go b/modules/core/02-client/keeper/client.go
index 0360952e75a..4b770dafe19 100644
--- a/modules/core/02-client/keeper/client.go
+++ b/modules/core/02-client/keeper/client.go
@@ -8,8 +8,8 @@ import (
sdk "github.com/cosmos/cosmos-sdk/types"
sdkerrors "github.com/cosmos/cosmos-sdk/types/errors"
- "github.com/cosmos/ibc-go/v3/modules/core/02-client/types"
- "github.com/cosmos/ibc-go/v3/modules/core/exported"
+ "github.com/cosmos/ibc-go/v4/modules/core/02-client/types"
+ "github.com/cosmos/ibc-go/v4/modules/core/exported"
)
// CreateClient creates a new client state and populates it with a given consensus
diff --git a/modules/core/02-client/keeper/client_test.go b/modules/core/02-client/keeper/client_test.go
index cde30cbb0fe..d3492e9f25e 100644
--- a/modules/core/02-client/keeper/client_test.go
+++ b/modules/core/02-client/keeper/client_test.go
@@ -8,14 +8,14 @@ import (
upgradetypes "github.com/cosmos/cosmos-sdk/x/upgrade/types"
tmtypes "github.com/tendermint/tendermint/types"
- "github.com/cosmos/ibc-go/v3/modules/core/02-client/types"
- clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types"
- commitmenttypes "github.com/cosmos/ibc-go/v3/modules/core/23-commitment/types"
- "github.com/cosmos/ibc-go/v3/modules/core/exported"
- ibctmtypes "github.com/cosmos/ibc-go/v3/modules/light-clients/07-tendermint/types"
- localhosttypes "github.com/cosmos/ibc-go/v3/modules/light-clients/09-localhost/types"
- ibctesting "github.com/cosmos/ibc-go/v3/testing"
- ibctestingmock "github.com/cosmos/ibc-go/v3/testing/mock"
+ "github.com/cosmos/ibc-go/v4/modules/core/02-client/types"
+ clienttypes "github.com/cosmos/ibc-go/v4/modules/core/02-client/types"
+ commitmenttypes "github.com/cosmos/ibc-go/v4/modules/core/23-commitment/types"
+ "github.com/cosmos/ibc-go/v4/modules/core/exported"
+ ibctmtypes "github.com/cosmos/ibc-go/v4/modules/light-clients/07-tendermint/types"
+ localhosttypes "github.com/cosmos/ibc-go/v4/modules/light-clients/09-localhost/types"
+ ibctesting "github.com/cosmos/ibc-go/v4/testing"
+ ibctestingmock "github.com/cosmos/ibc-go/v4/testing/mock"
)
func (suite *KeeperTestSuite) TestCreateClient() {
diff --git a/modules/core/02-client/keeper/encoding.go b/modules/core/02-client/keeper/encoding.go
index 9a8156df37e..6c036455ce3 100644
--- a/modules/core/02-client/keeper/encoding.go
+++ b/modules/core/02-client/keeper/encoding.go
@@ -1,8 +1,8 @@
package keeper
import (
- "github.com/cosmos/ibc-go/v3/modules/core/02-client/types"
- "github.com/cosmos/ibc-go/v3/modules/core/exported"
+ "github.com/cosmos/ibc-go/v4/modules/core/02-client/types"
+ "github.com/cosmos/ibc-go/v4/modules/core/exported"
)
// UnmarshalClientState attempts to decode and return an ClientState object from
diff --git a/modules/core/02-client/keeper/events.go b/modules/core/02-client/keeper/events.go
index ff8ae1c3acd..0702651a611 100644
--- a/modules/core/02-client/keeper/events.go
+++ b/modules/core/02-client/keeper/events.go
@@ -1,10 +1,12 @@
package keeper
import (
+ "fmt"
+
sdk "github.com/cosmos/cosmos-sdk/types"
- "github.com/cosmos/ibc-go/v3/modules/core/02-client/types"
- "github.com/cosmos/ibc-go/v3/modules/core/exported"
+ "github.com/cosmos/ibc-go/v4/modules/core/02-client/types"
+ "github.com/cosmos/ibc-go/v4/modules/core/exported"
)
// EmitCreateClientEvent emits a create client event
@@ -68,6 +70,17 @@ func EmitUpdateClientProposalEvent(ctx sdk.Context, clientID string, clientState
)
}
+// EmitUpgradeClientProposalEvent emits an upgrade client proposal event
+func EmitUpgradeClientProposalEvent(ctx sdk.Context, title string, height int64) {
+ ctx.EventManager().EmitEvent(
+ sdk.NewEvent(
+ types.EventTypeUpgradeClientProposal,
+ sdk.NewAttribute(types.AttributeKeyUpgradePlanTitle, title),
+ sdk.NewAttribute(types.AttributeKeyUpgradePlanHeight, fmt.Sprintf("%d", height)),
+ ),
+ )
+}
+
// EmitSubmitMisbehaviourEvent emits a client misbehaviour event
func EmitSubmitMisbehaviourEvent(ctx sdk.Context, clientID string, clientState exported.ClientState) {
ctx.EventManager().EmitEvent(
diff --git a/modules/core/02-client/keeper/grpc_query.go b/modules/core/02-client/keeper/grpc_query.go
index bc7ce9f8241..3fc7b6e7cde 100644
--- a/modules/core/02-client/keeper/grpc_query.go
+++ b/modules/core/02-client/keeper/grpc_query.go
@@ -14,9 +14,9 @@ import (
"google.golang.org/grpc/codes"
"google.golang.org/grpc/status"
- "github.com/cosmos/ibc-go/v3/modules/core/02-client/types"
- host "github.com/cosmos/ibc-go/v3/modules/core/24-host"
- "github.com/cosmos/ibc-go/v3/modules/core/exported"
+ "github.com/cosmos/ibc-go/v4/modules/core/02-client/types"
+ host "github.com/cosmos/ibc-go/v4/modules/core/24-host"
+ "github.com/cosmos/ibc-go/v4/modules/core/exported"
)
var _ types.QueryServer = Keeper{}
diff --git a/modules/core/02-client/keeper/grpc_query_test.go b/modules/core/02-client/keeper/grpc_query_test.go
index e6d3a1ae1ba..1fb29d06964 100644
--- a/modules/core/02-client/keeper/grpc_query_test.go
+++ b/modules/core/02-client/keeper/grpc_query_test.go
@@ -9,10 +9,10 @@ import (
"github.com/cosmos/cosmos-sdk/types/query"
"google.golang.org/grpc/metadata"
- "github.com/cosmos/ibc-go/v3/modules/core/02-client/types"
- "github.com/cosmos/ibc-go/v3/modules/core/exported"
- ibctmtypes "github.com/cosmos/ibc-go/v3/modules/light-clients/07-tendermint/types"
- ibctesting "github.com/cosmos/ibc-go/v3/testing"
+ "github.com/cosmos/ibc-go/v4/modules/core/02-client/types"
+ "github.com/cosmos/ibc-go/v4/modules/core/exported"
+ ibctmtypes "github.com/cosmos/ibc-go/v4/modules/light-clients/07-tendermint/types"
+ ibctesting "github.com/cosmos/ibc-go/v4/testing"
)
func (suite *KeeperTestSuite) TestQueryClientState() {
diff --git a/modules/core/02-client/keeper/keeper.go b/modules/core/02-client/keeper/keeper.go
index 74a043e9dea..fbb911f8997 100644
--- a/modules/core/02-client/keeper/keeper.go
+++ b/modules/core/02-client/keeper/keeper.go
@@ -14,11 +14,11 @@ import (
"github.com/tendermint/tendermint/libs/log"
"github.com/tendermint/tendermint/light"
- "github.com/cosmos/ibc-go/v3/modules/core/02-client/types"
- commitmenttypes "github.com/cosmos/ibc-go/v3/modules/core/23-commitment/types"
- host "github.com/cosmos/ibc-go/v3/modules/core/24-host"
- "github.com/cosmos/ibc-go/v3/modules/core/exported"
- ibctmtypes "github.com/cosmos/ibc-go/v3/modules/light-clients/07-tendermint/types"
+ "github.com/cosmos/ibc-go/v4/modules/core/02-client/types"
+ commitmenttypes "github.com/cosmos/ibc-go/v4/modules/core/23-commitment/types"
+ host "github.com/cosmos/ibc-go/v4/modules/core/24-host"
+ "github.com/cosmos/ibc-go/v4/modules/core/exported"
+ ibctmtypes "github.com/cosmos/ibc-go/v4/modules/light-clients/07-tendermint/types"
)
// Keeper represents a type that grants read and write permissions to any client
diff --git a/modules/core/02-client/keeper/keeper_test.go b/modules/core/02-client/keeper/keeper_test.go
index bbcc6dafde9..11acea3df7d 100644
--- a/modules/core/02-client/keeper/keeper_test.go
+++ b/modules/core/02-client/keeper/keeper_test.go
@@ -15,15 +15,15 @@ import (
tmproto "github.com/tendermint/tendermint/proto/tendermint/types"
tmtypes "github.com/tendermint/tendermint/types"
- "github.com/cosmos/ibc-go/v3/modules/core/02-client/keeper"
- "github.com/cosmos/ibc-go/v3/modules/core/02-client/types"
- commitmenttypes "github.com/cosmos/ibc-go/v3/modules/core/23-commitment/types"
- "github.com/cosmos/ibc-go/v3/modules/core/exported"
- ibctmtypes "github.com/cosmos/ibc-go/v3/modules/light-clients/07-tendermint/types"
- localhosttypes "github.com/cosmos/ibc-go/v3/modules/light-clients/09-localhost/types"
- ibctesting "github.com/cosmos/ibc-go/v3/testing"
- ibctestingmock "github.com/cosmos/ibc-go/v3/testing/mock"
- "github.com/cosmos/ibc-go/v3/testing/simapp"
+ "github.com/cosmos/ibc-go/v4/modules/core/02-client/keeper"
+ "github.com/cosmos/ibc-go/v4/modules/core/02-client/types"
+ commitmenttypes "github.com/cosmos/ibc-go/v4/modules/core/23-commitment/types"
+ "github.com/cosmos/ibc-go/v4/modules/core/exported"
+ ibctmtypes "github.com/cosmos/ibc-go/v4/modules/light-clients/07-tendermint/types"
+ localhosttypes "github.com/cosmos/ibc-go/v4/modules/light-clients/09-localhost/types"
+ ibctesting "github.com/cosmos/ibc-go/v4/testing"
+ ibctestingmock "github.com/cosmos/ibc-go/v4/testing/mock"
+ "github.com/cosmos/ibc-go/v4/testing/simapp"
)
const (
diff --git a/modules/core/02-client/keeper/migrations.go b/modules/core/02-client/keeper/migrations.go
index 53ff8a657e7..c0ad7210341 100644
--- a/modules/core/02-client/keeper/migrations.go
+++ b/modules/core/02-client/keeper/migrations.go
@@ -3,7 +3,7 @@ package keeper
import (
sdk "github.com/cosmos/cosmos-sdk/types"
- v100 "github.com/cosmos/ibc-go/v3/modules/core/02-client/legacy/v100"
+ v100 "github.com/cosmos/ibc-go/v4/modules/core/02-client/legacy/v100"
)
// Migrator is a struct for handling in-place store migrations.
diff --git a/modules/core/02-client/keeper/params.go b/modules/core/02-client/keeper/params.go
index 84bd2845ba3..d2ba2000792 100644
--- a/modules/core/02-client/keeper/params.go
+++ b/modules/core/02-client/keeper/params.go
@@ -3,7 +3,7 @@ package keeper
import (
sdk "github.com/cosmos/cosmos-sdk/types"
- "github.com/cosmos/ibc-go/v3/modules/core/02-client/types"
+ "github.com/cosmos/ibc-go/v4/modules/core/02-client/types"
)
// GetAllowedClients retrieves the allowed clients from the paramstore
diff --git a/modules/core/02-client/keeper/params_test.go b/modules/core/02-client/keeper/params_test.go
index c293f7ec195..fe136a6346b 100644
--- a/modules/core/02-client/keeper/params_test.go
+++ b/modules/core/02-client/keeper/params_test.go
@@ -1,7 +1,7 @@
package keeper_test
import (
- "github.com/cosmos/ibc-go/v3/modules/core/02-client/types"
+ "github.com/cosmos/ibc-go/v4/modules/core/02-client/types"
)
func (suite *KeeperTestSuite) TestParams() {
diff --git a/modules/core/02-client/keeper/proposal.go b/modules/core/02-client/keeper/proposal.go
index ef0bf043e50..4b182e5e7c3 100644
--- a/modules/core/02-client/keeper/proposal.go
+++ b/modules/core/02-client/keeper/proposal.go
@@ -6,8 +6,8 @@ import (
sdk "github.com/cosmos/cosmos-sdk/types"
sdkerrors "github.com/cosmos/cosmos-sdk/types/errors"
- "github.com/cosmos/ibc-go/v3/modules/core/02-client/types"
- "github.com/cosmos/ibc-go/v3/modules/core/exported"
+ "github.com/cosmos/ibc-go/v4/modules/core/02-client/types"
+ "github.com/cosmos/ibc-go/v4/modules/core/exported"
)
// ClientUpdateProposal will retrieve the subject and substitute client.
@@ -98,5 +98,12 @@ func (k Keeper) HandleUpgradeProposal(ctx sdk.Context, p *types.UpgradeProposal)
// sets the new upgraded client in last height committed on this chain is at plan.Height,
// since the chain will panic at plan.Height and new chain will resume at plan.Height
- return k.upgradeKeeper.SetUpgradedClient(ctx, p.Plan.Height, bz)
+ if err = k.upgradeKeeper.SetUpgradedClient(ctx, p.Plan.Height, bz); err != nil {
+ return err
+ }
+
+ // emitting an event for handling client upgrade proposal
+ EmitUpgradeClientProposalEvent(ctx, p.Title, p.Plan.Height)
+
+ return nil
}
diff --git a/modules/core/02-client/keeper/proposal_test.go b/modules/core/02-client/keeper/proposal_test.go
index 277354f9e9b..5a635d99ecc 100644
--- a/modules/core/02-client/keeper/proposal_test.go
+++ b/modules/core/02-client/keeper/proposal_test.go
@@ -4,10 +4,10 @@ import (
govtypes "github.com/cosmos/cosmos-sdk/x/gov/types"
upgradetypes "github.com/cosmos/cosmos-sdk/x/upgrade/types"
- "github.com/cosmos/ibc-go/v3/modules/core/02-client/types"
- "github.com/cosmos/ibc-go/v3/modules/core/exported"
- ibctmtypes "github.com/cosmos/ibc-go/v3/modules/light-clients/07-tendermint/types"
- ibctesting "github.com/cosmos/ibc-go/v3/testing"
+ "github.com/cosmos/ibc-go/v4/modules/core/02-client/types"
+ "github.com/cosmos/ibc-go/v4/modules/core/exported"
+ ibctmtypes "github.com/cosmos/ibc-go/v4/modules/light-clients/07-tendermint/types"
+ ibctesting "github.com/cosmos/ibc-go/v4/testing"
)
func (suite *KeeperTestSuite) TestClientUpdateProposal() {
diff --git a/modules/core/02-client/legacy/v100/genesis.go b/modules/core/02-client/legacy/v100/genesis.go
index 014dd3870c0..156a067f386 100644
--- a/modules/core/02-client/legacy/v100/genesis.go
+++ b/modules/core/02-client/legacy/v100/genesis.go
@@ -7,10 +7,10 @@ import (
"github.com/cosmos/cosmos-sdk/codec"
sdkerrors "github.com/cosmos/cosmos-sdk/types/errors"
- "github.com/cosmos/ibc-go/v3/modules/core/02-client/types"
- host "github.com/cosmos/ibc-go/v3/modules/core/24-host"
- "github.com/cosmos/ibc-go/v3/modules/core/exported"
- ibctmtypes "github.com/cosmos/ibc-go/v3/modules/light-clients/07-tendermint/types"
+ "github.com/cosmos/ibc-go/v4/modules/core/02-client/types"
+ host "github.com/cosmos/ibc-go/v4/modules/core/24-host"
+ "github.com/cosmos/ibc-go/v4/modules/core/exported"
+ ibctmtypes "github.com/cosmos/ibc-go/v4/modules/light-clients/07-tendermint/types"
)
// MigrateGenesis accepts exported v1.0.0 IBC client genesis file and migrates it to:
diff --git a/modules/core/02-client/legacy/v100/genesis_test.go b/modules/core/02-client/legacy/v100/genesis_test.go
index c4daa6c9bfc..04f6b33f053 100644
--- a/modules/core/02-client/legacy/v100/genesis_test.go
+++ b/modules/core/02-client/legacy/v100/genesis_test.go
@@ -9,14 +9,14 @@ import (
"github.com/cosmos/cosmos-sdk/codec"
codectypes "github.com/cosmos/cosmos-sdk/codec/types"
- ibcclient "github.com/cosmos/ibc-go/v3/modules/core/02-client"
- v100 "github.com/cosmos/ibc-go/v3/modules/core/02-client/legacy/v100"
- "github.com/cosmos/ibc-go/v3/modules/core/02-client/types"
- host "github.com/cosmos/ibc-go/v3/modules/core/24-host"
- "github.com/cosmos/ibc-go/v3/modules/core/exported"
- ibctmtypes "github.com/cosmos/ibc-go/v3/modules/light-clients/07-tendermint/types"
- ibctesting "github.com/cosmos/ibc-go/v3/testing"
- "github.com/cosmos/ibc-go/v3/testing/simapp"
+ ibcclient "github.com/cosmos/ibc-go/v4/modules/core/02-client"
+ v100 "github.com/cosmos/ibc-go/v4/modules/core/02-client/legacy/v100"
+ "github.com/cosmos/ibc-go/v4/modules/core/02-client/types"
+ host "github.com/cosmos/ibc-go/v4/modules/core/24-host"
+ "github.com/cosmos/ibc-go/v4/modules/core/exported"
+ ibctmtypes "github.com/cosmos/ibc-go/v4/modules/light-clients/07-tendermint/types"
+ ibctesting "github.com/cosmos/ibc-go/v4/testing"
+ "github.com/cosmos/ibc-go/v4/testing/simapp"
)
func (suite *LegacyTestSuite) TestMigrateGenesisSolomachine() {
diff --git a/modules/core/02-client/legacy/v100/solomachine.go b/modules/core/02-client/legacy/v100/solomachine.go
index b9ae2b1005e..a9b8fa49340 100644
--- a/modules/core/02-client/legacy/v100/solomachine.go
+++ b/modules/core/02-client/legacy/v100/solomachine.go
@@ -7,7 +7,7 @@ import (
cryptotypes "github.com/cosmos/cosmos-sdk/crypto/types"
sdk "github.com/cosmos/cosmos-sdk/types"
- "github.com/cosmos/ibc-go/v3/modules/core/exported"
+ "github.com/cosmos/ibc-go/v4/modules/core/exported"
)
// NOTE: this is a mock implmentation for exported.ClientState. This implementation
diff --git a/modules/core/02-client/legacy/v100/solomachine.pb.go b/modules/core/02-client/legacy/v100/solomachine.pb.go
index 1c87a4d9d2f..3ed69fb1b21 100644
--- a/modules/core/02-client/legacy/v100/solomachine.pb.go
+++ b/modules/core/02-client/legacy/v100/solomachine.pb.go
@@ -6,8 +6,8 @@ package v100
import (
fmt "fmt"
types "github.com/cosmos/cosmos-sdk/codec/types"
- types1 "github.com/cosmos/ibc-go/v3/modules/core/03-connection/types"
- types2 "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types"
+ types1 "github.com/cosmos/ibc-go/v4/modules/core/03-connection/types"
+ types2 "github.com/cosmos/ibc-go/v4/modules/core/04-channel/types"
_ "github.com/gogo/protobuf/gogoproto"
proto "github.com/gogo/protobuf/proto"
io "io"
@@ -826,90 +826,90 @@ var fileDescriptor_6cc2ee18f7f86d4e = []byte{
// 1369 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x57, 0x5f, 0x6f, 0xdb, 0x54,
0x14, 0xaf, 0xb3, 0xac, 0x6b, 0x4e, 0xba, 0x36, 0x78, 0xd9, 0x96, 0x7a, 0x53, 0x62, 0x8c, 0x18,
- 0x05, 0xb1, 0x78, 0xed, 0xc4, 0x84, 0x26, 0x34, 0x70, 0x1c, 0xc3, 0xb2, 0xb5, 0x6e, 0x70, 0x5c,
- 0xd8, 0x26, 0x24, 0xcb, 0x71, 0x6e, 0x53, 0x6b, 0x89, 0x6f, 0x88, 0x9d, 0x74, 0x41, 0x42, 0x42,
- 0x3c, 0x8d, 0x88, 0x07, 0xbe, 0x40, 0x24, 0x04, 0xe2, 0xab, 0x00, 0x8f, 0xe3, 0x8d, 0xa7, 0x80,
- 0xb6, 0x6f, 0x90, 0x4f, 0x80, 0xec, 0x7b, 0x13, 0xdb, 0xe9, 0x9a, 0x8a, 0x7f, 0x6f, 0xf7, 0x9e,
- 0xf3, 0x3b, 0xbf, 0x73, 0xee, 0x39, 0xc7, 0xe7, 0x5e, 0xc3, 0x96, 0x5d, 0xb7, 0xc4, 0x96, 0xdd,
- 0x3c, 0xf4, 0xac, 0x96, 0x8d, 0x1c, 0xcf, 0x15, 0x5d, 0xdc, 0xc2, 0x6d, 0xd3, 0x3a, 0xb4, 0x1d,
- 0x24, 0xf6, 0xb7, 0xa2, 0xdb, 0x62, 0xa7, 0x8b, 0x3d, 0xcc, 0x16, 0xec, 0xba, 0x55, 0x8c, 0x9a,
- 0x14, 0xa3, 0x98, 0xfe, 0x16, 0xf7, 0x86, 0xcf, 0x69, 0xe1, 0x2e, 0x12, 0x2d, 0xec, 0x38, 0xc8,
- 0xf2, 0x6c, 0xec, 0xf8, 0x54, 0xe1, 0x8e, 0x30, 0x71, 0xaf, 0x86, 0xc0, 0x43, 0xd3, 0x71, 0x50,
- 0x2b, 0x40, 0x91, 0x25, 0x85, 0x64, 0x9b, 0xb8, 0x89, 0x83, 0xa5, 0xe8, 0xaf, 0xa8, 0x74, 0xa3,
- 0x89, 0x71, 0xb3, 0x85, 0xc4, 0x60, 0x57, 0xef, 0x1d, 0x88, 0xa6, 0x33, 0x20, 0x2a, 0xe1, 0xb7,
- 0x04, 0xa4, 0xe5, 0x20, 0xae, 0x9a, 0x67, 0x7a, 0x88, 0xe5, 0x60, 0xc5, 0x45, 0x9f, 0xf7, 0x90,
- 0x63, 0xa1, 0x1c, 0xc3, 0x33, 0x9b, 0x49, 0x6d, 0xb6, 0x67, 0x65, 0x58, 0x3f, 0xe8, 0xe2, 0x2f,
- 0x90, 0x63, 0xcc, 0x20, 0x09, 0x1f, 0x52, 0xe2, 0x26, 0xe3, 0xc2, 0xa5, 0x81, 0xd9, 0x6e, 0xdd,
- 0x16, 0xe6, 0x00, 0x82, 0xb6, 0x46, 0x24, 0xb5, 0x29, 0x89, 0x07, 0xeb, 0x16, 0x76, 0x5c, 0xe4,
- 0xb8, 0x3d, 0xd7, 0x70, 0x7d, 0x9f, 0xb9, 0x33, 0x3c, 0xb3, 0x99, 0xde, 0x16, 0x8b, 0xa7, 0x24,
- 0xaa, 0x28, 0x4f, 0xed, 0x82, 0x50, 0xa3, 0x5e, 0xe7, 0x18, 0x05, 0x6d, 0xcd, 0x8a, 0x61, 0x59,
- 0x04, 0x57, 0xcc, 0x56, 0x0b, 0x1f, 0x19, 0xbd, 0x4e, 0xc3, 0xf4, 0x90, 0x61, 0x1e, 0x78, 0xa8,
- 0x6b, 0x74, 0xba, 0xb8, 0x83, 0x5d, 0xb3, 0x95, 0x4b, 0xf2, 0xcc, 0xe6, 0x4a, 0xe9, 0xda, 0x64,
- 0x5c, 0x10, 0x08, 0xe1, 0x02, 0xb0, 0xa0, 0xe5, 0x02, 0xed, 0x7e, 0xa0, 0x94, 0x7c, 0x5d, 0x95,
- 0xaa, 0x6e, 0x27, 0x9f, 0x7e, 0x5f, 0x58, 0x12, 0x7e, 0x60, 0x60, 0x2d, 0x1e, 0x2b, 0x7b, 0x0f,
- 0xa0, 0xd3, 0xab, 0xb7, 0x6c, 0xcb, 0x78, 0x8c, 0x06, 0x41, 0x62, 0xd3, 0xdb, 0xd9, 0x22, 0x29,
- 0x4b, 0x71, 0x5a, 0x96, 0xa2, 0xe4, 0x0c, 0x4a, 0x17, 0x27, 0xe3, 0xc2, 0x2b, 0x24, 0x88, 0xd0,
- 0x42, 0xd0, 0x52, 0x64, 0x73, 0x1f, 0x0d, 0x58, 0x1e, 0xd2, 0x0d, 0xbb, 0x8f, 0xba, 0xae, 0x7d,
- 0x60, 0xa3, 0x6e, 0x50, 0x82, 0x94, 0x16, 0x15, 0xb1, 0x57, 0x21, 0xe5, 0xd9, 0x6d, 0xe4, 0x7a,
- 0x66, 0xbb, 0x13, 0x64, 0x37, 0xa9, 0x85, 0x02, 0x1a, 0xe4, 0xd7, 0x09, 0x58, 0xbe, 0x8b, 0xcc,
- 0x06, 0xea, 0x2e, 0xac, 0x79, 0x8c, 0x2a, 0x31, 0x47, 0xe5, 0x6b, 0x5d, 0xbb, 0xe9, 0x98, 0x5e,
- 0xaf, 0x4b, 0xca, 0xb8, 0xaa, 0x85, 0x02, 0x76, 0x1f, 0xd6, 0x1c, 0x74, 0x64, 0x44, 0x0e, 0x9e,
- 0x5c, 0x70, 0xf0, 0x8d, 0xc9, 0xb8, 0x70, 0x91, 0x1c, 0x3c, 0x6e, 0x25, 0x68, 0xab, 0x0e, 0x3a,
- 0xaa, 0xce, 0xce, 0x2f, 0xc3, 0xba, 0x0f, 0x88, 0xe6, 0xe0, 0xac, 0x9f, 0x83, 0x68, 0x43, 0xcc,
- 0x01, 0x04, 0xcd, 0x8f, 0xa4, 0x1c, 0x0a, 0x68, 0x12, 0x7e, 0x49, 0xc0, 0xea, 0xae, 0xed, 0xd6,
- 0xd1, 0xa1, 0xd9, 0xb7, 0x71, 0xaf, 0xcb, 0x6e, 0x41, 0x8a, 0x34, 0x9f, 0x61, 0x37, 0x82, 0x5c,
- 0xa4, 0x4a, 0xd9, 0xc9, 0xb8, 0x90, 0xa1, 0x6d, 0x36, 0x55, 0x09, 0xda, 0x0a, 0x59, 0x57, 0x1a,
- 0xb1, 0xec, 0x25, 0xe6, 0xb2, 0xd7, 0x81, 0xf3, 0xb3, 0x74, 0x18, 0xd8, 0x99, 0xb6, 0xfa, 0xd6,
- 0xa9, 0xad, 0x5e, 0x9b, 0x5a, 0x49, 0x4e, 0xa3, 0x6c, 0x7a, 0x66, 0x29, 0x37, 0x19, 0x17, 0xb2,
- 0x24, 0x8a, 0x18, 0xa3, 0xa0, 0xad, 0xce, 0xf6, 0x7b, 0xce, 0x9c, 0x47, 0xef, 0x08, 0xd3, 0x94,
- 0xff, 0x57, 0x1e, 0xbd, 0x23, 0x1c, 0xf5, 0xa8, 0x1f, 0x61, 0x9a, 0xc9, 0x9f, 0x19, 0xc8, 0xcc,
- 0x53, 0xc4, 0xdb, 0x83, 0x99, 0x6f, 0x8f, 0xcf, 0x20, 0xd5, 0x30, 0x3d, 0xd3, 0xf0, 0x06, 0x1d,
- 0x92, 0xb9, 0xb5, 0xed, 0x37, 0x4f, 0x0d, 0xd3, 0xe7, 0xd5, 0x07, 0x1d, 0x14, 0x2d, 0xcb, 0x8c,
- 0x45, 0xd0, 0x56, 0x1a, 0x54, 0xcf, 0xb2, 0x90, 0xf4, 0xd7, 0xb4, 0x2b, 0x83, 0x75, 0xbc, 0x99,
- 0x93, 0x2f, 0xff, 0x2e, 0xbe, 0x62, 0x20, 0xa7, 0x4f, 0x65, 0xa8, 0x31, 0x3b, 0x53, 0x70, 0xa0,
- 0x0f, 0x60, 0x2d, 0xcc, 0x45, 0x40, 0x1f, 0x9c, 0x2a, 0xda, 0xbb, 0x71, 0xbd, 0xa0, 0x85, 0xe5,
- 0x28, 0x1f, 0x0b, 0x21, 0xf1, 0xf2, 0x10, 0xfe, 0x60, 0x20, 0xe5, 0xfb, 0x2d, 0x0d, 0x3c, 0xe4,
- 0xfe, 0x8b, 0xaf, 0x73, 0x6e, 0x50, 0x9c, 0x39, 0x3e, 0x28, 0x62, 0x25, 0x48, 0xfe, 0x5f, 0x25,
- 0x38, 0x1b, 0x96, 0x80, 0x9e, 0xf0, 0x27, 0x06, 0x80, 0x0c, 0x9f, 0x20, 0x29, 0x3b, 0x90, 0xa6,
- 0x9f, 0xfc, 0xa9, 0xe3, 0xf1, 0xd2, 0x64, 0x5c, 0x60, 0x63, 0x53, 0x82, 0xce, 0x47, 0x32, 0x22,
- 0x4e, 0x98, 0x0f, 0x89, 0x7f, 0x38, 0x1f, 0xbe, 0x84, 0xf5, 0xc8, 0xe5, 0x18, 0xc4, 0xca, 0x42,
- 0xb2, 0x63, 0x7a, 0x87, 0xb4, 0x9d, 0x83, 0x35, 0x5b, 0x85, 0x55, 0x3a, 0x1a, 0xc8, 0x85, 0x96,
- 0x58, 0x70, 0x80, 0xcb, 0x93, 0x71, 0xe1, 0x42, 0x6c, 0x9c, 0xd0, 0x2b, 0x2b, 0x6d, 0x85, 0x9e,
- 0xa8, 0xfb, 0x6f, 0x18, 0x60, 0xe3, 0x17, 0xc9, 0x89, 0x21, 0x3c, 0x3c, 0x7e, 0xad, 0x2e, 0x8a,
- 0xe2, 0x6f, 0xdc, 0x9d, 0x34, 0x96, 0x3e, 0x5c, 0x90, 0x67, 0x0f, 0x92, 0xc5, 0xb1, 0x28, 0x00,
- 0xe1, 0xdb, 0x85, 0x86, 0xf1, 0x7a, 0xd0, 0x56, 0xfe, 0xe3, 0xa5, 0x18, 0x79, 0xd7, 0x90, 0x4b,
- 0x9d, 0xee, 0x14, 0xa7, 0xa1, 0x45, 0x0c, 0xa9, 0xdf, 0x06, 0x64, 0x64, 0xf2, 0xc4, 0x59, 0xec,
- 0xf4, 0x16, 0x9c, 0xa3, 0x4f, 0x21, 0xea, 0xf1, 0x6a, 0xc4, 0x23, 0x7d, 0x23, 0xf9, 0xee, 0xc8,
- 0x52, 0x9b, 0x82, 0xa9, 0x97, 0x7b, 0x90, 0xad, 0x9a, 0xd6, 0x63, 0xe4, 0xc9, 0xb8, 0xdd, 0xb6,
- 0xbd, 0x36, 0x72, 0xbc, 0x13, 0x3d, 0xe5, 0xfd, 0xe3, 0x4d, 0x51, 0x81, 0xb3, 0x55, 0x2d, 0x22,
- 0x11, 0x1e, 0xc2, 0x06, 0xe1, 0x92, 0xac, 0xc7, 0x0e, 0x3e, 0x6a, 0xa1, 0x46, 0x13, 0x2d, 0x24,
- 0xdc, 0x84, 0x75, 0x33, 0x0e, 0xa5, 0xac, 0xf3, 0x62, 0xa1, 0x08, 0x39, 0x42, 0xad, 0x21, 0x0b,
- 0xd9, 0x1d, 0x4f, 0xaa, 0xbb, 0xfe, 0x1c, 0x38, 0x89, 0x59, 0x38, 0x84, 0xac, 0x8a, 0x9e, 0x78,
- 0xd3, 0xc7, 0x97, 0x86, 0xac, 0xfe, 0x89, 0x51, 0xbc, 0x07, 0xe7, 0x1d, 0xf4, 0xc4, 0xf3, 0x9f,
- 0x6e, 0x46, 0x17, 0x59, 0x7d, 0xfa, 0xb6, 0x8b, 0x5c, 0x03, 0x31, 0xb5, 0xa0, 0xa5, 0x1d, 0x42,
- 0xed, 0xb3, 0xbe, 0xf5, 0x6d, 0x12, 0x56, 0xa6, 0x83, 0x81, 0x7d, 0x17, 0x5e, 0x2b, 0x4b, 0xba,
- 0x64, 0xe8, 0x0f, 0xab, 0x8a, 0xb1, 0xaf, 0x56, 0xd4, 0x8a, 0x5e, 0x91, 0x76, 0x2a, 0x8f, 0x94,
- 0xb2, 0xb1, 0xaf, 0xd6, 0xaa, 0x8a, 0x5c, 0xf9, 0xb0, 0xa2, 0x94, 0x33, 0x4b, 0xdc, 0xfa, 0x70,
- 0xc4, 0xa7, 0x23, 0x22, 0xf6, 0x1a, 0x5c, 0x0a, 0x2d, 0xe5, 0x9d, 0x8a, 0xa2, 0xea, 0x46, 0x4d,
- 0x97, 0x74, 0x25, 0xc3, 0x70, 0x30, 0x1c, 0xf1, 0xcb, 0x44, 0xc6, 0xbe, 0x0d, 0x1b, 0x11, 0xdc,
- 0x9e, 0x5a, 0x53, 0xd4, 0xda, 0x7e, 0x8d, 0x42, 0x13, 0xdc, 0xf9, 0xe1, 0x88, 0x4f, 0xcd, 0xc4,
- 0x6c, 0x11, 0xb8, 0x18, 0x5a, 0x55, 0x64, 0xbd, 0xb2, 0xa7, 0x52, 0xf8, 0x19, 0x6e, 0x6d, 0x38,
- 0xe2, 0x21, 0x94, 0xb3, 0x9b, 0x70, 0x39, 0x82, 0xbf, 0x2b, 0xa9, 0xaa, 0xb2, 0x43, 0xc1, 0x49,
- 0x2e, 0x3d, 0x1c, 0xf1, 0xe7, 0xa8, 0x90, 0x7d, 0x07, 0xae, 0x84, 0xc8, 0xaa, 0x24, 0xdf, 0x57,
- 0x74, 0x43, 0xde, 0xdb, 0xdd, 0xad, 0xe8, 0xbb, 0x8a, 0xaa, 0x67, 0xce, 0x72, 0xd9, 0xe1, 0x88,
- 0xcf, 0x10, 0x45, 0x28, 0x67, 0xdf, 0x07, 0xfe, 0x98, 0x99, 0x24, 0xdf, 0x57, 0xf7, 0x3e, 0xdd,
- 0x51, 0xca, 0x1f, 0x29, 0x81, 0xed, 0x32, 0xb7, 0x31, 0x1c, 0xf1, 0x17, 0x89, 0x76, 0x4e, 0xc9,
- 0xde, 0x79, 0x09, 0x81, 0xa6, 0xc8, 0x4a, 0xa5, 0xaa, 0x1b, 0x52, 0xa9, 0xa6, 0xa8, 0xb2, 0x92,
- 0x39, 0xc7, 0xe5, 0x86, 0x23, 0x3e, 0x4b, 0xb4, 0x54, 0x49, 0x75, 0xec, 0x2d, 0xb8, 0x1a, 0xda,
- 0xab, 0xca, 0x03, 0xdd, 0xa8, 0x29, 0x1f, 0xef, 0xfb, 0x2a, 0x9f, 0xe6, 0x93, 0xcc, 0x0a, 0x09,
- 0xdc, 0xd7, 0x4c, 0x15, 0xbe, 0x9c, 0xe5, 0x21, 0x13, 0xda, 0xdd, 0x55, 0xa4, 0xb2, 0xa2, 0x65,
- 0x52, 0xa4, 0x32, 0x64, 0xc7, 0x25, 0x9f, 0xfe, 0x98, 0x5f, 0x2a, 0x3d, 0xf8, 0xf5, 0x79, 0x9e,
- 0x79, 0xf6, 0x3c, 0xcf, 0xfc, 0xf9, 0x3c, 0xcf, 0x7c, 0xf7, 0x22, 0xbf, 0xf4, 0xec, 0x45, 0x7e,
- 0xe9, 0xf7, 0x17, 0xf9, 0xa5, 0x47, 0x77, 0x9a, 0xb6, 0x77, 0xd8, 0xab, 0x17, 0x2d, 0xdc, 0x16,
- 0x2d, 0xec, 0xb6, 0xb1, 0x2b, 0xda, 0x75, 0xeb, 0x7a, 0x13, 0x8b, 0xfd, 0x9b, 0x62, 0x1b, 0x37,
- 0x7a, 0x2d, 0xe4, 0x92, 0x9f, 0x9c, 0x1b, 0xdb, 0xd7, 0xc9, 0x48, 0x14, 0x5b, 0xa8, 0x69, 0x5a,
- 0x03, 0xb1, 0xbf, 0x75, 0xe3, 0x46, 0x7d, 0x39, 0x98, 0x63, 0x37, 0xff, 0x0a, 0x00, 0x00, 0xff,
- 0xff, 0x48, 0x29, 0x5f, 0x10, 0x8a, 0x0d, 0x00, 0x00,
+ 0x05, 0xb1, 0x78, 0x2d, 0x30, 0xa1, 0x09, 0x0d, 0x1c, 0xc7, 0xb0, 0x6c, 0xad, 0x1b, 0x1c, 0x17,
+ 0xb6, 0x09, 0xc9, 0x72, 0x9c, 0xdb, 0xd4, 0x5a, 0xe2, 0x1b, 0x62, 0x27, 0x5d, 0x90, 0x90, 0x10,
+ 0x4f, 0x23, 0xe2, 0x81, 0x2f, 0x10, 0x09, 0x81, 0xf8, 0x2a, 0xc0, 0xe3, 0x78, 0xe3, 0x29, 0xa0,
+ 0xed, 0x1b, 0xe4, 0x13, 0x20, 0xfb, 0xde, 0xc4, 0x76, 0xba, 0xa6, 0xe2, 0xdf, 0xdb, 0xbd, 0xe7,
+ 0xfc, 0xce, 0xef, 0x9c, 0x7b, 0xce, 0xf1, 0xb9, 0xd7, 0xb0, 0x65, 0xd7, 0x2d, 0xb1, 0x65, 0x37,
+ 0x0f, 0x3d, 0xab, 0x65, 0x23, 0xc7, 0x73, 0x45, 0x17, 0xb7, 0x70, 0xdb, 0xb4, 0x0e, 0x6d, 0x07,
+ 0x89, 0xfd, 0xad, 0xe8, 0xb6, 0xd8, 0xe9, 0x62, 0x0f, 0xb3, 0x05, 0xbb, 0x6e, 0x15, 0xa3, 0x26,
+ 0xc5, 0x28, 0xa6, 0xbf, 0xc5, 0xbd, 0xe6, 0x73, 0x5a, 0xb8, 0x8b, 0x44, 0x0b, 0x3b, 0x0e, 0xb2,
+ 0x3c, 0x1b, 0x3b, 0x3e, 0x55, 0xb8, 0x23, 0x4c, 0xdc, 0xcb, 0x21, 0xf0, 0xd0, 0x74, 0x1c, 0xd4,
+ 0x0a, 0x50, 0x64, 0x49, 0x21, 0xd9, 0x26, 0x6e, 0xe2, 0x60, 0x29, 0xfa, 0x2b, 0x2a, 0xdd, 0x68,
+ 0x62, 0xdc, 0x6c, 0x21, 0x31, 0xd8, 0xd5, 0x7b, 0x07, 0xa2, 0xe9, 0x0c, 0x88, 0x4a, 0xf8, 0x2d,
+ 0x01, 0x69, 0x39, 0x88, 0xab, 0xe6, 0x99, 0x1e, 0x62, 0x39, 0x58, 0x71, 0xd1, 0xe7, 0x3d, 0xe4,
+ 0x58, 0x28, 0xc7, 0xf0, 0xcc, 0x66, 0x52, 0x9b, 0xed, 0x59, 0x19, 0xd6, 0x0f, 0xba, 0xf8, 0x0b,
+ 0xe4, 0x18, 0x33, 0x48, 0xc2, 0x87, 0x94, 0xb8, 0xc9, 0xb8, 0x70, 0x69, 0x60, 0xb6, 0x5b, 0xb7,
+ 0x84, 0x39, 0x80, 0xa0, 0xad, 0x11, 0x49, 0x6d, 0x4a, 0xe2, 0xc1, 0xba, 0x85, 0x1d, 0x17, 0x39,
+ 0x6e, 0xcf, 0x35, 0x5c, 0xdf, 0x67, 0xee, 0x0c, 0xcf, 0x6c, 0xa6, 0xb7, 0xc5, 0xe2, 0x29, 0x89,
+ 0x2a, 0xca, 0x53, 0xbb, 0x20, 0xd4, 0xa8, 0xd7, 0x39, 0x46, 0x41, 0x5b, 0xb3, 0x62, 0x58, 0x16,
+ 0xc1, 0x15, 0xb3, 0xd5, 0xc2, 0x47, 0x46, 0xaf, 0xd3, 0x30, 0x3d, 0x64, 0x98, 0x07, 0x1e, 0xea,
+ 0x1a, 0x9d, 0x2e, 0xee, 0x60, 0xd7, 0x6c, 0xe5, 0x92, 0x3c, 0xb3, 0xb9, 0x52, 0xba, 0x36, 0x19,
+ 0x17, 0x04, 0x42, 0xb8, 0x00, 0x2c, 0x68, 0xb9, 0x40, 0xbb, 0x1f, 0x28, 0x25, 0x5f, 0x57, 0xa5,
+ 0xaa, 0x5b, 0xc9, 0x27, 0xdf, 0x17, 0x96, 0x84, 0x1f, 0x18, 0x58, 0x8b, 0xc7, 0xca, 0xde, 0x05,
+ 0xe8, 0xf4, 0xea, 0x2d, 0xdb, 0x32, 0x1e, 0xa1, 0x41, 0x90, 0xd8, 0xf4, 0x76, 0xb6, 0x48, 0xca,
+ 0x52, 0x9c, 0x96, 0xa5, 0x28, 0x39, 0x83, 0xd2, 0xc5, 0xc9, 0xb8, 0xf0, 0x12, 0x09, 0x22, 0xb4,
+ 0x10, 0xb4, 0x14, 0xd9, 0xdc, 0x43, 0x03, 0x96, 0x87, 0x74, 0xc3, 0xee, 0xa3, 0xae, 0x6b, 0x1f,
+ 0xd8, 0xa8, 0x1b, 0x94, 0x20, 0xa5, 0x45, 0x45, 0xec, 0x55, 0x48, 0x79, 0x76, 0x1b, 0xb9, 0x9e,
+ 0xd9, 0xee, 0x04, 0xd9, 0x4d, 0x6a, 0xa1, 0x80, 0x06, 0xf9, 0x75, 0x02, 0x96, 0xef, 0x20, 0xb3,
+ 0x81, 0xba, 0x0b, 0x6b, 0x1e, 0xa3, 0x4a, 0xcc, 0x51, 0xf9, 0x5a, 0xd7, 0x6e, 0x3a, 0xa6, 0xd7,
+ 0xeb, 0x92, 0x32, 0xae, 0x6a, 0xa1, 0x80, 0xdd, 0x87, 0x35, 0x07, 0x1d, 0x19, 0x91, 0x83, 0x27,
+ 0x17, 0x1c, 0x7c, 0x63, 0x32, 0x2e, 0x5c, 0x24, 0x07, 0x8f, 0x5b, 0x09, 0xda, 0xaa, 0x83, 0x8e,
+ 0xaa, 0xb3, 0xf3, 0xcb, 0xb0, 0xee, 0x03, 0xa2, 0x39, 0x38, 0xeb, 0xe7, 0x20, 0xda, 0x10, 0x73,
+ 0x00, 0x41, 0xf3, 0x23, 0x29, 0x87, 0x02, 0x9a, 0x84, 0x5f, 0x12, 0xb0, 0xba, 0x6b, 0xbb, 0x75,
+ 0x74, 0x68, 0xf6, 0x6d, 0xdc, 0xeb, 0xb2, 0x5b, 0x90, 0x22, 0xcd, 0x67, 0xd8, 0x8d, 0x20, 0x17,
+ 0xa9, 0x52, 0x76, 0x32, 0x2e, 0x64, 0x68, 0x9b, 0x4d, 0x55, 0x82, 0xb6, 0x42, 0xd6, 0x95, 0x46,
+ 0x2c, 0x7b, 0x89, 0xb9, 0xec, 0x75, 0xe0, 0xfc, 0x2c, 0x1d, 0x06, 0x76, 0xa6, 0xad, 0xbe, 0x75,
+ 0x6a, 0xab, 0xd7, 0xa6, 0x56, 0x92, 0xd3, 0x28, 0x9b, 0x9e, 0x59, 0xca, 0x4d, 0xc6, 0x85, 0x2c,
+ 0x89, 0x22, 0xc6, 0x28, 0x68, 0xab, 0xb3, 0xfd, 0x9e, 0x33, 0xe7, 0xd1, 0x3b, 0xc2, 0x34, 0xe5,
+ 0xff, 0x95, 0x47, 0xef, 0x08, 0x47, 0x3d, 0xea, 0x47, 0x98, 0x66, 0xf2, 0x67, 0x06, 0x32, 0xf3,
+ 0x14, 0xf1, 0xf6, 0x60, 0xe6, 0xdb, 0xe3, 0x33, 0x48, 0x35, 0x4c, 0xcf, 0x34, 0xbc, 0x41, 0x87,
+ 0x64, 0x6e, 0x6d, 0xfb, 0xf5, 0x53, 0xc3, 0xf4, 0x79, 0xf5, 0x41, 0x07, 0x45, 0xcb, 0x32, 0x63,
+ 0x11, 0xb4, 0x95, 0x06, 0xd5, 0xb3, 0x2c, 0x24, 0xfd, 0x35, 0xed, 0xca, 0x60, 0x1d, 0x6f, 0xe6,
+ 0xe4, 0x8b, 0xbf, 0x8b, 0xaf, 0x18, 0xc8, 0xe9, 0x53, 0x19, 0x6a, 0xcc, 0xce, 0x14, 0x1c, 0xe8,
+ 0x03, 0x58, 0x0b, 0x73, 0x11, 0xd0, 0x07, 0xa7, 0x8a, 0xf6, 0x6e, 0x5c, 0x2f, 0x68, 0x61, 0x39,
+ 0xca, 0xc7, 0x42, 0x48, 0xbc, 0x38, 0x84, 0x3f, 0x18, 0x48, 0xf9, 0x7e, 0x4b, 0x03, 0x0f, 0xb9,
+ 0xff, 0xe2, 0xeb, 0x9c, 0x1b, 0x14, 0x67, 0x8e, 0x0f, 0x8a, 0x58, 0x09, 0x92, 0xff, 0x57, 0x09,
+ 0xce, 0x86, 0x25, 0xa0, 0x27, 0xfc, 0x89, 0x01, 0x20, 0xc3, 0x27, 0x48, 0xca, 0x0e, 0xa4, 0xe9,
+ 0x27, 0x7f, 0xea, 0x78, 0xbc, 0x34, 0x19, 0x17, 0xd8, 0xd8, 0x94, 0xa0, 0xf3, 0x91, 0x8c, 0x88,
+ 0x13, 0xe6, 0x43, 0xe2, 0x1f, 0xce, 0x87, 0x2f, 0x61, 0x3d, 0x72, 0x39, 0x06, 0xb1, 0xb2, 0x90,
+ 0xec, 0x98, 0xde, 0x21, 0x6d, 0xe7, 0x60, 0xcd, 0x56, 0x61, 0x95, 0x8e, 0x06, 0x72, 0xa1, 0x25,
+ 0x16, 0x1c, 0xe0, 0xf2, 0x64, 0x5c, 0xb8, 0x10, 0x1b, 0x27, 0xf4, 0xca, 0x4a, 0x5b, 0xa1, 0x27,
+ 0xea, 0xfe, 0x1b, 0x06, 0xd8, 0xf8, 0x45, 0x72, 0x62, 0x08, 0x0f, 0x8e, 0x5f, 0xab, 0x8b, 0xa2,
+ 0xf8, 0x1b, 0x77, 0x27, 0x8d, 0xa5, 0x0f, 0x17, 0xe4, 0xd9, 0x83, 0x64, 0x71, 0x2c, 0x0a, 0x40,
+ 0xf8, 0x76, 0xa1, 0x61, 0xbc, 0x1a, 0xb4, 0x95, 0xff, 0x78, 0x29, 0x46, 0xde, 0x35, 0xe4, 0x52,
+ 0xa7, 0x3b, 0xc5, 0x69, 0x68, 0x11, 0x43, 0xea, 0xb7, 0x01, 0x19, 0x99, 0x3c, 0x71, 0x16, 0x3b,
+ 0xbd, 0x09, 0xe7, 0xe8, 0x53, 0x88, 0x7a, 0xbc, 0x1a, 0xf1, 0x48, 0xdf, 0x48, 0xbe, 0x3b, 0xb2,
+ 0xd4, 0xa6, 0x60, 0xea, 0xe5, 0x2e, 0x64, 0xab, 0xa6, 0xf5, 0x08, 0x79, 0x32, 0x6e, 0xb7, 0x6d,
+ 0xaf, 0x8d, 0x1c, 0xef, 0x44, 0x4f, 0x79, 0xff, 0x78, 0x53, 0x54, 0xe0, 0x6c, 0x55, 0x8b, 0x48,
+ 0x84, 0x07, 0xb0, 0x41, 0xb8, 0x24, 0xeb, 0x91, 0x83, 0x8f, 0x5a, 0xa8, 0xd1, 0x44, 0x0b, 0x09,
+ 0x37, 0x61, 0xdd, 0x8c, 0x43, 0x29, 0xeb, 0xbc, 0x58, 0x28, 0x42, 0x8e, 0x50, 0x6b, 0xc8, 0x42,
+ 0x76, 0xc7, 0x93, 0xea, 0xae, 0x3f, 0x07, 0x4e, 0x62, 0x16, 0x0e, 0x21, 0xab, 0xa2, 0xc7, 0xde,
+ 0xf4, 0xf1, 0xa5, 0x21, 0xab, 0x7f, 0x62, 0x14, 0xef, 0xc1, 0x79, 0x07, 0x3d, 0xf6, 0xfc, 0xa7,
+ 0x9b, 0xd1, 0x45, 0x56, 0x9f, 0xbe, 0xed, 0x22, 0xd7, 0x40, 0x4c, 0x2d, 0x68, 0x69, 0x87, 0x50,
+ 0xfb, 0xac, 0x6f, 0x7c, 0x9b, 0x84, 0x95, 0xe9, 0x60, 0x60, 0xdf, 0x85, 0x57, 0xca, 0x92, 0x2e,
+ 0x19, 0xfa, 0x83, 0xaa, 0x62, 0xec, 0xab, 0x15, 0xb5, 0xa2, 0x57, 0xa4, 0x9d, 0xca, 0x43, 0xa5,
+ 0x6c, 0xec, 0xab, 0xb5, 0xaa, 0x22, 0x57, 0x3e, 0xac, 0x28, 0xe5, 0xcc, 0x12, 0xb7, 0x3e, 0x1c,
+ 0xf1, 0xe9, 0x88, 0x88, 0xbd, 0x06, 0x97, 0x42, 0x4b, 0x79, 0xa7, 0xa2, 0xa8, 0xba, 0x51, 0xd3,
+ 0x25, 0x5d, 0xc9, 0x30, 0x1c, 0x0c, 0x47, 0xfc, 0x32, 0x91, 0xb1, 0x6f, 0xc2, 0x46, 0x04, 0xb7,
+ 0xa7, 0xd6, 0x14, 0xb5, 0xb6, 0x5f, 0xa3, 0xd0, 0x04, 0x77, 0x7e, 0x38, 0xe2, 0x53, 0x33, 0x31,
+ 0x5b, 0x04, 0x2e, 0x86, 0x56, 0x15, 0x59, 0xaf, 0xec, 0xa9, 0x14, 0x7e, 0x86, 0x5b, 0x1b, 0x8e,
+ 0x78, 0x08, 0xe5, 0xec, 0x26, 0x5c, 0x8e, 0xe0, 0xef, 0x48, 0xaa, 0xaa, 0xec, 0x50, 0x70, 0x92,
+ 0x4b, 0x0f, 0x47, 0xfc, 0x39, 0x2a, 0x64, 0xdf, 0x81, 0x2b, 0x21, 0xb2, 0x2a, 0xc9, 0xf7, 0x14,
+ 0xdd, 0x90, 0xf7, 0x76, 0x77, 0x2b, 0xfa, 0xae, 0xa2, 0xea, 0x99, 0xb3, 0x5c, 0x76, 0x38, 0xe2,
+ 0x33, 0x44, 0x11, 0xca, 0xd9, 0xf7, 0x81, 0x3f, 0x66, 0x26, 0xc9, 0xf7, 0xd4, 0xbd, 0x4f, 0x77,
+ 0x94, 0xf2, 0x47, 0x4a, 0x60, 0xbb, 0xcc, 0x6d, 0x0c, 0x47, 0xfc, 0x45, 0xa2, 0x9d, 0x53, 0xb2,
+ 0xb7, 0x5f, 0x40, 0xa0, 0x29, 0xb2, 0x52, 0xa9, 0xea, 0x86, 0x54, 0xaa, 0x29, 0xaa, 0xac, 0x64,
+ 0xce, 0x71, 0xb9, 0xe1, 0x88, 0xcf, 0x12, 0x2d, 0x55, 0x52, 0x1d, 0x7b, 0x13, 0xae, 0x86, 0xf6,
+ 0xaa, 0x72, 0x5f, 0x37, 0x6a, 0xca, 0xc7, 0xfb, 0xbe, 0xca, 0xa7, 0xf9, 0x24, 0xb3, 0x42, 0x02,
+ 0xf7, 0x35, 0x53, 0x85, 0x2f, 0x67, 0x79, 0xc8, 0x84, 0x76, 0x77, 0x14, 0xa9, 0xac, 0x68, 0x99,
+ 0x14, 0xa9, 0x0c, 0xd9, 0x71, 0xc9, 0x27, 0x3f, 0xe6, 0x97, 0x4a, 0xf7, 0x7f, 0x7d, 0x96, 0x67,
+ 0x9e, 0x3e, 0xcb, 0x33, 0x7f, 0x3e, 0xcb, 0x33, 0xdf, 0x3d, 0xcf, 0x2f, 0x3d, 0x7d, 0x9e, 0x5f,
+ 0xfa, 0xfd, 0x79, 0x7e, 0xe9, 0xe1, 0xed, 0xa6, 0xed, 0x1d, 0xf6, 0xea, 0x45, 0x0b, 0xb7, 0x45,
+ 0x0b, 0xbb, 0x6d, 0xec, 0x8a, 0x76, 0xdd, 0xba, 0xde, 0xc4, 0x62, 0xff, 0x6d, 0xb1, 0x8d, 0x1b,
+ 0xbd, 0x16, 0x72, 0xc9, 0x4f, 0xce, 0x8d, 0xed, 0xeb, 0x64, 0x24, 0x8a, 0x2d, 0xd4, 0x34, 0xad,
+ 0x81, 0xd8, 0xdf, 0xba, 0x71, 0xa3, 0xbe, 0x1c, 0xcc, 0xb1, 0xb7, 0xfe, 0x0a, 0x00, 0x00, 0xff,
+ 0xff, 0x66, 0x80, 0x87, 0xc6, 0x8a, 0x0d, 0x00, 0x00,
}
func (m *ClientState) Marshal() (dAtA []byte, err error) {
diff --git a/modules/core/02-client/legacy/v100/store.go b/modules/core/02-client/legacy/v100/store.go
index f92aa224676..70827a89b6a 100644
--- a/modules/core/02-client/legacy/v100/store.go
+++ b/modules/core/02-client/legacy/v100/store.go
@@ -10,12 +10,12 @@ import (
sdk "github.com/cosmos/cosmos-sdk/types"
sdkerrors "github.com/cosmos/cosmos-sdk/types/errors"
- "github.com/cosmos/ibc-go/v3/modules/core/02-client/types"
- clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types"
- host "github.com/cosmos/ibc-go/v3/modules/core/24-host"
- "github.com/cosmos/ibc-go/v3/modules/core/exported"
- smtypes "github.com/cosmos/ibc-go/v3/modules/light-clients/06-solomachine/types"
- ibctmtypes "github.com/cosmos/ibc-go/v3/modules/light-clients/07-tendermint/types"
+ "github.com/cosmos/ibc-go/v4/modules/core/02-client/types"
+ clienttypes "github.com/cosmos/ibc-go/v4/modules/core/02-client/types"
+ host "github.com/cosmos/ibc-go/v4/modules/core/24-host"
+ "github.com/cosmos/ibc-go/v4/modules/core/exported"
+ smtypes "github.com/cosmos/ibc-go/v4/modules/light-clients/06-solomachine/types"
+ ibctmtypes "github.com/cosmos/ibc-go/v4/modules/light-clients/07-tendermint/types"
)
// MigrateStore performs in-place store migrations from SDK v0.40 of the IBC module to v1.0.0 of ibc-go.
diff --git a/modules/core/02-client/legacy/v100/store_test.go b/modules/core/02-client/legacy/v100/store_test.go
index a1c1be3034a..cb51908f05f 100644
--- a/modules/core/02-client/legacy/v100/store_test.go
+++ b/modules/core/02-client/legacy/v100/store_test.go
@@ -6,12 +6,12 @@ import (
"github.com/stretchr/testify/suite"
- "github.com/cosmos/ibc-go/v3/modules/core/02-client/legacy/v100"
- "github.com/cosmos/ibc-go/v3/modules/core/02-client/types"
- host "github.com/cosmos/ibc-go/v3/modules/core/24-host"
- "github.com/cosmos/ibc-go/v3/modules/core/exported"
- ibctmtypes "github.com/cosmos/ibc-go/v3/modules/light-clients/07-tendermint/types"
- ibctesting "github.com/cosmos/ibc-go/v3/testing"
+ v100 "github.com/cosmos/ibc-go/v4/modules/core/02-client/legacy/v100"
+ "github.com/cosmos/ibc-go/v4/modules/core/02-client/types"
+ host "github.com/cosmos/ibc-go/v4/modules/core/24-host"
+ "github.com/cosmos/ibc-go/v4/modules/core/exported"
+ ibctmtypes "github.com/cosmos/ibc-go/v4/modules/light-clients/07-tendermint/types"
+ ibctesting "github.com/cosmos/ibc-go/v4/testing"
)
type LegacyTestSuite struct {
diff --git a/modules/core/02-client/module.go b/modules/core/02-client/module.go
index c15bef6bf97..6cef3aac5c0 100644
--- a/modules/core/02-client/module.go
+++ b/modules/core/02-client/module.go
@@ -4,8 +4,8 @@ import (
"github.com/gogo/protobuf/grpc"
"github.com/spf13/cobra"
- "github.com/cosmos/ibc-go/v3/modules/core/02-client/client/cli"
- "github.com/cosmos/ibc-go/v3/modules/core/02-client/types"
+ "github.com/cosmos/ibc-go/v4/modules/core/02-client/client/cli"
+ "github.com/cosmos/ibc-go/v4/modules/core/02-client/types"
)
// Name returns the IBC client name
diff --git a/modules/core/02-client/proposal_handler.go b/modules/core/02-client/proposal_handler.go
index d1b15ce2dad..fbbdf311b7f 100644
--- a/modules/core/02-client/proposal_handler.go
+++ b/modules/core/02-client/proposal_handler.go
@@ -5,8 +5,8 @@ import (
sdkerrors "github.com/cosmos/cosmos-sdk/types/errors"
govtypes "github.com/cosmos/cosmos-sdk/x/gov/types"
- "github.com/cosmos/ibc-go/v3/modules/core/02-client/keeper"
- "github.com/cosmos/ibc-go/v3/modules/core/02-client/types"
+ "github.com/cosmos/ibc-go/v4/modules/core/02-client/keeper"
+ "github.com/cosmos/ibc-go/v4/modules/core/02-client/types"
)
// NewClientProposalHandler defines the 02-client proposal handler
diff --git a/modules/core/02-client/proposal_handler_test.go b/modules/core/02-client/proposal_handler_test.go
index b83455b39c2..d86794b7534 100644
--- a/modules/core/02-client/proposal_handler_test.go
+++ b/modules/core/02-client/proposal_handler_test.go
@@ -5,10 +5,10 @@ import (
distributiontypes "github.com/cosmos/cosmos-sdk/x/distribution/types"
govtypes "github.com/cosmos/cosmos-sdk/x/gov/types"
- client "github.com/cosmos/ibc-go/v3/modules/core/02-client"
- clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types"
- ibctmtypes "github.com/cosmos/ibc-go/v3/modules/light-clients/07-tendermint/types"
- ibctesting "github.com/cosmos/ibc-go/v3/testing"
+ client "github.com/cosmos/ibc-go/v4/modules/core/02-client"
+ clienttypes "github.com/cosmos/ibc-go/v4/modules/core/02-client/types"
+ ibctmtypes "github.com/cosmos/ibc-go/v4/modules/light-clients/07-tendermint/types"
+ ibctesting "github.com/cosmos/ibc-go/v4/testing"
)
func (suite *ClientTestSuite) TestNewClientUpdateProposalHandler() {
diff --git a/modules/core/02-client/simulation/decoder.go b/modules/core/02-client/simulation/decoder.go
index 8aa19dd7c9c..9334d1ca01a 100644
--- a/modules/core/02-client/simulation/decoder.go
+++ b/modules/core/02-client/simulation/decoder.go
@@ -6,9 +6,9 @@ import (
"github.com/cosmos/cosmos-sdk/types/kv"
- "github.com/cosmos/ibc-go/v3/modules/core/02-client/keeper"
- host "github.com/cosmos/ibc-go/v3/modules/core/24-host"
- "github.com/cosmos/ibc-go/v3/modules/core/exported"
+ "github.com/cosmos/ibc-go/v4/modules/core/02-client/keeper"
+ host "github.com/cosmos/ibc-go/v4/modules/core/24-host"
+ "github.com/cosmos/ibc-go/v4/modules/core/exported"
)
var _ ClientUnmarshaler = (*keeper.Keeper)(nil)
diff --git a/modules/core/02-client/simulation/decoder_test.go b/modules/core/02-client/simulation/decoder_test.go
index 0e106614f64..fcd6e847475 100644
--- a/modules/core/02-client/simulation/decoder_test.go
+++ b/modules/core/02-client/simulation/decoder_test.go
@@ -8,11 +8,11 @@ import (
"github.com/cosmos/cosmos-sdk/types/kv"
"github.com/stretchr/testify/require"
- "github.com/cosmos/ibc-go/v3/modules/core/02-client/simulation"
- "github.com/cosmos/ibc-go/v3/modules/core/02-client/types"
- host "github.com/cosmos/ibc-go/v3/modules/core/24-host"
- ibctmtypes "github.com/cosmos/ibc-go/v3/modules/light-clients/07-tendermint/types"
- "github.com/cosmos/ibc-go/v3/testing/simapp"
+ "github.com/cosmos/ibc-go/v4/modules/core/02-client/simulation"
+ "github.com/cosmos/ibc-go/v4/modules/core/02-client/types"
+ host "github.com/cosmos/ibc-go/v4/modules/core/24-host"
+ ibctmtypes "github.com/cosmos/ibc-go/v4/modules/light-clients/07-tendermint/types"
+ "github.com/cosmos/ibc-go/v4/testing/simapp"
)
func TestDecodeStore(t *testing.T) {
diff --git a/modules/core/02-client/simulation/genesis.go b/modules/core/02-client/simulation/genesis.go
index ddf592dfad2..f4c6082628a 100644
--- a/modules/core/02-client/simulation/genesis.go
+++ b/modules/core/02-client/simulation/genesis.go
@@ -5,7 +5,7 @@ import (
simtypes "github.com/cosmos/cosmos-sdk/types/simulation"
- "github.com/cosmos/ibc-go/v3/modules/core/02-client/types"
+ "github.com/cosmos/ibc-go/v4/modules/core/02-client/types"
)
// GenClientGenesis returns the default client genesis state.
diff --git a/modules/core/02-client/types/client.go b/modules/core/02-client/types/client.go
index bb3d5c4f3d3..a09a910e815 100644
--- a/modules/core/02-client/types/client.go
+++ b/modules/core/02-client/types/client.go
@@ -10,8 +10,8 @@ import (
sdkerrors "github.com/cosmos/cosmos-sdk/types/errors"
proto "github.com/gogo/protobuf/proto"
- host "github.com/cosmos/ibc-go/v3/modules/core/24-host"
- "github.com/cosmos/ibc-go/v3/modules/core/exported"
+ host "github.com/cosmos/ibc-go/v4/modules/core/24-host"
+ "github.com/cosmos/ibc-go/v4/modules/core/exported"
)
var (
diff --git a/modules/core/02-client/types/client.pb.go b/modules/core/02-client/types/client.pb.go
index 34eb54cc90f..cf3d0fd93a9 100644
--- a/modules/core/02-client/types/client.pb.go
+++ b/modules/core/02-client/types/client.pb.go
@@ -400,48 +400,48 @@ var fileDescriptor_b6bc4c8185546947 = []byte{
// 705 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x54, 0x3f, 0x6f, 0xd3, 0x4e,
0x18, 0x8e, 0xdb, 0xfc, 0xa2, 0xe6, 0x52, 0x35, 0xfd, 0xb9, 0x29, 0x0d, 0xa1, 0xca, 0x45, 0x27,
- 0x86, 0x0c, 0xd4, 0x26, 0xa9, 0x84, 0xaa, 0x6c, 0x24, 0x4b, 0x3b, 0x80, 0x82, 0x51, 0x85, 0x60,
- 0x89, 0xfc, 0xe7, 0xea, 0x5c, 0xe5, 0xf8, 0x22, 0xdf, 0x39, 0x90, 0x6f, 0xc0, 0xc8, 0xc8, 0xc0,
- 0xd0, 0x6f, 0xc0, 0x97, 0x60, 0xe8, 0xd8, 0x91, 0xc9, 0x42, 0xed, 0xc2, 0x4a, 0x56, 0x16, 0x94,
- 0xbb, 0x73, 0x1b, 0xf7, 0x0f, 0x42, 0xb0, 0xdd, 0x3d, 0xf7, 0xdc, 0x73, 0xcf, 0xf3, 0xda, 0xef,
- 0x0b, 0x20, 0x71, 0x5c, 0xd3, 0xa5, 0x11, 0x36, 0xdd, 0x80, 0xe0, 0x90, 0x9b, 0x93, 0x96, 0x5a,
- 0x19, 0xe3, 0x88, 0x72, 0xaa, 0xeb, 0xc4, 0x71, 0x8d, 0x39, 0xc1, 0x50, 0xf0, 0xa4, 0x55, 0xab,
- 0xf8, 0xd4, 0xa7, 0xe2, 0xd8, 0x9c, 0xaf, 0x24, 0xb3, 0x76, 0xdf, 0xa7, 0xd4, 0x0f, 0xb0, 0x29,
- 0x76, 0x4e, 0x7c, 0x64, 0xda, 0xe1, 0x54, 0x1d, 0x3d, 0x74, 0x29, 0x1b, 0x51, 0x66, 0xc6, 0x63,
- 0x3f, 0xb2, 0x3d, 0x6c, 0x4e, 0x5a, 0x0e, 0xe6, 0x76, 0x2b, 0xdd, 0x4b, 0x16, 0xfa, 0xa4, 0x81,
- 0xcd, 0x03, 0x0f, 0x87, 0x9c, 0x1c, 0x11, 0xec, 0xf5, 0xc4, 0x73, 0x2f, 0xb9, 0xcd, 0xb1, 0xde,
- 0x02, 0x45, 0xf9, 0xfa, 0x80, 0x78, 0x55, 0xad, 0xa1, 0x35, 0x8b, 0xdd, 0xca, 0x2c, 0x81, 0xeb,
- 0x53, 0x7b, 0x14, 0x74, 0xd0, 0xe5, 0x11, 0xb2, 0x56, 0xe4, 0xfa, 0xc0, 0xd3, 0xfb, 0x60, 0x55,
- 0xe1, 0x6c, 0x2e, 0x51, 0x5d, 0x6a, 0x68, 0xcd, 0x52, 0xbb, 0x62, 0x48, 0x93, 0x46, 0x6a, 0xd2,
- 0x78, 0x1a, 0x4e, 0xbb, 0x5b, 0xb3, 0x04, 0x6e, 0x64, 0xb4, 0xc4, 0x1d, 0x64, 0x95, 0xdc, 0x2b,
- 0x13, 0xe8, 0xb3, 0x06, 0xaa, 0x3d, 0x1a, 0x32, 0x1c, 0xb2, 0x98, 0x09, 0xe8, 0x15, 0xe1, 0xc3,
- 0x7d, 0x4c, 0xfc, 0x21, 0xd7, 0xf7, 0x40, 0x61, 0x28, 0x56, 0xc2, 0x5e, 0xa9, 0x5d, 0x33, 0x6e,
- 0xd6, 0xcd, 0x90, 0xdc, 0x6e, 0xfe, 0x34, 0x81, 0x39, 0x4b, 0xf1, 0xf5, 0xd7, 0xa0, 0xec, 0xa6,
- 0xaa, 0x7f, 0xe0, 0xb5, 0x36, 0x4b, 0xe0, 0x3d, 0xe5, 0x35, 0x7b, 0x0d, 0x59, 0x6b, 0x6e, 0xc6,
- 0x1e, 0xfa, 0xa2, 0x81, 0x4d, 0x59, 0xc6, 0xac, 0x6f, 0xf6, 0x37, 0x05, 0x7d, 0x07, 0xd6, 0xaf,
- 0x3d, 0xc8, 0xaa, 0x4b, 0x8d, 0xe5, 0x66, 0xa9, 0xfd, 0xe8, 0xb6, 0xac, 0x77, 0x55, 0xaa, 0x0b,
- 0xe7, 0xe9, 0x67, 0x09, 0xdc, 0xba, 0x35, 0x04, 0x43, 0x56, 0x39, 0x9b, 0x82, 0xa1, 0x1f, 0x1a,
- 0xa8, 0xc8, 0x18, 0x87, 0x63, 0xcf, 0xe6, 0xb8, 0x1f, 0xd1, 0x31, 0x65, 0x76, 0xa0, 0x57, 0xc0,
- 0x7f, 0x9c, 0xf0, 0x00, 0xcb, 0x04, 0x96, 0xdc, 0xe8, 0x0d, 0x50, 0xf2, 0x30, 0x73, 0x23, 0x32,
- 0xe6, 0x84, 0x86, 0xa2, 0x98, 0x45, 0x6b, 0x11, 0xd2, 0xf7, 0xc1, 0xff, 0x2c, 0x76, 0x8e, 0xb1,
- 0xcb, 0x07, 0x57, 0x55, 0x58, 0x16, 0x55, 0xd8, 0x9e, 0x25, 0xb0, 0x2a, 0x9d, 0xdd, 0xa0, 0x20,
- 0xab, 0xac, 0xb0, 0x5e, 0x5a, 0x94, 0x17, 0xa0, 0xc2, 0x62, 0x87, 0x71, 0xc2, 0x63, 0x8e, 0x17,
- 0xc4, 0xf2, 0x42, 0x0c, 0xce, 0x12, 0xf8, 0xe0, 0x52, 0xec, 0x06, 0x0b, 0x59, 0xfa, 0x15, 0x9c,
- 0x4a, 0x76, 0xf2, 0xef, 0x4f, 0x60, 0x0e, 0xfd, 0xd4, 0x40, 0xf9, 0x50, 0x76, 0xc7, 0x3f, 0xc7,
- 0x7d, 0x02, 0xf2, 0xe3, 0xc0, 0x0e, 0x45, 0xc2, 0x52, 0x7b, 0xdb, 0x90, 0xcd, 0x68, 0xa4, 0xcd,
- 0xa7, 0x9a, 0xd1, 0xe8, 0x07, 0x76, 0xa8, 0xfe, 0x4d, 0xc1, 0xd7, 0x8f, 0xc1, 0xa6, 0xe2, 0x78,
- 0x83, 0x4c, 0x2f, 0xe5, 0x7f, 0xf3, 0x7f, 0x36, 0x66, 0x09, 0xdc, 0x96, 0x99, 0x6f, 0xbd, 0x8c,
- 0xac, 0x8d, 0x14, 0x5f, 0xe8, 0xf0, 0xce, 0xea, 0x3c, 0xf5, 0xc7, 0x13, 0x98, 0xfb, 0x7e, 0x02,
- 0xb5, 0xf9, 0x24, 0x28, 0xa8, 0xc6, 0xea, 0x81, 0x72, 0x84, 0x27, 0x84, 0x11, 0x1a, 0x0e, 0xc2,
- 0x78, 0xe4, 0xe0, 0x48, 0xc4, 0xcf, 0x2f, 0x36, 0xc2, 0x35, 0x02, 0xb2, 0xd6, 0x52, 0xe4, 0xb9,
- 0x00, 0x32, 0x22, 0xaa, 0x4d, 0x97, 0xee, 0x14, 0x91, 0x84, 0x05, 0x11, 0xe9, 0xa4, 0xb3, 0x92,
- 0x5a, 0x44, 0xcf, 0x40, 0xa1, 0x6f, 0x47, 0xf6, 0x88, 0xcd, 0x85, 0xed, 0x20, 0xa0, 0x6f, 0x2f,
- 0x43, 0xb2, 0xaa, 0xd6, 0x58, 0x6e, 0x16, 0x17, 0x85, 0xaf, 0x11, 0x90, 0xb5, 0xa6, 0x10, 0x99,
- 0x9f, 0x75, 0xad, 0xd3, 0xf3, 0xba, 0x76, 0x76, 0x5e, 0xd7, 0xbe, 0x9d, 0xd7, 0xb5, 0x0f, 0x17,
- 0xf5, 0xdc, 0xd9, 0x45, 0x3d, 0xf7, 0xf5, 0xa2, 0x9e, 0x7b, 0xb3, 0xe7, 0x13, 0x3e, 0x8c, 0x1d,
- 0xc3, 0xa5, 0x23, 0x53, 0x8d, 0x50, 0xe2, 0xb8, 0x3b, 0x3e, 0x35, 0x27, 0xbb, 0xe6, 0x88, 0x7a,
- 0x71, 0x80, 0x99, 0x9c, 0xde, 0x8f, 0xdb, 0x3b, 0x6a, 0x80, 0xf3, 0xe9, 0x18, 0x33, 0xa7, 0x20,
- 0x3e, 0xca, 0xee, 0xaf, 0x00, 0x00, 0x00, 0xff, 0xff, 0xb6, 0x6f, 0x16, 0x77, 0xe0, 0x05, 0x00,
+ 0x86, 0x0c, 0xd4, 0x26, 0x01, 0xa1, 0x2a, 0x1b, 0xc9, 0xd2, 0x0e, 0xa0, 0x60, 0x54, 0x21, 0x58,
+ 0x22, 0xff, 0xb9, 0x3a, 0x57, 0x39, 0xbe, 0xc8, 0x77, 0x0e, 0xe4, 0x1b, 0x30, 0x32, 0x32, 0x30,
+ 0xf4, 0x1b, 0xf0, 0x25, 0x18, 0x3a, 0x76, 0x64, 0xb2, 0x50, 0xbb, 0xb0, 0x92, 0x95, 0x05, 0xe5,
+ 0xee, 0xdc, 0xc6, 0xfd, 0x83, 0x10, 0x6c, 0x77, 0xcf, 0x3d, 0xf7, 0xdc, 0xf3, 0xbc, 0xf6, 0xfb,
+ 0x02, 0x48, 0x1c, 0xd7, 0x74, 0x69, 0x84, 0x4d, 0x37, 0x20, 0x38, 0xe4, 0xe6, 0xa4, 0xa5, 0x56,
+ 0xc6, 0x38, 0xa2, 0x9c, 0xea, 0x3a, 0x71, 0x5c, 0x63, 0x4e, 0x30, 0x14, 0x3c, 0x69, 0xd5, 0x2a,
+ 0x3e, 0xf5, 0xa9, 0x38, 0x36, 0xe7, 0x2b, 0xc9, 0xac, 0xdd, 0xf5, 0x29, 0xf5, 0x03, 0x6c, 0x8a,
+ 0x9d, 0x13, 0x1f, 0x9a, 0x76, 0x38, 0x55, 0x47, 0xf7, 0x5d, 0xca, 0x46, 0x94, 0x99, 0xf1, 0xd8,
+ 0x8f, 0x6c, 0x0f, 0x9b, 0x93, 0x96, 0x83, 0xb9, 0xdd, 0x4a, 0xf7, 0x92, 0x85, 0x3e, 0x69, 0x60,
+ 0x73, 0xdf, 0xc3, 0x21, 0x27, 0x87, 0x04, 0x7b, 0x3d, 0xf1, 0xdc, 0x4b, 0x6e, 0x73, 0xac, 0xb7,
+ 0x40, 0x51, 0xbe, 0x3e, 0x20, 0x5e, 0x55, 0x6b, 0x68, 0xcd, 0x62, 0xb7, 0x32, 0x4b, 0xe0, 0xfa,
+ 0xd4, 0x1e, 0x05, 0x1d, 0x74, 0x71, 0x84, 0xac, 0x15, 0xb9, 0xde, 0xf7, 0xf4, 0x3e, 0x58, 0x55,
+ 0x38, 0x9b, 0x4b, 0x54, 0x97, 0x1a, 0x5a, 0xb3, 0xd4, 0xae, 0x18, 0xd2, 0xa4, 0x91, 0x9a, 0x34,
+ 0x9e, 0x86, 0xd3, 0xee, 0xd6, 0x2c, 0x81, 0x1b, 0x19, 0x2d, 0x71, 0x07, 0x59, 0x25, 0xf7, 0xd2,
+ 0x04, 0xfa, 0xac, 0x81, 0x6a, 0x8f, 0x86, 0x0c, 0x87, 0x2c, 0x66, 0x02, 0x7a, 0x45, 0xf8, 0x70,
+ 0x0f, 0x13, 0x7f, 0xc8, 0xf5, 0x5d, 0x50, 0x18, 0x8a, 0x95, 0xb0, 0x57, 0x6a, 0xd7, 0x8c, 0xeb,
+ 0x75, 0x33, 0x24, 0xb7, 0x9b, 0x3f, 0x49, 0x60, 0xce, 0x52, 0x7c, 0xfd, 0x35, 0x28, 0xbb, 0xa9,
+ 0xea, 0x1f, 0x78, 0xad, 0xcd, 0x12, 0x78, 0x47, 0x79, 0xcd, 0x5e, 0x43, 0xd6, 0x9a, 0x9b, 0xb1,
+ 0x87, 0xbe, 0x68, 0x60, 0x53, 0x96, 0x31, 0xeb, 0x9b, 0xfd, 0x4d, 0x41, 0xdf, 0x81, 0xf5, 0x2b,
+ 0x0f, 0xb2, 0xea, 0x52, 0x63, 0xb9, 0x59, 0x6a, 0x3f, 0xb8, 0x29, 0xeb, 0x6d, 0x95, 0xea, 0xc2,
+ 0x79, 0xfa, 0x59, 0x02, 0xb7, 0x6e, 0x0c, 0xc1, 0x90, 0x55, 0xce, 0xa6, 0x60, 0xe8, 0x87, 0x06,
+ 0x2a, 0x32, 0xc6, 0xc1, 0xd8, 0xb3, 0x39, 0xee, 0x47, 0x74, 0x4c, 0x99, 0x1d, 0xe8, 0x15, 0xf0,
+ 0x1f, 0x27, 0x3c, 0xc0, 0x32, 0x81, 0x25, 0x37, 0x7a, 0x03, 0x94, 0x3c, 0xcc, 0xdc, 0x88, 0x8c,
+ 0x39, 0xa1, 0xa1, 0x28, 0x66, 0xd1, 0x5a, 0x84, 0xf4, 0x3d, 0xf0, 0x3f, 0x8b, 0x9d, 0x23, 0xec,
+ 0xf2, 0xc1, 0x65, 0x15, 0x96, 0x45, 0x15, 0xb6, 0x67, 0x09, 0xac, 0x4a, 0x67, 0xd7, 0x28, 0xc8,
+ 0x2a, 0x2b, 0xac, 0x97, 0x16, 0xe5, 0x05, 0xa8, 0xb0, 0xd8, 0x61, 0x9c, 0xf0, 0x98, 0xe3, 0x05,
+ 0xb1, 0xbc, 0x10, 0x83, 0xb3, 0x04, 0xde, 0xbb, 0x10, 0xbb, 0xc6, 0x42, 0x96, 0x7e, 0x09, 0xa7,
+ 0x92, 0x9d, 0xfc, 0xfb, 0x63, 0x98, 0x43, 0x3f, 0x35, 0x50, 0x3e, 0x90, 0xdd, 0xf1, 0xcf, 0x71,
+ 0x9f, 0x80, 0xfc, 0x38, 0xb0, 0x43, 0x91, 0xb0, 0xd4, 0xde, 0x36, 0x64, 0x33, 0x1a, 0x69, 0xf3,
+ 0xa9, 0x66, 0x34, 0xfa, 0x81, 0x1d, 0xaa, 0x7f, 0x53, 0xf0, 0xf5, 0x23, 0xb0, 0xa9, 0x38, 0xde,
+ 0x20, 0xd3, 0x4b, 0xf9, 0xdf, 0xfc, 0x9f, 0x8d, 0x59, 0x02, 0xb7, 0x65, 0xe6, 0x1b, 0x2f, 0x23,
+ 0x6b, 0x23, 0xc5, 0x17, 0x3a, 0xbc, 0xb3, 0x3a, 0x4f, 0xfd, 0xf1, 0x18, 0xe6, 0xbe, 0x1f, 0x43,
+ 0x6d, 0x3e, 0x09, 0x0a, 0xaa, 0xb1, 0x7a, 0xa0, 0x1c, 0xe1, 0x09, 0x61, 0x84, 0x86, 0x83, 0x30,
+ 0x1e, 0x39, 0x38, 0x12, 0xf1, 0xf3, 0x8b, 0x8d, 0x70, 0x85, 0x80, 0xac, 0xb5, 0x14, 0x79, 0x2e,
+ 0x80, 0x8c, 0x88, 0x6a, 0xd3, 0xa5, 0x5b, 0x45, 0x24, 0x61, 0x41, 0x44, 0x3a, 0xe9, 0xac, 0xa4,
+ 0x16, 0xd1, 0x33, 0x50, 0xe8, 0xdb, 0x91, 0x3d, 0x62, 0x73, 0x61, 0x3b, 0x08, 0xe8, 0xdb, 0x8b,
+ 0x90, 0xac, 0xaa, 0x35, 0x96, 0x9b, 0xc5, 0x45, 0xe1, 0x2b, 0x04, 0x64, 0xad, 0x29, 0x44, 0xe6,
+ 0x67, 0x5d, 0xeb, 0xe4, 0xac, 0xae, 0x9d, 0x9e, 0xd5, 0xb5, 0x6f, 0x67, 0x75, 0xed, 0xc3, 0x79,
+ 0x3d, 0x77, 0x7a, 0x5e, 0xcf, 0x7d, 0x3d, 0xaf, 0xe7, 0xde, 0xec, 0xfa, 0x84, 0x0f, 0x63, 0xc7,
+ 0x70, 0xe9, 0xc8, 0x54, 0x23, 0x94, 0x38, 0xee, 0x8e, 0x4f, 0xcd, 0xc9, 0x63, 0x73, 0x44, 0xbd,
+ 0x38, 0xc0, 0x4c, 0x4e, 0xef, 0x87, 0xed, 0x1d, 0x35, 0xc0, 0xf9, 0x74, 0x8c, 0x99, 0x53, 0x10,
+ 0x1f, 0xe5, 0xd1, 0xaf, 0x00, 0x00, 0x00, 0xff, 0xff, 0x9a, 0x92, 0x4e, 0x61, 0xe0, 0x05, 0x00,
0x00,
}
diff --git a/modules/core/02-client/types/client_test.go b/modules/core/02-client/types/client_test.go
index cefe567619c..dfc52f2190b 100644
--- a/modules/core/02-client/types/client_test.go
+++ b/modules/core/02-client/types/client_test.go
@@ -5,8 +5,8 @@ import (
"github.com/stretchr/testify/require"
- "github.com/cosmos/ibc-go/v3/modules/core/02-client/types"
- ibctesting "github.com/cosmos/ibc-go/v3/testing"
+ "github.com/cosmos/ibc-go/v4/modules/core/02-client/types"
+ ibctesting "github.com/cosmos/ibc-go/v4/testing"
)
func (suite *TypesTestSuite) TestMarshalConsensusStateWithHeight() {
diff --git a/modules/core/02-client/types/codec.go b/modules/core/02-client/types/codec.go
index 0497fa15f37..0aec6bc1d7c 100644
--- a/modules/core/02-client/types/codec.go
+++ b/modules/core/02-client/types/codec.go
@@ -8,7 +8,7 @@ import (
govtypes "github.com/cosmos/cosmos-sdk/x/gov/types"
proto "github.com/gogo/protobuf/proto"
- "github.com/cosmos/ibc-go/v3/modules/core/exported"
+ "github.com/cosmos/ibc-go/v4/modules/core/exported"
)
// RegisterInterfaces registers the client interfaces to protobuf Any.
diff --git a/modules/core/02-client/types/codec_test.go b/modules/core/02-client/types/codec_test.go
index bb706d87fd1..da970cd181a 100644
--- a/modules/core/02-client/types/codec_test.go
+++ b/modules/core/02-client/types/codec_test.go
@@ -3,12 +3,12 @@ package types_test
import (
codectypes "github.com/cosmos/cosmos-sdk/codec/types"
- "github.com/cosmos/ibc-go/v3/modules/core/02-client/types"
- commitmenttypes "github.com/cosmos/ibc-go/v3/modules/core/23-commitment/types"
- "github.com/cosmos/ibc-go/v3/modules/core/exported"
- ibctmtypes "github.com/cosmos/ibc-go/v3/modules/light-clients/07-tendermint/types"
- localhosttypes "github.com/cosmos/ibc-go/v3/modules/light-clients/09-localhost/types"
- ibctesting "github.com/cosmos/ibc-go/v3/testing"
+ "github.com/cosmos/ibc-go/v4/modules/core/02-client/types"
+ commitmenttypes "github.com/cosmos/ibc-go/v4/modules/core/23-commitment/types"
+ "github.com/cosmos/ibc-go/v4/modules/core/exported"
+ ibctmtypes "github.com/cosmos/ibc-go/v4/modules/light-clients/07-tendermint/types"
+ localhosttypes "github.com/cosmos/ibc-go/v4/modules/light-clients/09-localhost/types"
+ ibctesting "github.com/cosmos/ibc-go/v4/testing"
)
type caseAny struct {
diff --git a/modules/core/02-client/types/encoding.go b/modules/core/02-client/types/encoding.go
index 5693ba41e2a..26a6bf32626 100644
--- a/modules/core/02-client/types/encoding.go
+++ b/modules/core/02-client/types/encoding.go
@@ -5,7 +5,7 @@ import (
"github.com/cosmos/cosmos-sdk/codec"
- "github.com/cosmos/ibc-go/v3/modules/core/exported"
+ "github.com/cosmos/ibc-go/v4/modules/core/exported"
)
// MustUnmarshalClientState attempts to decode and return an ClientState object from
diff --git a/modules/core/02-client/types/encoding_test.go b/modules/core/02-client/types/encoding_test.go
index 75ee99e6c85..298285a828f 100644
--- a/modules/core/02-client/types/encoding_test.go
+++ b/modules/core/02-client/types/encoding_test.go
@@ -1,8 +1,8 @@
package types_test
import (
- "github.com/cosmos/ibc-go/v3/modules/core/02-client/types"
- ibctmtypes "github.com/cosmos/ibc-go/v3/modules/light-clients/07-tendermint/types"
+ "github.com/cosmos/ibc-go/v4/modules/core/02-client/types"
+ ibctmtypes "github.com/cosmos/ibc-go/v4/modules/light-clients/07-tendermint/types"
)
func (suite *TypesTestSuite) TestMarshalHeader() {
diff --git a/modules/core/02-client/types/events.go b/modules/core/02-client/types/events.go
index 391e1e37080..d23f6d24e02 100644
--- a/modules/core/02-client/types/events.go
+++ b/modules/core/02-client/types/events.go
@@ -3,25 +3,28 @@ package types
import (
"fmt"
- host "github.com/cosmos/ibc-go/v3/modules/core/24-host"
+ host "github.com/cosmos/ibc-go/v4/modules/core/24-host"
)
// IBC client events
const (
- AttributeKeyClientID = "client_id"
- AttributeKeySubjectClientID = "subject_client_id"
- AttributeKeyClientType = "client_type"
- AttributeKeyConsensusHeight = "consensus_height"
- AttributeKeyHeader = "header"
+ AttributeKeyClientID = "client_id"
+ AttributeKeySubjectClientID = "subject_client_id"
+ AttributeKeyClientType = "client_type"
+ AttributeKeyConsensusHeight = "consensus_height"
+ AttributeKeyHeader = "header"
+ AttributeKeyUpgradePlanTitle = "title"
+ AttributeKeyUpgradePlanHeight = "height"
)
// IBC client events vars
var (
- EventTypeCreateClient = "create_client"
- EventTypeUpdateClient = "update_client"
- EventTypeUpgradeClient = "upgrade_client"
- EventTypeSubmitMisbehaviour = "client_misbehaviour"
- EventTypeUpdateClientProposal = "update_client_proposal"
+ EventTypeCreateClient = "create_client"
+ EventTypeUpdateClient = "update_client"
+ EventTypeUpgradeClient = "upgrade_client"
+ EventTypeSubmitMisbehaviour = "client_misbehaviour"
+ EventTypeUpdateClientProposal = "update_client_proposal"
+ EventTypeUpgradeClientProposal = "upgrade_client_proposal"
AttributeValueCategory = fmt.Sprintf("%s_%s", host.ModuleName, SubModuleName)
)
diff --git a/modules/core/02-client/types/genesis.go b/modules/core/02-client/types/genesis.go
index ccf797e0d49..4dd61fdc7a2 100644
--- a/modules/core/02-client/types/genesis.go
+++ b/modules/core/02-client/types/genesis.go
@@ -6,8 +6,8 @@ import (
codectypes "github.com/cosmos/cosmos-sdk/codec/types"
- host "github.com/cosmos/ibc-go/v3/modules/core/24-host"
- "github.com/cosmos/ibc-go/v3/modules/core/exported"
+ host "github.com/cosmos/ibc-go/v4/modules/core/24-host"
+ "github.com/cosmos/ibc-go/v4/modules/core/exported"
)
var (
diff --git a/modules/core/02-client/types/genesis.pb.go b/modules/core/02-client/types/genesis.pb.go
index 9f85bc06008..4edc4f302b8 100644
--- a/modules/core/02-client/types/genesis.pb.go
+++ b/modules/core/02-client/types/genesis.pb.go
@@ -221,38 +221,38 @@ var fileDescriptor_bcd0c0f1f2e6a91a = []byte{
// 539 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x7c, 0x53, 0x41, 0x6e, 0xd3, 0x40,
0x14, 0xcd, 0x34, 0x69, 0x68, 0xa7, 0x15, 0x0d, 0xa3, 0xa8, 0x98, 0x54, 0xb2, 0x2d, 0xb3, 0x09,
- 0x8b, 0xd8, 0x24, 0xdd, 0x54, 0xd9, 0x20, 0xb9, 0x12, 0xa8, 0x12, 0x48, 0x60, 0x76, 0x6c, 0xac,
- 0xc9, 0x78, 0x48, 0x47, 0xd8, 0x9e, 0x90, 0x99, 0x44, 0xe4, 0x06, 0x2c, 0x11, 0x27, 0x60, 0xcd,
- 0x19, 0x38, 0x40, 0x97, 0x5d, 0x76, 0x15, 0x50, 0x72, 0x83, 0x9c, 0x00, 0x79, 0x66, 0x4c, 0xdb,
- 0x34, 0x65, 0xf7, 0xf3, 0xfc, 0xde, 0xfb, 0x4f, 0xef, 0x67, 0xa0, 0xcb, 0x06, 0x24, 0x20, 0x7c,
- 0x4c, 0x03, 0x92, 0x32, 0x9a, 0xcb, 0x60, 0xda, 0x0d, 0x86, 0x34, 0xa7, 0x82, 0x09, 0x7f, 0x34,
- 0xe6, 0x92, 0x23, 0xc4, 0x06, 0xc4, 0x2f, 0x18, 0xbe, 0x66, 0xf8, 0xd3, 0x6e, 0xcb, 0xd9, 0xa0,
- 0x32, 0x5f, 0x95, 0xa8, 0xd5, 0x1c, 0xf2, 0x21, 0x57, 0x63, 0x50, 0x4c, 0x1a, 0xf5, 0xae, 0x6a,
- 0x70, 0xff, 0x95, 0x36, 0x7f, 0x2f, 0xb1, 0xa4, 0x88, 0xc0, 0x07, 0x5a, 0x26, 0x2c, 0xe0, 0x56,
- 0xdb, 0x7b, 0xbd, 0x67, 0xfe, 0xdd, 0x6d, 0xfe, 0x59, 0x42, 0x73, 0xc9, 0x3e, 0x32, 0x9a, 0x9c,
- 0x2a, 0x4c, 0x69, 0x43, 0xfb, 0x62, 0xee, 0x54, 0x7e, 0xfe, 0x76, 0x0e, 0x37, 0x7e, 0x16, 0x51,
- 0xe9, 0x8c, 0xbe, 0x03, 0xf8, 0xc8, 0xcc, 0x31, 0xe1, 0xb9, 0xa0, 0xb9, 0x98, 0x08, 0x6b, 0xeb,
- 0xfe, 0x7d, 0xda, 0xe6, 0xb4, 0xa4, 0x6a, 0xbf, 0xb0, 0x5f, 0xec, 0x5b, 0xcd, 0x1d, 0x6b, 0x86,
- 0xb3, 0xb4, 0xef, 0xdd, 0x71, 0xf4, 0x8a, 0x2c, 0x5a, 0x2a, 0xd6, 0xb4, 0x51, 0x83, 0xac, 0xe1,
- 0x68, 0x06, 0x4b, 0x2c, 0xce, 0xa8, 0xc4, 0x09, 0x96, 0xd8, 0xaa, 0xaa, 0x48, 0x9d, 0xff, 0x57,
- 0x60, 0xfa, 0x7b, 0x63, 0x44, 0xa1, 0x63, 0x62, 0x3d, 0xbe, 0x1d, 0xab, 0x34, 0xf5, 0xa2, 0x03,
- 0x03, 0x95, 0x0a, 0x74, 0x02, 0xeb, 0x23, 0x3c, 0xc6, 0x99, 0xb0, 0x6a, 0x2e, 0x68, 0xef, 0xf5,
- 0x5a, 0x9b, 0x16, 0xbe, 0x55, 0x8c, 0xb0, 0x56, 0xb8, 0x47, 0x86, 0x8f, 0x5e, 0xc2, 0x06, 0x19,
- 0x53, 0x2c, 0x69, 0x9c, 0x72, 0x82, 0xd3, 0x73, 0x2e, 0xa4, 0xb5, 0xed, 0x82, 0xf6, 0x4e, 0x78,
- 0x74, 0x23, 0xc1, 0x1a, 0xa3, 0x48, 0xa0, 0xa0, 0xd7, 0x25, 0x82, 0xde, 0xc1, 0x66, 0x4e, 0xbf,
- 0xc8, 0x58, 0xaf, 0x8b, 0x05, 0xfd, 0x3c, 0xa1, 0x39, 0xa1, 0x56, 0xdd, 0x05, 0xed, 0x5a, 0xe8,
- 0xac, 0xe6, 0xce, 0x91, 0xf6, 0xda, 0xc4, 0xf2, 0x22, 0x54, 0xc0, 0xe6, 0xd6, 0x25, 0xf8, 0x02,
- 0x1e, 0xac, 0x35, 0x83, 0x1a, 0xb0, 0xfa, 0x89, 0xce, 0x2c, 0xe0, 0x82, 0xf6, 0x7e, 0x54, 0x8c,
- 0xa8, 0x09, 0xb7, 0xa7, 0x38, 0x9d, 0x50, 0x6b, 0x4b, 0x61, 0xfa, 0x47, 0xbf, 0xf6, 0xf5, 0x87,
- 0x53, 0xf1, 0x7e, 0x01, 0xf8, 0xe4, 0xde, 0x96, 0x51, 0x17, 0xee, 0x9a, 0x18, 0x2c, 0x51, 0x8e,
- 0xbb, 0x61, 0x73, 0x35, 0x77, 0x1a, 0x37, 0x4b, 0x8f, 0x59, 0xe2, 0x45, 0x3b, 0x7a, 0x3e, 0x4b,
- 0x50, 0x0a, 0x4d, 0xf3, 0xd7, 0x07, 0xd6, 0xff, 0xb9, 0xa7, 0x9b, 0xfa, 0x5e, 0x3f, 0xab, 0x6d,
- 0xce, 0x7a, 0x78, 0x6b, 0xc3, 0xf5, 0x55, 0x1f, 0x6a, 0xe4, 0x1f, 0x3f, 0xba, 0x58, 0xd8, 0xe0,
- 0x72, 0x61, 0x83, 0x3f, 0x0b, 0x1b, 0x7c, 0x5b, 0xda, 0x95, 0xcb, 0xa5, 0x5d, 0xb9, 0x5a, 0xda,
- 0x95, 0x0f, 0x27, 0x43, 0x26, 0xcf, 0x27, 0x03, 0x9f, 0xf0, 0x2c, 0x20, 0x5c, 0x64, 0x5c, 0x04,
- 0x6c, 0x40, 0x3a, 0x43, 0x1e, 0x4c, 0x8f, 0x83, 0x8c, 0x27, 0x93, 0x94, 0x0a, 0xfd, 0x96, 0x9f,
- 0xf7, 0x3a, 0xe6, 0x39, 0xcb, 0xd9, 0x88, 0x8a, 0x41, 0x5d, 0xbd, 0xda, 0xe3, 0xbf, 0x01, 0x00,
- 0x00, 0xff, 0xff, 0x29, 0x4b, 0x29, 0xf0, 0x24, 0x04, 0x00, 0x00,
+ 0x8b, 0xd8, 0x24, 0xb0, 0xa8, 0xb2, 0x41, 0x72, 0x25, 0x50, 0x25, 0x90, 0xc0, 0xec, 0xd8, 0x58,
+ 0x93, 0xf1, 0x90, 0x8e, 0xb0, 0x3d, 0x21, 0x33, 0x89, 0xc8, 0x0d, 0x58, 0x22, 0x4e, 0xc0, 0x9a,
+ 0x33, 0x70, 0x80, 0x2e, 0xbb, 0xec, 0x2a, 0xa0, 0xe4, 0x06, 0x39, 0x01, 0xf2, 0xcc, 0x98, 0xb6,
+ 0x69, 0xca, 0xee, 0xe7, 0xf9, 0xbd, 0xf7, 0x9f, 0xde, 0xcf, 0x40, 0x97, 0x0d, 0x48, 0x40, 0xf8,
+ 0x98, 0x06, 0x24, 0x65, 0x34, 0x97, 0xc1, 0xb4, 0x1b, 0x0c, 0x69, 0x4e, 0x05, 0x13, 0xfe, 0x68,
+ 0xcc, 0x25, 0x47, 0x88, 0x0d, 0x88, 0x5f, 0x30, 0x7c, 0xcd, 0xf0, 0xa7, 0xdd, 0x96, 0xb3, 0x41,
+ 0x65, 0xbe, 0x2a, 0x51, 0xab, 0x39, 0xe4, 0x43, 0xae, 0xc6, 0xa0, 0x98, 0x34, 0xea, 0x5d, 0xd6,
+ 0xe0, 0xfe, 0x2b, 0x6d, 0xfe, 0x5e, 0x62, 0x49, 0x11, 0x81, 0xf7, 0xb4, 0x4c, 0x58, 0xc0, 0xad,
+ 0xb6, 0xf7, 0x7a, 0x4f, 0xfc, 0xdb, 0xdb, 0xfc, 0xd3, 0x84, 0xe6, 0x92, 0x7d, 0x64, 0x34, 0x39,
+ 0x51, 0x98, 0xd2, 0x86, 0xf6, 0xf9, 0xdc, 0xa9, 0xfc, 0xfc, 0xed, 0x1c, 0x6e, 0xfc, 0x2c, 0xa2,
+ 0xd2, 0x19, 0x7d, 0x07, 0xf0, 0x81, 0x99, 0x63, 0xc2, 0x73, 0x41, 0x73, 0x31, 0x11, 0xd6, 0xd6,
+ 0xdd, 0xfb, 0xb4, 0xcd, 0x49, 0x49, 0xd5, 0x7e, 0x61, 0xbf, 0xd8, 0xb7, 0x9a, 0x3b, 0xd6, 0x0c,
+ 0x67, 0x69, 0xdf, 0xbb, 0xe5, 0xe8, 0x15, 0x59, 0xb4, 0x54, 0xac, 0x69, 0xa3, 0x06, 0x59, 0xc3,
+ 0xd1, 0x0c, 0x96, 0x58, 0x9c, 0x51, 0x89, 0x13, 0x2c, 0xb1, 0x55, 0x55, 0x91, 0x3a, 0xff, 0xaf,
+ 0xc0, 0xf4, 0xf7, 0xc6, 0x88, 0x42, 0xc7, 0xc4, 0x7a, 0x78, 0x33, 0x56, 0x69, 0xea, 0x45, 0x07,
+ 0x06, 0x2a, 0x15, 0xe8, 0x18, 0xd6, 0x47, 0x78, 0x8c, 0x33, 0x61, 0xd5, 0x5c, 0xd0, 0xde, 0xeb,
+ 0xb5, 0x36, 0x2d, 0x7c, 0xab, 0x18, 0x61, 0xad, 0x70, 0x8f, 0x0c, 0x1f, 0xbd, 0x84, 0x0d, 0x32,
+ 0xa6, 0x58, 0xd2, 0x38, 0xe5, 0x04, 0xa7, 0x67, 0x5c, 0x48, 0x6b, 0xdb, 0x05, 0xed, 0x9d, 0xf0,
+ 0xe8, 0x5a, 0x82, 0x35, 0x46, 0x91, 0x40, 0x41, 0xaf, 0x4b, 0x04, 0xbd, 0x83, 0xcd, 0x9c, 0x7e,
+ 0x91, 0xb1, 0x5e, 0x17, 0x0b, 0xfa, 0x79, 0x42, 0x73, 0x42, 0xad, 0xba, 0x0b, 0xda, 0xb5, 0xd0,
+ 0x59, 0xcd, 0x9d, 0x23, 0xed, 0xb5, 0x89, 0xe5, 0x45, 0xa8, 0x80, 0xcd, 0xad, 0x4b, 0xf0, 0x05,
+ 0x3c, 0x58, 0x6b, 0x06, 0x35, 0x60, 0xf5, 0x13, 0x9d, 0x59, 0xc0, 0x05, 0xed, 0xfd, 0xa8, 0x18,
+ 0x51, 0x13, 0x6e, 0x4f, 0x71, 0x3a, 0xa1, 0xd6, 0x96, 0xc2, 0xf4, 0x8f, 0x7e, 0xed, 0xeb, 0x0f,
+ 0xa7, 0xe2, 0xfd, 0x02, 0xf0, 0xd1, 0x9d, 0x2d, 0xa3, 0x2e, 0xdc, 0x35, 0x31, 0x58, 0xa2, 0x1c,
+ 0x77, 0xc3, 0xe6, 0x6a, 0xee, 0x34, 0xae, 0x97, 0x1e, 0xb3, 0xc4, 0x8b, 0x76, 0xf4, 0x7c, 0x9a,
+ 0xa0, 0x14, 0x9a, 0xe6, 0xaf, 0x0e, 0xac, 0xff, 0x73, 0x8f, 0x37, 0xf5, 0xbd, 0x7e, 0x56, 0xdb,
+ 0x9c, 0xf5, 0xf0, 0xc6, 0x86, 0xab, 0xab, 0xde, 0xd7, 0xc8, 0x3f, 0x7e, 0x74, 0xbe, 0xb0, 0xc1,
+ 0xc5, 0xc2, 0x06, 0x7f, 0x16, 0x36, 0xf8, 0xb6, 0xb4, 0x2b, 0x17, 0x4b, 0xbb, 0x72, 0xb9, 0xb4,
+ 0x2b, 0x1f, 0x8e, 0x87, 0x4c, 0x9e, 0x4d, 0x06, 0x3e, 0xe1, 0x59, 0x40, 0xb8, 0xc8, 0xb8, 0x08,
+ 0xd8, 0x80, 0x74, 0x86, 0x3c, 0x98, 0x3e, 0x0f, 0x32, 0x9e, 0x4c, 0x52, 0x2a, 0xf4, 0x5b, 0x7e,
+ 0xda, 0xeb, 0x98, 0xe7, 0x2c, 0x67, 0x23, 0x2a, 0x06, 0x75, 0xf5, 0x6a, 0x9f, 0xfd, 0x0d, 0x00,
+ 0x00, 0xff, 0xff, 0x05, 0xb6, 0x71, 0xe6, 0x24, 0x04, 0x00, 0x00,
}
func (m *GenesisState) Marshal() (dAtA []byte, err error) {
diff --git a/modules/core/02-client/types/genesis_test.go b/modules/core/02-client/types/genesis_test.go
index 6fc37070b31..c627d173327 100644
--- a/modules/core/02-client/types/genesis_test.go
+++ b/modules/core/02-client/types/genesis_test.go
@@ -5,14 +5,14 @@ import (
tmtypes "github.com/tendermint/tendermint/types"
- client "github.com/cosmos/ibc-go/v3/modules/core/02-client"
- "github.com/cosmos/ibc-go/v3/modules/core/02-client/types"
- commitmenttypes "github.com/cosmos/ibc-go/v3/modules/core/23-commitment/types"
- "github.com/cosmos/ibc-go/v3/modules/core/exported"
- ibctmtypes "github.com/cosmos/ibc-go/v3/modules/light-clients/07-tendermint/types"
- localhosttypes "github.com/cosmos/ibc-go/v3/modules/light-clients/09-localhost/types"
- ibctesting "github.com/cosmos/ibc-go/v3/testing"
- ibctestingmock "github.com/cosmos/ibc-go/v3/testing/mock"
+ client "github.com/cosmos/ibc-go/v4/modules/core/02-client"
+ "github.com/cosmos/ibc-go/v4/modules/core/02-client/types"
+ commitmenttypes "github.com/cosmos/ibc-go/v4/modules/core/23-commitment/types"
+ "github.com/cosmos/ibc-go/v4/modules/core/exported"
+ ibctmtypes "github.com/cosmos/ibc-go/v4/modules/light-clients/07-tendermint/types"
+ localhosttypes "github.com/cosmos/ibc-go/v4/modules/light-clients/09-localhost/types"
+ ibctesting "github.com/cosmos/ibc-go/v4/testing"
+ ibctestingmock "github.com/cosmos/ibc-go/v4/testing/mock"
)
const (
diff --git a/modules/core/02-client/types/height.go b/modules/core/02-client/types/height.go
index 40125b23f2e..152c052cf1b 100644
--- a/modules/core/02-client/types/height.go
+++ b/modules/core/02-client/types/height.go
@@ -10,7 +10,7 @@ import (
sdk "github.com/cosmos/cosmos-sdk/types"
sdkerrors "github.com/cosmos/cosmos-sdk/types/errors"
- "github.com/cosmos/ibc-go/v3/modules/core/exported"
+ "github.com/cosmos/ibc-go/v4/modules/core/exported"
)
var _ exported.Height = (*Height)(nil)
diff --git a/modules/core/02-client/types/height_test.go b/modules/core/02-client/types/height_test.go
index 16415c3d61e..d7e2c3650d2 100644
--- a/modules/core/02-client/types/height_test.go
+++ b/modules/core/02-client/types/height_test.go
@@ -6,7 +6,7 @@ import (
"github.com/stretchr/testify/require"
- "github.com/cosmos/ibc-go/v3/modules/core/02-client/types"
+ "github.com/cosmos/ibc-go/v4/modules/core/02-client/types"
)
func TestZeroHeight(t *testing.T) {
diff --git a/modules/core/02-client/types/keys.go b/modules/core/02-client/types/keys.go
index 426747b0f6c..c90e3784a1b 100644
--- a/modules/core/02-client/types/keys.go
+++ b/modules/core/02-client/types/keys.go
@@ -8,7 +8,7 @@ import (
sdkerrors "github.com/cosmos/cosmos-sdk/types/errors"
- host "github.com/cosmos/ibc-go/v3/modules/core/24-host"
+ host "github.com/cosmos/ibc-go/v4/modules/core/24-host"
)
const (
diff --git a/modules/core/02-client/types/keys_test.go b/modules/core/02-client/types/keys_test.go
index da722040e1c..2a042b82eae 100644
--- a/modules/core/02-client/types/keys_test.go
+++ b/modules/core/02-client/types/keys_test.go
@@ -6,7 +6,7 @@ import (
"github.com/stretchr/testify/require"
- "github.com/cosmos/ibc-go/v3/modules/core/02-client/types"
+ "github.com/cosmos/ibc-go/v4/modules/core/02-client/types"
)
// tests ParseClientIdentifier and IsValidClientID
diff --git a/modules/core/02-client/types/msgs.go b/modules/core/02-client/types/msgs.go
index e329a58ab49..58586887b51 100644
--- a/modules/core/02-client/types/msgs.go
+++ b/modules/core/02-client/types/msgs.go
@@ -5,8 +5,8 @@ import (
sdk "github.com/cosmos/cosmos-sdk/types"
sdkerrors "github.com/cosmos/cosmos-sdk/types/errors"
- host "github.com/cosmos/ibc-go/v3/modules/core/24-host"
- "github.com/cosmos/ibc-go/v3/modules/core/exported"
+ host "github.com/cosmos/ibc-go/v4/modules/core/24-host"
+ "github.com/cosmos/ibc-go/v4/modules/core/exported"
)
// message types for the IBC client
diff --git a/modules/core/02-client/types/msgs_test.go b/modules/core/02-client/types/msgs_test.go
index ec0b87ac0bb..cf625f93bcc 100644
--- a/modules/core/02-client/types/msgs_test.go
+++ b/modules/core/02-client/types/msgs_test.go
@@ -7,12 +7,12 @@ import (
"github.com/golang/protobuf/proto"
"github.com/stretchr/testify/suite"
- "github.com/cosmos/ibc-go/v3/modules/core/02-client/types"
- commitmenttypes "github.com/cosmos/ibc-go/v3/modules/core/23-commitment/types"
- "github.com/cosmos/ibc-go/v3/modules/core/exported"
- solomachinetypes "github.com/cosmos/ibc-go/v3/modules/light-clients/06-solomachine/types"
- ibctmtypes "github.com/cosmos/ibc-go/v3/modules/light-clients/07-tendermint/types"
- ibctesting "github.com/cosmos/ibc-go/v3/testing"
+ "github.com/cosmos/ibc-go/v4/modules/core/02-client/types"
+ commitmenttypes "github.com/cosmos/ibc-go/v4/modules/core/23-commitment/types"
+ "github.com/cosmos/ibc-go/v4/modules/core/exported"
+ solomachinetypes "github.com/cosmos/ibc-go/v4/modules/light-clients/06-solomachine/types"
+ ibctmtypes "github.com/cosmos/ibc-go/v4/modules/light-clients/07-tendermint/types"
+ ibctesting "github.com/cosmos/ibc-go/v4/testing"
)
type TypesTestSuite struct {
diff --git a/modules/core/02-client/types/params.go b/modules/core/02-client/types/params.go
index 884fec2e5f4..ce4af7d0369 100644
--- a/modules/core/02-client/types/params.go
+++ b/modules/core/02-client/types/params.go
@@ -6,7 +6,7 @@ import (
paramtypes "github.com/cosmos/cosmos-sdk/x/params/types"
- "github.com/cosmos/ibc-go/v3/modules/core/exported"
+ "github.com/cosmos/ibc-go/v4/modules/core/exported"
)
var (
diff --git a/modules/core/02-client/types/params_test.go b/modules/core/02-client/types/params_test.go
index 87fed77622e..bcff83f1f46 100644
--- a/modules/core/02-client/types/params_test.go
+++ b/modules/core/02-client/types/params_test.go
@@ -5,7 +5,7 @@ import (
"github.com/stretchr/testify/require"
- "github.com/cosmos/ibc-go/v3/modules/core/exported"
+ "github.com/cosmos/ibc-go/v4/modules/core/exported"
)
func TestValidateParams(t *testing.T) {
diff --git a/modules/core/02-client/types/proposal.go b/modules/core/02-client/types/proposal.go
index 75c9778e8c9..3040122a35f 100644
--- a/modules/core/02-client/types/proposal.go
+++ b/modules/core/02-client/types/proposal.go
@@ -8,7 +8,7 @@ import (
govtypes "github.com/cosmos/cosmos-sdk/x/gov/types"
upgradetypes "github.com/cosmos/cosmos-sdk/x/upgrade/types"
- "github.com/cosmos/ibc-go/v3/modules/core/exported"
+ "github.com/cosmos/ibc-go/v4/modules/core/exported"
)
const (
diff --git a/modules/core/02-client/types/proposal_test.go b/modules/core/02-client/types/proposal_test.go
index d1a6f52cf71..c722cc3c886 100644
--- a/modules/core/02-client/types/proposal_test.go
+++ b/modules/core/02-client/types/proposal_test.go
@@ -8,9 +8,9 @@ import (
govtypes "github.com/cosmos/cosmos-sdk/x/gov/types"
upgradetypes "github.com/cosmos/cosmos-sdk/x/upgrade/types"
- "github.com/cosmos/ibc-go/v3/modules/core/02-client/types"
- ibctmtypes "github.com/cosmos/ibc-go/v3/modules/light-clients/07-tendermint/types"
- ibctesting "github.com/cosmos/ibc-go/v3/testing"
+ "github.com/cosmos/ibc-go/v4/modules/core/02-client/types"
+ ibctmtypes "github.com/cosmos/ibc-go/v4/modules/light-clients/07-tendermint/types"
+ ibctesting "github.com/cosmos/ibc-go/v4/testing"
)
func (suite *TypesTestSuite) TestValidateBasic() {
diff --git a/modules/core/02-client/types/query.go b/modules/core/02-client/types/query.go
index ac9519b9298..81e80dc8793 100644
--- a/modules/core/02-client/types/query.go
+++ b/modules/core/02-client/types/query.go
@@ -3,7 +3,7 @@ package types
import (
codectypes "github.com/cosmos/cosmos-sdk/codec/types"
- "github.com/cosmos/ibc-go/v3/modules/core/exported"
+ "github.com/cosmos/ibc-go/v4/modules/core/exported"
)
var (
diff --git a/modules/core/02-client/types/query.pb.go b/modules/core/02-client/types/query.pb.go
index bcb5ccd498e..9b733d70b51 100644
--- a/modules/core/02-client/types/query.pb.go
+++ b/modules/core/02-client/types/query.pb.go
@@ -984,73 +984,73 @@ func init() {
func init() { proto.RegisterFile("ibc/core/client/v1/query.proto", fileDescriptor_dc42cdfd1d52d76e) }
var fileDescriptor_dc42cdfd1d52d76e = []byte{
- // 1055 bytes of a gzipped FileDescriptorProto
+ // 1056 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x57, 0xcd, 0x6f, 0x1b, 0x45,
0x14, 0xcf, 0xa4, 0x69, 0xd4, 0x3e, 0xbb, 0x09, 0x9a, 0xe6, 0xc3, 0xdd, 0x16, 0xc7, 0xd9, 0x20,
- 0x9a, 0x96, 0x64, 0x27, 0x71, 0x68, 0x12, 0x21, 0x21, 0x41, 0x2a, 0x95, 0xf6, 0x52, 0xca, 0x22,
- 0x04, 0x42, 0x42, 0xd1, 0xee, 0x7a, 0xb2, 0x59, 0xc9, 0xde, 0x71, 0x3d, 0xbb, 0x96, 0xa2, 0x2a,
- 0x97, 0x9e, 0x10, 0x27, 0x24, 0x24, 0xae, 0x48, 0x1c, 0x39, 0x54, 0x1c, 0x90, 0xb8, 0x72, 0x82,
- 0x1c, 0x38, 0x54, 0x82, 0x03, 0x27, 0x8a, 0x12, 0xfe, 0x10, 0xe4, 0x99, 0x59, 0x7b, 0xd7, 0x1e,
- 0xd7, 0x6b, 0x14, 0xb8, 0xed, 0xbe, 0xcf, 0xdf, 0xfb, 0xbd, 0xe7, 0xf7, 0xd6, 0x50, 0x0e, 0x5c,
- 0x8f, 0x78, 0xac, 0x45, 0x89, 0x57, 0x0f, 0x68, 0x18, 0x91, 0xf6, 0x26, 0x79, 0x1c, 0xd3, 0xd6,
- 0x91, 0xd5, 0x6c, 0xb1, 0x88, 0x61, 0x1c, 0xb8, 0x9e, 0xd5, 0xd1, 0x5b, 0x52, 0x6f, 0xb5, 0x37,
- 0x8d, 0xdb, 0x1e, 0xe3, 0x0d, 0xc6, 0x89, 0xeb, 0x70, 0x2a, 0x8d, 0x49, 0x7b, 0xd3, 0xa5, 0x91,
- 0xb3, 0x49, 0x9a, 0x8e, 0x1f, 0x84, 0x4e, 0x14, 0xb0, 0x50, 0xfa, 0x1b, 0x4b, 0x9a, 0xf8, 0x2a,
- 0x92, 0x34, 0xb8, 0xe6, 0x33, 0xe6, 0xd7, 0x29, 0x11, 0x6f, 0x6e, 0x7c, 0x40, 0x9c, 0x50, 0xe5,
- 0x36, 0x6e, 0x28, 0x95, 0xd3, 0x0c, 0x88, 0x13, 0x86, 0x2c, 0x12, 0x81, 0xb9, 0xd2, 0xce, 0xf9,
- 0xcc, 0x67, 0xe2, 0x91, 0x74, 0x9e, 0xa4, 0xd4, 0xdc, 0x86, 0xc5, 0x0f, 0x3a, 0x88, 0xee, 0x8a,
- 0x1c, 0x1f, 0x46, 0x4e, 0x44, 0x6d, 0xfa, 0x38, 0xa6, 0x3c, 0xc2, 0xd7, 0xe1, 0xb2, 0xcc, 0xbc,
- 0x1f, 0xd4, 0x4a, 0xa8, 0x82, 0x56, 0x2f, 0xdb, 0x97, 0xa4, 0xe0, 0x41, 0xcd, 0x7c, 0x86, 0xa0,
- 0x34, 0xe8, 0xc8, 0x9b, 0x2c, 0xe4, 0x14, 0xef, 0x40, 0x51, 0x79, 0xf2, 0x8e, 0x5c, 0x38, 0x17,
- 0xaa, 0x73, 0x96, 0xc4, 0x67, 0x25, 0xd0, 0xad, 0x77, 0xc3, 0x23, 0xbb, 0xe0, 0xf5, 0x02, 0xe0,
- 0x39, 0xb8, 0xd8, 0x6c, 0x31, 0x76, 0x50, 0x9a, 0xac, 0xa0, 0xd5, 0xa2, 0x2d, 0x5f, 0xf0, 0x5d,
- 0x28, 0x8a, 0x87, 0xfd, 0x43, 0x1a, 0xf8, 0x87, 0x51, 0xe9, 0x82, 0x08, 0x67, 0x58, 0x83, 0x54,
- 0x5b, 0xf7, 0x85, 0xc5, 0xde, 0xd4, 0xc9, 0x9f, 0x4b, 0x13, 0x76, 0x41, 0x78, 0x49, 0x91, 0xe9,
- 0x0e, 0xe2, 0xe5, 0x49, 0xa5, 0xf7, 0x00, 0x7a, 0x8d, 0x50, 0x68, 0x5f, 0xb7, 0x64, 0xd7, 0xac,
- 0x4e, 0xd7, 0x2c, 0xd9, 0x62, 0xd5, 0x35, 0xeb, 0x91, 0xe3, 0x27, 0x2c, 0xd9, 0x29, 0x4f, 0xf3,
- 0x77, 0x04, 0xd7, 0x34, 0x49, 0x14, 0x2b, 0x21, 0x5c, 0x49, 0xb3, 0xc2, 0x4b, 0xa8, 0x72, 0x61,
- 0xb5, 0x50, 0xbd, 0xa5, 0xab, 0xe3, 0x41, 0x8d, 0x86, 0x51, 0x70, 0x10, 0xd0, 0x5a, 0x2a, 0xd4,
- 0x5e, 0xb9, 0x53, 0xd6, 0x77, 0x2f, 0x96, 0x16, 0xb4, 0x6a, 0x6e, 0x17, 0x53, 0x5c, 0x72, 0xfc,
- 0x5e, 0xa6, 0xaa, 0x49, 0x51, 0xd5, 0xcd, 0x91, 0x55, 0x49, 0xb0, 0x99, 0xb2, 0xbe, 0x47, 0x60,
- 0xc8, 0xb2, 0x3a, 0xaa, 0x90, 0xc7, 0x3c, 0xf7, 0x9c, 0xe0, 0x9b, 0x30, 0xdb, 0xa2, 0xed, 0x80,
- 0x07, 0x2c, 0xdc, 0x0f, 0xe3, 0x86, 0x4b, 0x5b, 0x02, 0xc9, 0x94, 0x3d, 0x93, 0x88, 0x1f, 0x0a,
- 0x69, 0xc6, 0x30, 0xd5, 0xe7, 0x94, 0xa1, 0x6c, 0x24, 0x5e, 0x81, 0x2b, 0xf5, 0x4e, 0x7d, 0x51,
- 0x62, 0x36, 0x55, 0x41, 0xab, 0x97, 0xec, 0xa2, 0x14, 0xaa, 0x6e, 0xff, 0x88, 0xe0, 0xba, 0x16,
- 0xb2, 0xea, 0xc5, 0xdb, 0x30, 0xeb, 0x25, 0x9a, 0x1c, 0x43, 0x3a, 0xe3, 0x65, 0xc2, 0xfc, 0x97,
- 0x73, 0xfa, 0x54, 0x8f, 0x9c, 0xe7, 0x62, 0xfb, 0x9e, 0xa6, 0xe5, 0xff, 0x66, 0x90, 0x7f, 0x46,
- 0x70, 0x43, 0x0f, 0x42, 0xf1, 0xf7, 0x19, 0xbc, 0xd2, 0xc7, 0x5f, 0x32, 0xce, 0x6b, 0xba, 0x72,
- 0xb3, 0x61, 0x3e, 0x0e, 0xa2, 0xc3, 0x0c, 0x01, 0xb3, 0x59, 0x7a, 0xcf, 0x71, 0x74, 0x3f, 0x47,
- 0xb0, 0xac, 0x29, 0x44, 0x66, 0xff, 0x7f, 0x39, 0xfd, 0x05, 0x81, 0xf9, 0x32, 0x28, 0x8a, 0xd9,
- 0x4f, 0x60, 0xb1, 0x8f, 0x59, 0x35, 0x4e, 0x09, 0xc1, 0xa3, 0xe7, 0x69, 0xde, 0xd3, 0x65, 0x38,
- 0x3f, 0x52, 0x77, 0x06, 0x56, 0x69, 0x9c, 0x8b, 0x4a, 0x73, 0x6b, 0x60, 0x3d, 0xc6, 0xbd, 0xc2,
- 0x17, 0x60, 0x9a, 0x0b, 0x89, 0x72, 0x53, 0x6f, 0xa6, 0x91, 0xc9, 0xf6, 0xc8, 0x69, 0x39, 0x8d,
- 0x24, 0x9b, 0xf9, 0x7e, 0x26, 0x60, 0xa2, 0x53, 0x01, 0xab, 0x30, 0xdd, 0x14, 0x12, 0xf5, 0xd3,
- 0xd6, 0x12, 0xa7, 0x7c, 0x94, 0xa5, 0xb9, 0x0c, 0x4b, 0x22, 0xe0, 0x47, 0x4d, 0xbf, 0xe5, 0xd4,
- 0x32, 0xeb, 0x35, 0xc9, 0x59, 0x87, 0xca, 0x70, 0x13, 0x95, 0xfa, 0x3e, 0xcc, 0xc7, 0x4a, 0xbd,
- 0x9f, 0xfb, 0x12, 0x5e, 0x8d, 0x07, 0x23, 0x9a, 0xaf, 0xa9, 0xa1, 0xe9, 0x66, 0xd3, 0xad, 0x60,
- 0x33, 0x86, 0x95, 0x97, 0x5a, 0x29, 0x58, 0x0f, 0xa1, 0xd4, 0x83, 0x35, 0xc6, 0xfa, 0x5b, 0x88,
- 0xb5, 0x71, 0xab, 0xbf, 0x16, 0xe1, 0xa2, 0xc8, 0x8b, 0xbf, 0x41, 0x50, 0x48, 0xc1, 0xc6, 0x6f,
- 0xe8, 0xb8, 0x1e, 0xf2, 0xa1, 0x61, 0xac, 0xe5, 0x33, 0x96, 0x45, 0x98, 0x77, 0x9e, 0xfe, 0xf6,
- 0xf7, 0x57, 0x93, 0x04, 0xaf, 0x93, 0xa1, 0x9f, 0x4a, 0x6a, 0x23, 0x91, 0x27, 0xdd, 0x51, 0x3c,
- 0xc6, 0x5f, 0x23, 0x28, 0xa6, 0x8f, 0x25, 0xce, 0x95, 0x35, 0x99, 0x34, 0x63, 0x3d, 0xa7, 0xb5,
- 0x02, 0x79, 0x4b, 0x80, 0x5c, 0xc1, 0xcb, 0x23, 0x41, 0xe2, 0x17, 0x08, 0x66, 0xb2, 0xbc, 0x62,
- 0x6b, 0x78, 0x32, 0x5d, 0xfb, 0x0d, 0x92, 0xdb, 0x5e, 0xc1, 0xab, 0x0b, 0x78, 0x07, 0xb8, 0xa6,
- 0x85, 0xd7, 0xb7, 0xd8, 0xd3, 0x34, 0x92, 0xe4, 0x18, 0x93, 0x27, 0x7d, 0x67, 0xfd, 0x98, 0xc8,
- 0x35, 0x95, 0x52, 0x48, 0xc1, 0x31, 0x7e, 0x86, 0x60, 0xb6, 0xef, 0x90, 0xe0, 0xbc, 0x90, 0xbb,
- 0x0d, 0xd8, 0xc8, 0xef, 0xa0, 0x8a, 0xdc, 0x15, 0x45, 0x56, 0xf1, 0xc6, 0xb8, 0x45, 0xe2, 0x13,
- 0x04, 0xf3, 0xda, 0x2d, 0x8d, 0xef, 0xe4, 0x44, 0x91, 0x3d, 0x30, 0xc6, 0xf6, 0xb8, 0x6e, 0xaa,
- 0x84, 0x77, 0x44, 0x09, 0x6f, 0xe1, 0xdd, 0xb1, 0xfb, 0xa4, 0x6e, 0x06, 0xfe, 0x36, 0x33, 0xf6,
- 0x71, 0xbe, 0xb1, 0x8f, 0xc7, 0x1a, 0xfb, 0xde, 0x0e, 0xcf, 0xfd, 0xdb, 0x8c, 0xb3, 0x7c, 0x7f,
- 0xd1, 0x05, 0x29, 0xd7, 0xf1, 0x48, 0x90, 0x99, 0x2b, 0x30, 0x12, 0x64, 0xf6, 0x2e, 0x98, 0xaf,
- 0x0a, 0x90, 0x8b, 0x78, 0x5e, 0x82, 0xec, 0xe2, 0x93, 0x27, 0x00, 0xff, 0x80, 0xe0, 0xaa, 0x66,
- 0xb7, 0xe3, 0xad, 0xa1, 0x59, 0x86, 0x1f, 0x0b, 0xe3, 0xcd, 0xf1, 0x9c, 0x14, 0xc2, 0xaa, 0x40,
- 0xb8, 0x86, 0x6f, 0xeb, 0x68, 0xd4, 0x1e, 0x16, 0x8e, 0x7f, 0x42, 0xb0, 0xa0, 0x5f, 0xff, 0x78,
- 0x7b, 0x34, 0x08, 0xed, 0x5a, 0xd9, 0x19, 0xdb, 0x2f, 0xcf, 0x18, 0x0c, 0xbb, 0x40, 0x7c, 0xcf,
- 0x3e, 0x39, 0x2d, 0xa3, 0xe7, 0xa7, 0x65, 0xf4, 0xd7, 0x69, 0x19, 0x7d, 0x79, 0x56, 0x9e, 0x78,
- 0x7e, 0x56, 0x9e, 0xf8, 0xe3, 0xac, 0x3c, 0xf1, 0xe9, 0xae, 0x1f, 0x44, 0x87, 0xb1, 0x6b, 0x79,
- 0xac, 0x41, 0xd4, 0x9f, 0xe9, 0xc0, 0xf5, 0xd6, 0x7d, 0x46, 0xda, 0x5b, 0xa4, 0xc1, 0x6a, 0x71,
- 0x9d, 0x72, 0x99, 0x67, 0xa3, 0xba, 0xae, 0x52, 0x45, 0x47, 0x4d, 0xca, 0xdd, 0x69, 0x71, 0xc8,
- 0xb6, 0xfe, 0x09, 0x00, 0x00, 0xff, 0xff, 0x42, 0x17, 0xfc, 0x54, 0xb8, 0x0f, 0x00, 0x00,
+ 0x9a, 0x96, 0x64, 0x27, 0x71, 0xda, 0x24, 0x42, 0x42, 0x82, 0x54, 0x2a, 0xed, 0xa5, 0x94, 0x45,
+ 0x08, 0x84, 0x84, 0xa2, 0xdd, 0xf5, 0x64, 0xb3, 0x92, 0xbd, 0xe3, 0x7a, 0x76, 0x2d, 0x45, 0x55,
+ 0x2e, 0x3d, 0x21, 0x4e, 0x48, 0x48, 0x5c, 0x91, 0x38, 0x72, 0xa8, 0x38, 0x20, 0x71, 0xe5, 0x04,
+ 0x39, 0x70, 0xa8, 0x04, 0x07, 0x4e, 0x14, 0x25, 0xfc, 0x21, 0xc8, 0x33, 0xb3, 0xf6, 0xae, 0x3d,
+ 0xae, 0xd7, 0xa8, 0xf4, 0xb6, 0xfb, 0x3e, 0x7f, 0xef, 0xf7, 0x9e, 0xdf, 0x5b, 0x43, 0x39, 0x70,
+ 0x3d, 0xe2, 0xb1, 0x16, 0x25, 0x5e, 0x3d, 0xa0, 0x61, 0x44, 0xda, 0x9b, 0xe4, 0x51, 0x4c, 0x5b,
+ 0x47, 0x56, 0xb3, 0xc5, 0x22, 0x86, 0x71, 0xe0, 0x7a, 0x56, 0x47, 0x6f, 0x49, 0xbd, 0xd5, 0xde,
+ 0x34, 0x6e, 0x7a, 0x8c, 0x37, 0x18, 0x27, 0xae, 0xc3, 0xa9, 0x34, 0x26, 0xed, 0x4d, 0x97, 0x46,
+ 0xce, 0x26, 0x69, 0x3a, 0x7e, 0x10, 0x3a, 0x51, 0xc0, 0x42, 0xe9, 0x6f, 0x2c, 0x69, 0xe2, 0xab,
+ 0x48, 0xd2, 0xe0, 0x8a, 0xcf, 0x98, 0x5f, 0xa7, 0x44, 0xbc, 0xb9, 0xf1, 0x01, 0x71, 0x42, 0x95,
+ 0xdb, 0xb8, 0xa6, 0x54, 0x4e, 0x33, 0x20, 0x4e, 0x18, 0xb2, 0x48, 0x04, 0xe6, 0x4a, 0x3b, 0xe7,
+ 0x33, 0x9f, 0x89, 0x47, 0xd2, 0x79, 0x92, 0x52, 0x73, 0x1b, 0x16, 0x3f, 0xec, 0x20, 0xba, 0x23,
+ 0x72, 0x7c, 0x14, 0x39, 0x11, 0xb5, 0xe9, 0xa3, 0x98, 0xf2, 0x08, 0x5f, 0x85, 0x8b, 0x32, 0xf3,
+ 0x7e, 0x50, 0x2b, 0xa1, 0x0a, 0x5a, 0xbd, 0x68, 0x5f, 0x90, 0x82, 0xfb, 0x35, 0xf3, 0x29, 0x82,
+ 0xd2, 0xa0, 0x23, 0x6f, 0xb2, 0x90, 0x53, 0xbc, 0x03, 0x45, 0xe5, 0xc9, 0x3b, 0x72, 0xe1, 0x5c,
+ 0xa8, 0xce, 0x59, 0x12, 0x9f, 0x95, 0x40, 0xb7, 0xde, 0x0b, 0x8f, 0xec, 0x82, 0xd7, 0x0b, 0x80,
+ 0xe7, 0xe0, 0x7c, 0xb3, 0xc5, 0xd8, 0x41, 0x69, 0xb2, 0x82, 0x56, 0x8b, 0xb6, 0x7c, 0xc1, 0x77,
+ 0xa0, 0x28, 0x1e, 0xf6, 0x0f, 0x69, 0xe0, 0x1f, 0x46, 0xa5, 0x73, 0x22, 0x9c, 0x61, 0x0d, 0x52,
+ 0x6d, 0xdd, 0x13, 0x16, 0x7b, 0x53, 0x27, 0x7f, 0x2d, 0x4d, 0xd8, 0x05, 0xe1, 0x25, 0x45, 0xa6,
+ 0x3b, 0x88, 0x97, 0x27, 0x95, 0xde, 0x05, 0xe8, 0x35, 0x42, 0xa1, 0x7d, 0xd3, 0x92, 0x5d, 0xb3,
+ 0x3a, 0x5d, 0xb3, 0x64, 0x8b, 0x55, 0xd7, 0xac, 0x87, 0x8e, 0x9f, 0xb0, 0x64, 0xa7, 0x3c, 0xcd,
+ 0x3f, 0x10, 0x5c, 0xd1, 0x24, 0x51, 0xac, 0x84, 0x70, 0x29, 0xcd, 0x0a, 0x2f, 0xa1, 0xca, 0xb9,
+ 0xd5, 0x42, 0xf5, 0x86, 0xae, 0x8e, 0xfb, 0x35, 0x1a, 0x46, 0xc1, 0x41, 0x40, 0x6b, 0xa9, 0x50,
+ 0x7b, 0xe5, 0x4e, 0x59, 0xdf, 0x3f, 0x5f, 0x5a, 0xd0, 0xaa, 0xb9, 0x5d, 0x4c, 0x71, 0xc9, 0xf1,
+ 0xfb, 0x99, 0xaa, 0x26, 0x45, 0x55, 0xd7, 0x47, 0x56, 0x25, 0xc1, 0x66, 0xca, 0xfa, 0x01, 0x81,
+ 0x21, 0xcb, 0xea, 0xa8, 0x42, 0x1e, 0xf3, 0xdc, 0x73, 0x82, 0xaf, 0xc3, 0x6c, 0x8b, 0xb6, 0x03,
+ 0x1e, 0xb0, 0x70, 0x3f, 0x8c, 0x1b, 0x2e, 0x6d, 0x09, 0x24, 0x53, 0xf6, 0x4c, 0x22, 0x7e, 0x20,
+ 0xa4, 0x19, 0xc3, 0x54, 0x9f, 0x53, 0x86, 0xb2, 0x91, 0x78, 0x05, 0x2e, 0xd5, 0x3b, 0xf5, 0x45,
+ 0x89, 0xd9, 0x54, 0x05, 0xad, 0x5e, 0xb0, 0x8b, 0x52, 0xa8, 0xba, 0xfd, 0x13, 0x82, 0xab, 0x5a,
+ 0xc8, 0xaa, 0x17, 0xef, 0xc0, 0xac, 0x97, 0x68, 0x72, 0x0c, 0xe9, 0x8c, 0x97, 0x09, 0xf3, 0x7f,
+ 0xce, 0xe9, 0x13, 0x3d, 0x72, 0x9e, 0x8b, 0xed, 0xbb, 0x9a, 0x96, 0xff, 0x97, 0x41, 0xfe, 0x05,
+ 0xc1, 0x35, 0x3d, 0x08, 0xc5, 0xdf, 0xe7, 0xf0, 0x5a, 0x1f, 0x7f, 0xc9, 0x38, 0xaf, 0xe9, 0xca,
+ 0xcd, 0x86, 0xf9, 0x24, 0x88, 0x0e, 0x33, 0x04, 0xcc, 0x66, 0xe9, 0x7d, 0x89, 0xa3, 0xfb, 0x05,
+ 0x82, 0x65, 0x4d, 0x21, 0x32, 0xfb, 0xab, 0xe5, 0xf4, 0x57, 0x04, 0xe6, 0x8b, 0xa0, 0x28, 0x66,
+ 0x3f, 0x85, 0xc5, 0x3e, 0x66, 0xd5, 0x38, 0x25, 0x04, 0x8f, 0x9e, 0xa7, 0x79, 0x4f, 0x97, 0xe1,
+ 0xe5, 0x91, 0xba, 0x33, 0xb0, 0x4a, 0xe3, 0x5c, 0x54, 0x9a, 0x5b, 0x03, 0xeb, 0x31, 0xee, 0x15,
+ 0xbe, 0x00, 0xd3, 0x5c, 0x48, 0x94, 0x9b, 0x7a, 0x33, 0x8d, 0x4c, 0xb6, 0x87, 0x4e, 0xcb, 0x69,
+ 0x24, 0xd9, 0xcc, 0x0f, 0x32, 0x01, 0x13, 0x9d, 0x0a, 0x58, 0x85, 0xe9, 0xa6, 0x90, 0xa8, 0x9f,
+ 0xb6, 0x96, 0x38, 0xe5, 0xa3, 0x2c, 0xcd, 0x65, 0x58, 0x12, 0x01, 0x3f, 0x6e, 0xfa, 0x2d, 0xa7,
+ 0x96, 0x59, 0xaf, 0x49, 0xce, 0x3a, 0x54, 0x86, 0x9b, 0xa8, 0xd4, 0xf7, 0x60, 0x3e, 0x56, 0xea,
+ 0xfd, 0xdc, 0x97, 0xf0, 0x72, 0x3c, 0x18, 0xd1, 0x7c, 0x43, 0x0d, 0x4d, 0x37, 0x9b, 0x6e, 0x05,
+ 0x9b, 0x31, 0xac, 0xbc, 0xd0, 0x4a, 0xc1, 0x7a, 0x00, 0xa5, 0x1e, 0xac, 0x31, 0xd6, 0xdf, 0x42,
+ 0xac, 0x8d, 0x5b, 0xfd, 0xad, 0x08, 0xe7, 0x45, 0x5e, 0xfc, 0x2d, 0x82, 0x42, 0x0a, 0x36, 0x7e,
+ 0x4b, 0xc7, 0xf5, 0x90, 0x0f, 0x0d, 0x63, 0x2d, 0x9f, 0xb1, 0x2c, 0xc2, 0xbc, 0xfd, 0xe4, 0xf7,
+ 0x7f, 0xbe, 0x9e, 0x24, 0x78, 0x9d, 0x0c, 0xfd, 0x54, 0x52, 0x1b, 0x89, 0x3c, 0xee, 0x8e, 0xe2,
+ 0x31, 0xfe, 0x06, 0x41, 0x31, 0x7d, 0x2c, 0x71, 0xae, 0xac, 0xc9, 0xa4, 0x19, 0xeb, 0x39, 0xad,
+ 0x15, 0xc8, 0x1b, 0x02, 0xe4, 0x0a, 0x5e, 0x1e, 0x09, 0x12, 0x3f, 0x47, 0x30, 0x93, 0xe5, 0x15,
+ 0x5b, 0xc3, 0x93, 0xe9, 0xda, 0x6f, 0x90, 0xdc, 0xf6, 0x0a, 0x5e, 0x5d, 0xc0, 0x3b, 0xc0, 0x35,
+ 0x2d, 0xbc, 0xbe, 0xc5, 0x9e, 0xa6, 0x91, 0x24, 0xc7, 0x98, 0x3c, 0xee, 0x3b, 0xeb, 0xc7, 0x44,
+ 0xae, 0xa9, 0x94, 0x42, 0x0a, 0x8e, 0xf1, 0x53, 0x04, 0xb3, 0x7d, 0x87, 0x04, 0xe7, 0x85, 0xdc,
+ 0x6d, 0xc0, 0x46, 0x7e, 0x07, 0x55, 0xe4, 0xae, 0x28, 0xb2, 0x8a, 0x37, 0xc6, 0x2d, 0x12, 0x9f,
+ 0x20, 0x98, 0xd7, 0x6e, 0x69, 0x7c, 0x3b, 0x27, 0x8a, 0xec, 0x81, 0x31, 0xb6, 0xc7, 0x75, 0x53,
+ 0x25, 0xbc, 0x2b, 0x4a, 0x78, 0x1b, 0xef, 0x8e, 0xdd, 0x27, 0x75, 0x33, 0xf0, 0x77, 0x99, 0xb1,
+ 0x8f, 0xf3, 0x8d, 0x7d, 0x3c, 0xd6, 0xd8, 0xf7, 0x76, 0x78, 0xee, 0xdf, 0x66, 0x9c, 0xe5, 0xfb,
+ 0xcb, 0x2e, 0x48, 0xb9, 0x8e, 0x47, 0x82, 0xcc, 0x5c, 0x81, 0x91, 0x20, 0xb3, 0x77, 0xc1, 0x7c,
+ 0x5d, 0x80, 0x5c, 0xc4, 0xf3, 0x12, 0x64, 0x17, 0x9f, 0x3c, 0x01, 0xf8, 0x47, 0x04, 0x97, 0x35,
+ 0xbb, 0x1d, 0x6f, 0x0d, 0xcd, 0x32, 0xfc, 0x58, 0x18, 0xb7, 0xc6, 0x73, 0x52, 0x08, 0xab, 0x02,
+ 0xe1, 0x1a, 0xbe, 0xa9, 0xa3, 0x51, 0x7b, 0x58, 0x38, 0xfe, 0x19, 0xc1, 0x82, 0x7e, 0xfd, 0xe3,
+ 0xed, 0xd1, 0x20, 0xb4, 0x6b, 0x65, 0x67, 0x6c, 0xbf, 0x3c, 0x63, 0x30, 0xec, 0x02, 0xf1, 0x3d,
+ 0xfb, 0xe4, 0xb4, 0x8c, 0x9e, 0x9d, 0x96, 0xd1, 0xdf, 0xa7, 0x65, 0xf4, 0xd5, 0x59, 0x79, 0xe2,
+ 0xd9, 0x59, 0x79, 0xe2, 0xcf, 0xb3, 0xf2, 0xc4, 0x67, 0xbb, 0x7e, 0x10, 0x1d, 0xc6, 0xae, 0xe5,
+ 0xb1, 0x06, 0x51, 0x7f, 0xa6, 0x03, 0xd7, 0x5b, 0xf7, 0x19, 0x69, 0xdf, 0x22, 0x0d, 0x56, 0x8b,
+ 0xeb, 0x94, 0xcb, 0x3c, 0x1b, 0xd5, 0x75, 0x95, 0x2a, 0x3a, 0x6a, 0x52, 0xee, 0x4e, 0x8b, 0x43,
+ 0xb6, 0xf5, 0x6f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x6e, 0xea, 0xa4, 0x42, 0xb8, 0x0f, 0x00, 0x00,
}
// Reference imports to suppress errors if they are not otherwise used.
diff --git a/modules/core/02-client/types/tx.pb.go b/modules/core/02-client/types/tx.pb.go
index a9eec55a353..1ed94c0c49b 100644
--- a/modules/core/02-client/types/tx.pb.go
+++ b/modules/core/02-client/types/tx.pb.go
@@ -375,45 +375,45 @@ func init() {
func init() { proto.RegisterFile("ibc/core/client/v1/tx.proto", fileDescriptor_cb5dc4651eb49a04) }
var fileDescriptor_cb5dc4651eb49a04 = []byte{
- // 601 bytes of a gzipped FileDescriptorProto
+ // 602 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x55, 0x3f, 0x6f, 0xd3, 0x4e,
0x18, 0x8e, 0x9b, 0xdf, 0x2f, 0x6a, 0xae, 0x81, 0x56, 0x26, 0xb4, 0xa9, 0xab, 0xda, 0x91, 0xe9,
- 0x10, 0x44, 0x7b, 0x47, 0xd2, 0xa5, 0xea, 0x46, 0x3a, 0x31, 0x44, 0x02, 0x57, 0x0c, 0xb0, 0x04,
- 0xff, 0xb9, 0x5e, 0x4e, 0xc4, 0xbe, 0xc8, 0x67, 0x47, 0xe4, 0x1b, 0x30, 0x32, 0xf0, 0x01, 0x2a,
- 0x06, 0x3e, 0x0b, 0x63, 0x07, 0x06, 0xa6, 0xa8, 0x4a, 0x16, 0xe6, 0x7c, 0x02, 0x14, 0x9f, 0x13,
- 0x62, 0x37, 0x8e, 0x22, 0xfe, 0x6c, 0x3e, 0xbf, 0xcf, 0x3d, 0xcf, 0xfb, 0xf8, 0x79, 0xcf, 0x07,
- 0x0e, 0xa8, 0x65, 0x23, 0x9b, 0xf9, 0x18, 0xd9, 0x5d, 0x8a, 0xbd, 0x00, 0xf5, 0xeb, 0x28, 0x78,
- 0x0f, 0x7b, 0x3e, 0x0b, 0x98, 0x2c, 0x53, 0xcb, 0x86, 0xd3, 0x22, 0x14, 0x45, 0xd8, 0xaf, 0x2b,
- 0x65, 0xc2, 0x08, 0x8b, 0xca, 0x68, 0xfa, 0x24, 0x90, 0xca, 0x3e, 0x61, 0x8c, 0x74, 0x31, 0x8a,
- 0x56, 0x56, 0x78, 0x85, 0x4c, 0x6f, 0x20, 0x4a, 0xfa, 0xad, 0x04, 0xb6, 0x5b, 0x9c, 0x5c, 0xf8,
- 0xd8, 0x0c, 0xf0, 0x45, 0xc4, 0x23, 0xbf, 0x00, 0x25, 0xc1, 0xd8, 0xe6, 0x81, 0x19, 0xe0, 0x8a,
- 0x54, 0x95, 0x6a, 0x5b, 0x8d, 0x32, 0x14, 0x2c, 0x70, 0xc6, 0x02, 0x9f, 0x79, 0x83, 0xe6, 0xde,
- 0x64, 0xa8, 0x3d, 0x18, 0x98, 0x6e, 0xf7, 0x5c, 0x5f, 0xdc, 0xa3, 0x1b, 0x5b, 0x62, 0x79, 0x39,
- 0x5d, 0xc9, 0xaf, 0xc1, 0xb6, 0xcd, 0x3c, 0x8e, 0x3d, 0x1e, 0xf2, 0x98, 0x74, 0x63, 0x05, 0xa9,
- 0x32, 0x19, 0x6a, 0xbb, 0x31, 0x69, 0x72, 0x9b, 0x6e, 0xdc, 0x9f, 0xbf, 0x11, 0xd4, 0xbb, 0xa0,
- 0xc0, 0x29, 0xf1, 0xb0, 0x5f, 0xc9, 0x57, 0xa5, 0x5a, 0xd1, 0x88, 0x57, 0xe7, 0x9b, 0x1f, 0xae,
- 0xb5, 0xdc, 0x8f, 0x6b, 0x2d, 0xa7, 0xef, 0x83, 0xbd, 0x94, 0x43, 0x03, 0xf3, 0xde, 0x94, 0x45,
- 0xff, 0x24, 0xdc, 0xbf, 0xea, 0x39, 0xbf, 0xdc, 0xd7, 0x41, 0x31, 0x76, 0x42, 0x9d, 0xc8, 0x7a,
- 0xb1, 0x59, 0x9e, 0x0c, 0xb5, 0x9d, 0x84, 0x49, 0xea, 0xe8, 0xc6, 0xa6, 0x78, 0x7e, 0xee, 0xc8,
- 0xc7, 0xa0, 0xd0, 0xc1, 0xa6, 0x83, 0xfd, 0x55, 0xae, 0x8c, 0x18, 0xb3, 0x76, 0xc7, 0x8b, 0x5d,
- 0xcd, 0x3b, 0xfe, 0x96, 0x07, 0x3b, 0x51, 0x8d, 0xf8, 0xa6, 0xf3, 0x07, 0x2d, 0xa7, 0x33, 0xde,
- 0xf8, 0x17, 0x19, 0xe7, 0xff, 0x52, 0xc6, 0x2f, 0x41, 0xb9, 0xe7, 0x33, 0x76, 0xd5, 0x0e, 0x85,
- 0xed, 0xb6, 0xd0, 0xad, 0xfc, 0x57, 0x95, 0x6a, 0xa5, 0xa6, 0x36, 0x19, 0x6a, 0x07, 0x82, 0x69,
- 0x19, 0x4a, 0x37, 0xe4, 0xe8, 0x75, 0xf2, 0x93, 0xbd, 0x03, 0x87, 0x29, 0x70, 0xaa, 0xf7, 0xff,
- 0x23, 0xee, 0xda, 0x64, 0xa8, 0x1d, 0x2d, 0xe5, 0x4e, 0xf7, 0xac, 0x24, 0x44, 0xb2, 0x66, 0xb4,
- 0x90, 0x91, 0xb8, 0x02, 0x2a, 0xe9, 0x54, 0xe7, 0x91, 0x7f, 0x91, 0xc0, 0xc3, 0x16, 0x27, 0x97,
- 0xa1, 0xe5, 0xd2, 0xa0, 0x45, 0xb9, 0x85, 0x3b, 0x66, 0x9f, 0xb2, 0xd0, 0xff, 0x9d, 0xdc, 0xcf,
- 0x40, 0xc9, 0x5d, 0xa0, 0x58, 0x39, 0xb0, 0x09, 0xe4, 0x1a, 0x63, 0xab, 0x81, 0xc3, 0xa5, 0x7d,
- 0xce, 0x9c, 0x34, 0x3e, 0xe7, 0x41, 0xbe, 0xc5, 0x89, 0xfc, 0x16, 0x94, 0x12, 0x3f, 0x9c, 0x47,
- 0xf0, 0xee, 0xaf, 0x0c, 0xa6, 0xce, 0xac, 0xf2, 0x64, 0x0d, 0xd0, 0x4c, 0x69, 0xaa, 0x90, 0x38,
- 0xd4, 0x59, 0x0a, 0x8b, 0xa0, 0x4c, 0x85, 0x65, 0x07, 0x51, 0xb6, 0xc1, 0xbd, 0xe4, 0x44, 0x1d,
- 0x65, 0xee, 0x5e, 0x40, 0x29, 0xc7, 0xeb, 0xa0, 0xe6, 0x22, 0x3e, 0x90, 0x97, 0xc4, 0xfe, 0x38,
- 0x83, 0xe3, 0x2e, 0x54, 0xa9, 0xaf, 0x0d, 0x9d, 0x69, 0x36, 0x8d, 0xaf, 0x23, 0x55, 0xba, 0x19,
- 0xa9, 0xd2, 0xed, 0x48, 0x95, 0x3e, 0x8e, 0xd5, 0xdc, 0xcd, 0x58, 0xcd, 0x7d, 0x1f, 0xab, 0xb9,
- 0x37, 0x67, 0x84, 0x06, 0x9d, 0xd0, 0x82, 0x36, 0x73, 0x91, 0xcd, 0xb8, 0xcb, 0x38, 0xa2, 0x96,
- 0x7d, 0x42, 0x18, 0xea, 0x9f, 0x22, 0x97, 0x39, 0x61, 0x17, 0x73, 0x71, 0x5b, 0x3d, 0x6d, 0x9c,
- 0xc4, 0x17, 0x56, 0x30, 0xe8, 0x61, 0x6e, 0x15, 0xa2, 0xb9, 0x3a, 0xfd, 0x19, 0x00, 0x00, 0xff,
- 0xff, 0x64, 0xe7, 0xce, 0xe6, 0xd0, 0x06, 0x00, 0x00,
+ 0x10, 0x44, 0x7b, 0x47, 0x02, 0x43, 0xd5, 0x8d, 0x74, 0x62, 0x88, 0x04, 0xae, 0x18, 0x60, 0x09,
+ 0xfe, 0x73, 0xbd, 0x9c, 0x88, 0x7d, 0x91, 0xcf, 0x8e, 0xc8, 0x37, 0x60, 0x64, 0xe0, 0x03, 0x54,
+ 0x0c, 0x7c, 0x16, 0xc6, 0x0e, 0x0c, 0x4c, 0x51, 0x95, 0x2c, 0xcc, 0xf9, 0x04, 0x28, 0x3e, 0x27,
+ 0xc4, 0x6e, 0x1c, 0x45, 0xfc, 0xd9, 0x7c, 0x7e, 0x9f, 0x7b, 0x9e, 0xf7, 0xf1, 0xf3, 0x9e, 0x0f,
+ 0x1c, 0x50, 0xcb, 0x46, 0x36, 0xf3, 0x31, 0xb2, 0xbb, 0x14, 0x7b, 0x01, 0xea, 0xd7, 0x51, 0xf0,
+ 0x1e, 0xf6, 0x7c, 0x16, 0x30, 0x59, 0xa6, 0x96, 0x0d, 0xa7, 0x45, 0x28, 0x8a, 0xb0, 0x5f, 0x57,
+ 0xca, 0x84, 0x11, 0x16, 0x95, 0xd1, 0xf4, 0x49, 0x20, 0x95, 0x7d, 0xc2, 0x18, 0xe9, 0x62, 0x14,
+ 0xad, 0xac, 0xf0, 0x12, 0x99, 0xde, 0x40, 0x94, 0xf4, 0x1b, 0x09, 0x6c, 0xb7, 0x38, 0x39, 0xf7,
+ 0xb1, 0x19, 0xe0, 0xf3, 0x88, 0x47, 0x7e, 0x01, 0x4a, 0x82, 0xb1, 0xcd, 0x03, 0x33, 0xc0, 0x15,
+ 0xa9, 0x2a, 0xd5, 0xb6, 0x1a, 0x65, 0x28, 0x58, 0xe0, 0x8c, 0x05, 0x3e, 0xf3, 0x06, 0xcd, 0xbd,
+ 0xc9, 0x50, 0xbb, 0x37, 0x30, 0xdd, 0xee, 0x99, 0xbe, 0xb8, 0x47, 0x37, 0xb6, 0xc4, 0xf2, 0x62,
+ 0xba, 0x92, 0x5f, 0x83, 0x6d, 0x9b, 0x79, 0x1c, 0x7b, 0x3c, 0xe4, 0x31, 0xe9, 0xc6, 0x0a, 0x52,
+ 0x65, 0x32, 0xd4, 0x76, 0x63, 0xd2, 0xe4, 0x36, 0xdd, 0xb8, 0x3b, 0x7f, 0x23, 0xa8, 0x77, 0x41,
+ 0x81, 0x53, 0xe2, 0x61, 0xbf, 0x92, 0xaf, 0x4a, 0xb5, 0xa2, 0x11, 0xaf, 0xce, 0x36, 0x3f, 0x5c,
+ 0x69, 0xb9, 0x1f, 0x57, 0x5a, 0x4e, 0xdf, 0x07, 0x7b, 0x29, 0x87, 0x06, 0xe6, 0xbd, 0x29, 0x8b,
+ 0xfe, 0x49, 0xb8, 0x7f, 0xd5, 0x73, 0x7e, 0xb9, 0xaf, 0x83, 0x62, 0xec, 0x84, 0x3a, 0x91, 0xf5,
+ 0x62, 0xb3, 0x3c, 0x19, 0x6a, 0x3b, 0x09, 0x93, 0xd4, 0xd1, 0x8d, 0x4d, 0xf1, 0xfc, 0xdc, 0x91,
+ 0x8f, 0x41, 0xa1, 0x83, 0x4d, 0x07, 0xfb, 0xab, 0x5c, 0x19, 0x31, 0x66, 0xed, 0x8e, 0x17, 0xbb,
+ 0x9a, 0x77, 0xfc, 0x2d, 0x0f, 0x76, 0xa2, 0x1a, 0xf1, 0x4d, 0xe7, 0x0f, 0x5a, 0x4e, 0x67, 0xbc,
+ 0xf1, 0x2f, 0x32, 0xce, 0xff, 0xa5, 0x8c, 0x5f, 0x82, 0x72, 0xcf, 0x67, 0xec, 0xb2, 0x1d, 0x0a,
+ 0xdb, 0x6d, 0xa1, 0x5b, 0xf9, 0xaf, 0x2a, 0xd5, 0x4a, 0x4d, 0x6d, 0x32, 0xd4, 0x0e, 0x04, 0xd3,
+ 0x32, 0x94, 0x6e, 0xc8, 0xd1, 0xeb, 0xe4, 0x27, 0x7b, 0x07, 0x0e, 0x53, 0xe0, 0x54, 0xef, 0xff,
+ 0x47, 0xdc, 0xb5, 0xc9, 0x50, 0x3b, 0x5a, 0xca, 0x9d, 0xee, 0x59, 0x49, 0x88, 0x64, 0xcd, 0x68,
+ 0x21, 0x23, 0x71, 0x05, 0x54, 0xd2, 0xa9, 0xce, 0x23, 0xff, 0x22, 0x81, 0xfb, 0x2d, 0x4e, 0x2e,
+ 0x42, 0xcb, 0xa5, 0x41, 0x8b, 0x72, 0x0b, 0x77, 0xcc, 0x3e, 0x65, 0xa1, 0xff, 0x3b, 0xb9, 0x9f,
+ 0x82, 0x92, 0xbb, 0x40, 0xb1, 0x72, 0x60, 0x13, 0xc8, 0x35, 0xc6, 0x56, 0x03, 0x87, 0x4b, 0xfb,
+ 0x9c, 0x39, 0x69, 0x7c, 0xce, 0x83, 0x7c, 0x8b, 0x13, 0xf9, 0x2d, 0x28, 0x25, 0x7e, 0x38, 0x0f,
+ 0xe0, 0xed, 0x5f, 0x19, 0x4c, 0x9d, 0x59, 0xe5, 0xd1, 0x1a, 0xa0, 0x99, 0xd2, 0x54, 0x21, 0x71,
+ 0xa8, 0xb3, 0x14, 0x16, 0x41, 0x99, 0x0a, 0xcb, 0x0e, 0xa2, 0x6c, 0x83, 0x3b, 0xc9, 0x89, 0x3a,
+ 0xca, 0xdc, 0xbd, 0x80, 0x52, 0x8e, 0xd7, 0x41, 0xcd, 0x45, 0x7c, 0x20, 0x2f, 0x89, 0xfd, 0x61,
+ 0x06, 0xc7, 0x6d, 0xa8, 0x52, 0x5f, 0x1b, 0x3a, 0xd3, 0x6c, 0x1a, 0x5f, 0x47, 0xaa, 0x74, 0x3d,
+ 0x52, 0xa5, 0x9b, 0x91, 0x2a, 0x7d, 0x1c, 0xab, 0xb9, 0xeb, 0xb1, 0x9a, 0xfb, 0x3e, 0x56, 0x73,
+ 0x6f, 0x4e, 0x09, 0x0d, 0x3a, 0xa1, 0x05, 0x6d, 0xe6, 0x22, 0x9b, 0x71, 0x97, 0x71, 0x44, 0x2d,
+ 0xfb, 0x84, 0x30, 0xd4, 0x7f, 0x8a, 0x5c, 0xe6, 0x84, 0x5d, 0xcc, 0xc5, 0x6d, 0xf5, 0xb8, 0x71,
+ 0x12, 0x5f, 0x58, 0xc1, 0xa0, 0x87, 0xb9, 0x55, 0x88, 0xe6, 0xea, 0xc9, 0xcf, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0x48, 0x1a, 0x96, 0xf0, 0xd0, 0x06, 0x00, 0x00,
}
// Reference imports to suppress errors if they are not otherwise used.
diff --git a/modules/core/03-connection/client/cli/cli.go b/modules/core/03-connection/client/cli/cli.go
index d31649cf8ef..d4972654569 100644
--- a/modules/core/03-connection/client/cli/cli.go
+++ b/modules/core/03-connection/client/cli/cli.go
@@ -3,7 +3,7 @@ package cli
import (
"github.com/spf13/cobra"
- "github.com/cosmos/ibc-go/v3/modules/core/03-connection/types"
+ "github.com/cosmos/ibc-go/v4/modules/core/03-connection/types"
)
// GetQueryCmd returns the query commands for IBC connections
diff --git a/modules/core/03-connection/client/cli/query.go b/modules/core/03-connection/client/cli/query.go
index 6ef8fca5b1a..310e21bef82 100644
--- a/modules/core/03-connection/client/cli/query.go
+++ b/modules/core/03-connection/client/cli/query.go
@@ -8,9 +8,9 @@ import (
"github.com/cosmos/cosmos-sdk/version"
"github.com/spf13/cobra"
- "github.com/cosmos/ibc-go/v3/modules/core/03-connection/client/utils"
- "github.com/cosmos/ibc-go/v3/modules/core/03-connection/types"
- host "github.com/cosmos/ibc-go/v3/modules/core/24-host"
+ "github.com/cosmos/ibc-go/v4/modules/core/03-connection/client/utils"
+ "github.com/cosmos/ibc-go/v4/modules/core/03-connection/types"
+ host "github.com/cosmos/ibc-go/v4/modules/core/24-host"
)
// GetCmdQueryConnections defines the command to query all the connection ends
diff --git a/modules/core/03-connection/client/utils/utils.go b/modules/core/03-connection/client/utils/utils.go
index aaadcf9feae..bb1b8f7f1c5 100644
--- a/modules/core/03-connection/client/utils/utils.go
+++ b/modules/core/03-connection/client/utils/utils.go
@@ -10,13 +10,13 @@ import (
"github.com/cosmos/cosmos-sdk/codec"
sdkerrors "github.com/cosmos/cosmos-sdk/types/errors"
- clientutils "github.com/cosmos/ibc-go/v3/modules/core/02-client/client/utils"
- clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types"
- "github.com/cosmos/ibc-go/v3/modules/core/03-connection/types"
- commitmenttypes "github.com/cosmos/ibc-go/v3/modules/core/23-commitment/types"
- host "github.com/cosmos/ibc-go/v3/modules/core/24-host"
- ibcclient "github.com/cosmos/ibc-go/v3/modules/core/client"
- "github.com/cosmos/ibc-go/v3/modules/core/exported"
+ clientutils "github.com/cosmos/ibc-go/v4/modules/core/02-client/client/utils"
+ clienttypes "github.com/cosmos/ibc-go/v4/modules/core/02-client/types"
+ "github.com/cosmos/ibc-go/v4/modules/core/03-connection/types"
+ commitmenttypes "github.com/cosmos/ibc-go/v4/modules/core/23-commitment/types"
+ host "github.com/cosmos/ibc-go/v4/modules/core/24-host"
+ ibcclient "github.com/cosmos/ibc-go/v4/modules/core/client"
+ "github.com/cosmos/ibc-go/v4/modules/core/exported"
)
// QueryConnection returns a connection end.
diff --git a/modules/core/03-connection/genesis.go b/modules/core/03-connection/genesis.go
index dca212469c3..b0070d79197 100644
--- a/modules/core/03-connection/genesis.go
+++ b/modules/core/03-connection/genesis.go
@@ -3,8 +3,8 @@ package connection
import (
sdk "github.com/cosmos/cosmos-sdk/types"
- "github.com/cosmos/ibc-go/v3/modules/core/03-connection/keeper"
- "github.com/cosmos/ibc-go/v3/modules/core/03-connection/types"
+ "github.com/cosmos/ibc-go/v4/modules/core/03-connection/keeper"
+ "github.com/cosmos/ibc-go/v4/modules/core/03-connection/types"
)
// InitGenesis initializes the ibc connection submodule's state from a provided genesis
diff --git a/modules/core/03-connection/keeper/events.go b/modules/core/03-connection/keeper/events.go
index a8dcd1251a7..ac6cae539e3 100644
--- a/modules/core/03-connection/keeper/events.go
+++ b/modules/core/03-connection/keeper/events.go
@@ -3,7 +3,7 @@ package keeper
import (
sdk "github.com/cosmos/cosmos-sdk/types"
- "github.com/cosmos/ibc-go/v3/modules/core/03-connection/types"
+ "github.com/cosmos/ibc-go/v4/modules/core/03-connection/types"
)
// EmitConnectionOpenInitEvent emits a connection open init event
diff --git a/modules/core/03-connection/keeper/grpc_query.go b/modules/core/03-connection/keeper/grpc_query.go
index 89e9b978e0b..d07616163f6 100644
--- a/modules/core/03-connection/keeper/grpc_query.go
+++ b/modules/core/03-connection/keeper/grpc_query.go
@@ -10,9 +10,9 @@ import (
"google.golang.org/grpc/codes"
"google.golang.org/grpc/status"
- clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types"
- "github.com/cosmos/ibc-go/v3/modules/core/03-connection/types"
- host "github.com/cosmos/ibc-go/v3/modules/core/24-host"
+ clienttypes "github.com/cosmos/ibc-go/v4/modules/core/02-client/types"
+ "github.com/cosmos/ibc-go/v4/modules/core/03-connection/types"
+ host "github.com/cosmos/ibc-go/v4/modules/core/24-host"
)
var _ types.QueryServer = Keeper{}
diff --git a/modules/core/03-connection/keeper/grpc_query_test.go b/modules/core/03-connection/keeper/grpc_query_test.go
index fe97dd09b85..b1ffb50b910 100644
--- a/modules/core/03-connection/keeper/grpc_query_test.go
+++ b/modules/core/03-connection/keeper/grpc_query_test.go
@@ -6,10 +6,10 @@ import (
sdk "github.com/cosmos/cosmos-sdk/types"
"github.com/cosmos/cosmos-sdk/types/query"
- clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types"
- "github.com/cosmos/ibc-go/v3/modules/core/03-connection/types"
- "github.com/cosmos/ibc-go/v3/modules/core/exported"
- ibctesting "github.com/cosmos/ibc-go/v3/testing"
+ clienttypes "github.com/cosmos/ibc-go/v4/modules/core/02-client/types"
+ "github.com/cosmos/ibc-go/v4/modules/core/03-connection/types"
+ "github.com/cosmos/ibc-go/v4/modules/core/exported"
+ ibctesting "github.com/cosmos/ibc-go/v4/testing"
)
func (suite *KeeperTestSuite) TestQueryConnection() {
diff --git a/modules/core/03-connection/keeper/handshake.go b/modules/core/03-connection/keeper/handshake.go
index 177324e3e17..faca5c0f74c 100644
--- a/modules/core/03-connection/keeper/handshake.go
+++ b/modules/core/03-connection/keeper/handshake.go
@@ -1,17 +1,14 @@
package keeper
import (
- "bytes"
-
"github.com/cosmos/cosmos-sdk/telemetry"
sdk "github.com/cosmos/cosmos-sdk/types"
sdkerrors "github.com/cosmos/cosmos-sdk/types/errors"
- "github.com/gogo/protobuf/proto"
- clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types"
- "github.com/cosmos/ibc-go/v3/modules/core/03-connection/types"
- commitmenttypes "github.com/cosmos/ibc-go/v3/modules/core/23-commitment/types"
- "github.com/cosmos/ibc-go/v3/modules/core/exported"
+ clienttypes "github.com/cosmos/ibc-go/v4/modules/core/02-client/types"
+ "github.com/cosmos/ibc-go/v4/modules/core/03-connection/types"
+ commitmenttypes "github.com/cosmos/ibc-go/v4/modules/core/23-commitment/types"
+ "github.com/cosmos/ibc-go/v4/modules/core/exported"
)
// ConnOpenInit initialises a connection attempt on chain A. The generated connection identifier
@@ -28,7 +25,7 @@ func (k Keeper) ConnOpenInit(
) (string, error) {
versions := types.GetCompatibleVersions()
if version != nil {
- if !types.IsSupportedVersion(version) {
+ if !types.IsSupportedVersion(types.GetCompatibleVersions(), version) {
return "", sdkerrors.Wrap(types.ErrInvalidVersion, "version is not supported")
}
@@ -63,7 +60,6 @@ func (k Keeper) ConnOpenInit(
// - Identifiers are checked on msg validation
func (k Keeper) ConnOpenTry(
ctx sdk.Context,
- previousConnectionID string, // previousIdentifier
counterparty types.Counterparty, // counterpartyConnectionIdentifier, counterpartyPrefix and counterpartyClientIdentifier
delayPeriod uint64,
clientID string, // clientID of chainA
@@ -75,44 +71,9 @@ func (k Keeper) ConnOpenTry(
proofHeight exported.Height, // height at which relayer constructs proof of A storing connectionEnd in state
consensusHeight exported.Height, // latest height of chain B which chain A has stored in its chain B client
) (string, error) {
- var (
- connectionID string
- previousConnection types.ConnectionEnd
- found bool
- )
-
- // empty connection identifier indicates continuing a previous connection handshake
- if previousConnectionID != "" {
- // ensure that the previous connection exists
- previousConnection, found = k.GetConnection(ctx, previousConnectionID)
- if !found {
- return "", sdkerrors.Wrapf(types.ErrConnectionNotFound, "previous connection does not exist for supplied previous connectionID %s", previousConnectionID)
- }
-
- // ensure that the existing connection's
- // counterparty is chainA and connection is on INIT stage.
- // Check that existing connection versions for initialized connection is equal to compatible
- // versions for this chain.
- // ensure that existing connection's delay period is the same as desired delay period.
- if !(previousConnection.Counterparty.ConnectionId == "" &&
- bytes.Equal(previousConnection.Counterparty.Prefix.Bytes(), counterparty.Prefix.Bytes()) &&
- previousConnection.ClientId == clientID &&
- previousConnection.Counterparty.ClientId == counterparty.ClientId &&
- previousConnection.DelayPeriod == delayPeriod) {
- return "", sdkerrors.Wrap(types.ErrInvalidConnection, "connection fields mismatch previous connection fields")
- }
- if !(previousConnection.State == types.INIT) {
- return "", sdkerrors.Wrapf(types.ErrInvalidConnectionState, "previous connection state is in state %s, expected INIT", previousConnection.State)
- }
-
- // continue with previous connection
- connectionID = previousConnectionID
-
- } else {
- // generate a new connection
- connectionID = k.GenerateConnectionIdentifier(ctx)
- }
+ // generate a new connection
+ connectionID := k.GenerateConnectionIdentifier(ctx)
selfHeight := clienttypes.GetSelfHeight(ctx)
if consensusHeight.GTE(selfHeight) {
@@ -139,15 +100,10 @@ func (k Keeper) ConnOpenTry(
expectedCounterparty := types.NewCounterparty(clientID, "", commitmenttypes.NewMerklePrefix(prefix.Bytes()))
expectedConnection := types.NewConnectionEnd(types.INIT, counterparty.ClientId, expectedCounterparty, types.ExportedVersionsToProto(counterpartyVersions), delayPeriod)
- supportedVersions := types.GetCompatibleVersions()
- if len(previousConnection.Versions) != 0 {
- supportedVersions = previousConnection.GetVersions()
- }
-
// chain B picks a version from Chain A's available versions that is compatible
// with Chain B's supported IBC versions. PickVersion will select the intersection
// of the supported versions and the counterparty versions.
- version, err := types.PickVersion(supportedVersions, counterpartyVersions)
+ version, err := types.PickVersion(types.GetCompatibleVersions(), counterpartyVersions)
if err != nil {
return "", err
}
@@ -181,7 +137,7 @@ func (k Keeper) ConnOpenTry(
}
k.SetConnection(ctx, connectionID, connection)
- k.Logger(ctx).Info("connection state updated", "connection-id", connectionID, "previous-state", previousConnection.State.String(), "new-state", "TRYOPEN")
+ k.Logger(ctx).Info("connection state updated", "connection-id", connectionID, "previous-state", "NONE", "new-state", "TRYOPEN")
defer func() {
telemetry.IncrCounter(1, "ibc", "connection", "open-try")
@@ -223,28 +179,19 @@ func (k Keeper) ConnOpenAck(
return sdkerrors.Wrap(types.ErrConnectionNotFound, connectionID)
}
- // Verify the provided version against the previously set connection state
- switch {
- // connection on ChainA must be in INIT or TRYOPEN
- case connection.State != types.INIT && connection.State != types.TRYOPEN:
- return sdkerrors.Wrapf(
- types.ErrInvalidConnectionState,
- "connection state is not INIT or TRYOPEN (got %s)", connection.State.String(),
- )
-
- // if the connection is INIT then the provided version must be supproted
- case connection.State == types.INIT && !types.IsSupportedVersion(version):
+ // verify the previously set connection state
+ if connection.State != types.INIT {
return sdkerrors.Wrapf(
types.ErrInvalidConnectionState,
- "connection state is in INIT but the provided version is not supported %s", version,
+ "connection state is not INIT (got %s)", connection.State.String(),
)
+ }
- // if the connection is in TRYOPEN then the version must be the only set version in the
- // retreived connection state.
- case connection.State == types.TRYOPEN && (len(connection.Versions) != 1 || !proto.Equal(connection.Versions[0], version)):
+ // ensure selected version is supported
+ if !types.IsSupportedVersion(types.ProtoVersionsToExported(connection.Versions), version) {
return sdkerrors.Wrapf(
types.ErrInvalidConnectionState,
- "connection state is in TRYOPEN but the provided version (%s) is not set in the previous connection versions %s", version, connection.Versions,
+ "the counterparty selected version %s is not supported by versions selected on INIT", version,
)
}
@@ -283,7 +230,7 @@ func (k Keeper) ConnOpenAck(
return err
}
- k.Logger(ctx).Info("connection state updated", "connection-id", connectionID, "previous-state", connection.State.String(), "new-state", "OPEN")
+ k.Logger(ctx).Info("connection state updated", "connection-id", connectionID, "previous-state", "INIT", "new-state", "OPEN")
defer func() {
telemetry.IncrCounter(1, "ibc", "connection", "open-ack")
diff --git a/modules/core/03-connection/keeper/handshake_test.go b/modules/core/03-connection/keeper/handshake_test.go
index 8707b72d401..aeabf5718c2 100644
--- a/modules/core/03-connection/keeper/handshake_test.go
+++ b/modules/core/03-connection/keeper/handshake_test.go
@@ -3,12 +3,12 @@ package keeper_test
import (
"time"
- clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types"
- "github.com/cosmos/ibc-go/v3/modules/core/03-connection/types"
- host "github.com/cosmos/ibc-go/v3/modules/core/24-host"
- "github.com/cosmos/ibc-go/v3/modules/core/exported"
- ibctmtypes "github.com/cosmos/ibc-go/v3/modules/light-clients/07-tendermint/types"
- ibctesting "github.com/cosmos/ibc-go/v3/testing"
+ clienttypes "github.com/cosmos/ibc-go/v4/modules/core/02-client/types"
+ "github.com/cosmos/ibc-go/v4/modules/core/03-connection/types"
+ host "github.com/cosmos/ibc-go/v4/modules/core/24-host"
+ "github.com/cosmos/ibc-go/v4/modules/core/exported"
+ ibctmtypes "github.com/cosmos/ibc-go/v4/modules/light-clients/07-tendermint/types"
+ ibctesting "github.com/cosmos/ibc-go/v4/testing"
)
// TestConnOpenInit - chainA initializes (INIT state) a connection with
@@ -80,12 +80,11 @@ func (suite *KeeperTestSuite) TestConnOpenInit() {
// connection on chainA is INIT
func (suite *KeeperTestSuite) TestConnOpenTry() {
var (
- path *ibctesting.Path
- delayPeriod uint64
- previousConnectionID string
- versions []exported.Version
- consensusHeight exported.Height
- counterpartyClient exported.ClientState
+ path *ibctesting.Path
+ delayPeriod uint64
+ versions []exported.Version
+ consensusHeight exported.Height
+ counterpartyClient exported.ClientState
)
testCases := []struct {
@@ -100,15 +99,6 @@ func (suite *KeeperTestSuite) TestConnOpenTry() {
// retrieve client state of chainA to pass as counterpartyClient
counterpartyClient = suite.chainA.GetClientState(path.EndpointA.ClientID)
}, true},
- {"success with crossing hellos", func() {
- err := suite.coordinator.ConnOpenInitOnBothChains(path)
- suite.Require().NoError(err)
-
- // retrieve client state of chainA to pass as counterpartyClient
- counterpartyClient = suite.chainA.GetClientState(path.EndpointA.ClientID)
-
- previousConnectionID = path.EndpointB.ConnectionID
- }, true},
{"success with delay period", func() {
err := path.EndpointA.ConnOpenInit()
suite.Require().NoError(err)
@@ -213,49 +203,6 @@ func (suite *KeeperTestSuite) TestConnOpenTry() {
err := path.EndpointA.ConnOpenInit()
suite.Require().NoError(err)
}, false},
- {"invalid previous connection is in TRYOPEN", func() {
- // open init chainA
- err := path.EndpointA.ConnOpenInit()
- suite.Require().NoError(err)
-
- // open try chainB
- err = path.EndpointB.ConnOpenTry()
- suite.Require().NoError(err)
-
- err = path.EndpointB.UpdateClient()
- suite.Require().NoError(err)
-
- // retrieve client state of chainA to pass as counterpartyClient
- counterpartyClient = suite.chainA.GetClientState(path.EndpointA.ClientID)
-
- previousConnectionID = path.EndpointB.ConnectionID
- }, false},
- {"invalid previous connection has invalid versions", func() {
- // open init chainA
- err := path.EndpointA.ConnOpenInit()
- suite.Require().NoError(err)
-
- // open try chainB
- err = path.EndpointB.ConnOpenTry()
- suite.Require().NoError(err)
-
- // modify connB to be in INIT with incorrect versions
- connection, found := suite.chainB.App.GetIBCKeeper().ConnectionKeeper.GetConnection(suite.chainB.GetContext(), path.EndpointB.ConnectionID)
- suite.Require().True(found)
-
- connection.State = types.INIT
- connection.Versions = []*types.Version{{}}
-
- suite.chainB.App.GetIBCKeeper().ConnectionKeeper.SetConnection(suite.chainB.GetContext(), path.EndpointB.ConnectionID, connection)
-
- err = path.EndpointB.UpdateClient()
- suite.Require().NoError(err)
-
- // retrieve client state of chainA to pass as counterpartyClient
- counterpartyClient = suite.chainA.GetClientState(path.EndpointA.ClientID)
-
- previousConnectionID = path.EndpointB.ConnectionID
- }, false},
}
for _, tc := range testCases {
@@ -263,9 +210,9 @@ func (suite *KeeperTestSuite) TestConnOpenTry() {
suite.Run(tc.msg, func() {
suite.SetupTest() // reset
- consensusHeight = clienttypes.ZeroHeight() // must be explicitly changed in malleate
- versions = types.GetCompatibleVersions() // must be explicitly changed in malleate
- previousConnectionID = ""
+ consensusHeight = clienttypes.ZeroHeight() // may be changed in malleate
+ versions = types.GetCompatibleVersions() // may be changed in malleate
+ delayPeriod = 0 // may be changed in malleate
path = ibctesting.NewPath(suite.chainA, suite.chainB)
suite.coordinator.SetupClients(path)
@@ -292,7 +239,7 @@ func (suite *KeeperTestSuite) TestConnOpenTry() {
proofClient, _ := suite.chainA.QueryProof(clientKey)
connectionID, err := suite.chainB.App.GetIBCKeeper().ConnectionKeeper.ConnOpenTry(
- suite.chainB.GetContext(), previousConnectionID, counterparty, delayPeriod, path.EndpointB.ClientID, counterpartyClient,
+ suite.chainB.GetContext(), counterparty, delayPeriod, path.EndpointB.ClientID, counterpartyClient,
versions, proofInit, proofClient, proofConsensus,
proofHeight, consensusHeight,
)
@@ -333,27 +280,6 @@ func (suite *KeeperTestSuite) TestConnOpenAck() {
// retrieve client state of chainB to pass as counterpartyClient
counterpartyClient = suite.chainB.GetClientState(path.EndpointB.ClientID)
}, true},
- {"success from tryopen", func() {
- // chainA is in TRYOPEN, chainB is in TRYOPEN
- err := path.EndpointB.ConnOpenInit()
- suite.Require().NoError(err)
-
- err = path.EndpointA.ConnOpenTry()
- suite.Require().NoError(err)
-
- // set chainB to TRYOPEN
- connection := path.EndpointB.GetConnection()
- connection.State = types.TRYOPEN
- connection.Counterparty.ConnectionId = path.EndpointA.ConnectionID
- suite.chainB.App.GetIBCKeeper().ConnectionKeeper.SetConnection(suite.chainB.GetContext(), path.EndpointB.ConnectionID, connection)
- // update path.EndpointB.ClientID so state change is committed
- path.EndpointB.UpdateClient()
-
- path.EndpointA.UpdateClient()
-
- // retrieve client state of chainB to pass as counterpartyClient
- counterpartyClient = suite.chainB.GetClientState(path.EndpointB.ClientID)
- }, true},
{"invalid counterparty client", func() {
err := path.EndpointA.ConnOpenInit()
suite.Require().NoError(err)
@@ -440,28 +366,6 @@ func (suite *KeeperTestSuite) TestConnOpenAck() {
version = types.NewVersion("2.0", nil)
}, false},
- {"connection is in TRYOPEN but the set version in the connection is invalid", func() {
- // chainA is in TRYOPEN, chainB is in TRYOPEN
- err := path.EndpointB.ConnOpenInit()
- suite.Require().NoError(err)
-
- err = path.EndpointA.ConnOpenTry()
- suite.Require().NoError(err)
-
- // set chainB to TRYOPEN
- connection := path.EndpointB.GetConnection()
- connection.State = types.TRYOPEN
- suite.chainB.App.GetIBCKeeper().ConnectionKeeper.SetConnection(suite.chainB.GetContext(), path.EndpointB.ConnectionID, connection)
-
- // update path.EndpointB.ClientID so state change is committed
- path.EndpointB.UpdateClient()
- path.EndpointA.UpdateClient()
-
- // retrieve client state of chainB to pass as counterpartyClient
- counterpartyClient = suite.chainB.GetClientState(path.EndpointB.ClientID)
-
- version = types.NewVersion("2.0", nil)
- }, false},
{"incompatible IBC versions", func() {
err := path.EndpointA.ConnOpenInit()
suite.Require().NoError(err)
diff --git a/modules/core/03-connection/keeper/keeper.go b/modules/core/03-connection/keeper/keeper.go
index 22954ca7943..e6370da8d26 100644
--- a/modules/core/03-connection/keeper/keeper.go
+++ b/modules/core/03-connection/keeper/keeper.go
@@ -8,11 +8,11 @@ import (
sdkerrors "github.com/cosmos/cosmos-sdk/types/errors"
paramtypes "github.com/cosmos/cosmos-sdk/x/params/types"
- clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types"
- "github.com/cosmos/ibc-go/v3/modules/core/03-connection/types"
- commitmenttypes "github.com/cosmos/ibc-go/v3/modules/core/23-commitment/types"
- host "github.com/cosmos/ibc-go/v3/modules/core/24-host"
- "github.com/cosmos/ibc-go/v3/modules/core/exported"
+ clienttypes "github.com/cosmos/ibc-go/v4/modules/core/02-client/types"
+ "github.com/cosmos/ibc-go/v4/modules/core/03-connection/types"
+ commitmenttypes "github.com/cosmos/ibc-go/v4/modules/core/23-commitment/types"
+ host "github.com/cosmos/ibc-go/v4/modules/core/24-host"
+ "github.com/cosmos/ibc-go/v4/modules/core/exported"
)
// Keeper defines the IBC connection keeper
diff --git a/modules/core/03-connection/keeper/keeper_test.go b/modules/core/03-connection/keeper/keeper_test.go
index 3d63ed468ba..dd72a9cc620 100644
--- a/modules/core/03-connection/keeper/keeper_test.go
+++ b/modules/core/03-connection/keeper/keeper_test.go
@@ -6,8 +6,8 @@ import (
"github.com/stretchr/testify/suite"
- "github.com/cosmos/ibc-go/v3/modules/core/03-connection/types"
- ibctesting "github.com/cosmos/ibc-go/v3/testing"
+ "github.com/cosmos/ibc-go/v4/modules/core/03-connection/types"
+ ibctesting "github.com/cosmos/ibc-go/v4/testing"
)
type KeeperTestSuite struct {
diff --git a/modules/core/03-connection/keeper/params.go b/modules/core/03-connection/keeper/params.go
index 3d7c145ac77..26d2d4e843f 100644
--- a/modules/core/03-connection/keeper/params.go
+++ b/modules/core/03-connection/keeper/params.go
@@ -3,7 +3,7 @@ package keeper
import (
sdk "github.com/cosmos/cosmos-sdk/types"
- "github.com/cosmos/ibc-go/v3/modules/core/03-connection/types"
+ "github.com/cosmos/ibc-go/v4/modules/core/03-connection/types"
)
// GetMaxExpectedTimePerBlock retrieves the maximum expected time per block from the paramstore
diff --git a/modules/core/03-connection/keeper/params_test.go b/modules/core/03-connection/keeper/params_test.go
index 21d628fa6fc..7e6ea66bbca 100644
--- a/modules/core/03-connection/keeper/params_test.go
+++ b/modules/core/03-connection/keeper/params_test.go
@@ -1,7 +1,7 @@
package keeper_test
import (
- "github.com/cosmos/ibc-go/v3/modules/core/03-connection/types"
+ "github.com/cosmos/ibc-go/v4/modules/core/03-connection/types"
)
func (suite *KeeperTestSuite) TestParams() {
diff --git a/modules/core/03-connection/keeper/verify.go b/modules/core/03-connection/keeper/verify.go
index 1059cf3444e..e0cdbfcad03 100644
--- a/modules/core/03-connection/keeper/verify.go
+++ b/modules/core/03-connection/keeper/verify.go
@@ -6,8 +6,8 @@ import (
sdk "github.com/cosmos/cosmos-sdk/types"
sdkerrors "github.com/cosmos/cosmos-sdk/types/errors"
- clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types"
- "github.com/cosmos/ibc-go/v3/modules/core/exported"
+ clienttypes "github.com/cosmos/ibc-go/v4/modules/core/02-client/types"
+ "github.com/cosmos/ibc-go/v4/modules/core/exported"
)
// VerifyClientState verifies a proof of a client state of the running machine
diff --git a/modules/core/03-connection/keeper/verify_test.go b/modules/core/03-connection/keeper/verify_test.go
index df9e6a5d69d..6641bf790bd 100644
--- a/modules/core/03-connection/keeper/verify_test.go
+++ b/modules/core/03-connection/keeper/verify_test.go
@@ -4,14 +4,14 @@ import (
"fmt"
"time"
- clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types"
- "github.com/cosmos/ibc-go/v3/modules/core/03-connection/types"
- channeltypes "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types"
- host "github.com/cosmos/ibc-go/v3/modules/core/24-host"
- "github.com/cosmos/ibc-go/v3/modules/core/exported"
- ibctmtypes "github.com/cosmos/ibc-go/v3/modules/light-clients/07-tendermint/types"
- ibctesting "github.com/cosmos/ibc-go/v3/testing"
- ibcmock "github.com/cosmos/ibc-go/v3/testing/mock"
+ clienttypes "github.com/cosmos/ibc-go/v4/modules/core/02-client/types"
+ "github.com/cosmos/ibc-go/v4/modules/core/03-connection/types"
+ channeltypes "github.com/cosmos/ibc-go/v4/modules/core/04-channel/types"
+ host "github.com/cosmos/ibc-go/v4/modules/core/24-host"
+ "github.com/cosmos/ibc-go/v4/modules/core/exported"
+ ibctmtypes "github.com/cosmos/ibc-go/v4/modules/light-clients/07-tendermint/types"
+ ibctesting "github.com/cosmos/ibc-go/v4/testing"
+ ibcmock "github.com/cosmos/ibc-go/v4/testing/mock"
)
var defaultTimeoutHeight = clienttypes.NewHeight(0, 100000)
diff --git a/modules/core/03-connection/module.go b/modules/core/03-connection/module.go
index 8bfa8ed6017..17132c269a9 100644
--- a/modules/core/03-connection/module.go
+++ b/modules/core/03-connection/module.go
@@ -4,8 +4,8 @@ import (
"github.com/gogo/protobuf/grpc"
"github.com/spf13/cobra"
- "github.com/cosmos/ibc-go/v3/modules/core/03-connection/client/cli"
- "github.com/cosmos/ibc-go/v3/modules/core/03-connection/types"
+ "github.com/cosmos/ibc-go/v4/modules/core/03-connection/client/cli"
+ "github.com/cosmos/ibc-go/v4/modules/core/03-connection/types"
)
// Name returns the IBC connection ICS name.
diff --git a/modules/core/03-connection/simulation/decoder.go b/modules/core/03-connection/simulation/decoder.go
index e01d2787e32..803bdda728e 100644
--- a/modules/core/03-connection/simulation/decoder.go
+++ b/modules/core/03-connection/simulation/decoder.go
@@ -7,8 +7,8 @@ import (
"github.com/cosmos/cosmos-sdk/codec"
"github.com/cosmos/cosmos-sdk/types/kv"
- "github.com/cosmos/ibc-go/v3/modules/core/03-connection/types"
- host "github.com/cosmos/ibc-go/v3/modules/core/24-host"
+ "github.com/cosmos/ibc-go/v4/modules/core/03-connection/types"
+ host "github.com/cosmos/ibc-go/v4/modules/core/24-host"
)
// NewDecodeStore returns a decoder function closure that unmarshals the KVPair's
diff --git a/modules/core/03-connection/simulation/decoder_test.go b/modules/core/03-connection/simulation/decoder_test.go
index 94de9fae92a..77ac0f7e630 100644
--- a/modules/core/03-connection/simulation/decoder_test.go
+++ b/modules/core/03-connection/simulation/decoder_test.go
@@ -7,10 +7,10 @@ import (
"github.com/cosmos/cosmos-sdk/types/kv"
"github.com/stretchr/testify/require"
- "github.com/cosmos/ibc-go/v3/modules/core/03-connection/simulation"
- "github.com/cosmos/ibc-go/v3/modules/core/03-connection/types"
- host "github.com/cosmos/ibc-go/v3/modules/core/24-host"
- "github.com/cosmos/ibc-go/v3/testing/simapp"
+ "github.com/cosmos/ibc-go/v4/modules/core/03-connection/simulation"
+ "github.com/cosmos/ibc-go/v4/modules/core/03-connection/types"
+ host "github.com/cosmos/ibc-go/v4/modules/core/24-host"
+ "github.com/cosmos/ibc-go/v4/testing/simapp"
)
func TestDecodeStore(t *testing.T) {
diff --git a/modules/core/03-connection/simulation/genesis.go b/modules/core/03-connection/simulation/genesis.go
index 746daec042f..d60803babe0 100644
--- a/modules/core/03-connection/simulation/genesis.go
+++ b/modules/core/03-connection/simulation/genesis.go
@@ -5,7 +5,7 @@ import (
simtypes "github.com/cosmos/cosmos-sdk/types/simulation"
- "github.com/cosmos/ibc-go/v3/modules/core/03-connection/types"
+ "github.com/cosmos/ibc-go/v4/modules/core/03-connection/types"
)
// GenConnectionGenesis returns the default connection genesis state.
diff --git a/modules/core/03-connection/types/codec.go b/modules/core/03-connection/types/codec.go
index 96ae3cba865..f09a14f283c 100644
--- a/modules/core/03-connection/types/codec.go
+++ b/modules/core/03-connection/types/codec.go
@@ -6,7 +6,7 @@ import (
sdk "github.com/cosmos/cosmos-sdk/types"
"github.com/cosmos/cosmos-sdk/types/msgservice"
- "github.com/cosmos/ibc-go/v3/modules/core/exported"
+ "github.com/cosmos/ibc-go/v4/modules/core/exported"
)
// RegisterInterfaces register the ibc interfaces submodule implementations to protobuf
diff --git a/modules/core/03-connection/types/connection.go b/modules/core/03-connection/types/connection.go
index 3fa86a6a30f..508140a2de3 100644
--- a/modules/core/03-connection/types/connection.go
+++ b/modules/core/03-connection/types/connection.go
@@ -3,9 +3,9 @@ package types
import (
sdkerrors "github.com/cosmos/cosmos-sdk/types/errors"
- commitmenttypes "github.com/cosmos/ibc-go/v3/modules/core/23-commitment/types"
- host "github.com/cosmos/ibc-go/v3/modules/core/24-host"
- "github.com/cosmos/ibc-go/v3/modules/core/exported"
+ commitmenttypes "github.com/cosmos/ibc-go/v4/modules/core/23-commitment/types"
+ host "github.com/cosmos/ibc-go/v4/modules/core/24-host"
+ "github.com/cosmos/ibc-go/v4/modules/core/exported"
)
var _ exported.ConnectionI = (*ConnectionEnd)(nil)
diff --git a/modules/core/03-connection/types/connection.pb.go b/modules/core/03-connection/types/connection.pb.go
index d198ef2d8fe..893debbba18 100644
--- a/modules/core/03-connection/types/connection.pb.go
+++ b/modules/core/03-connection/types/connection.pb.go
@@ -5,7 +5,7 @@ package types
import (
fmt "fmt"
- types "github.com/cosmos/ibc-go/v3/modules/core/23-commitment/types"
+ types "github.com/cosmos/ibc-go/v4/modules/core/23-commitment/types"
_ "github.com/gogo/protobuf/gogoproto"
proto "github.com/gogo/protobuf/proto"
io "io"
@@ -418,52 +418,53 @@ func init() {
}
var fileDescriptor_90572467c054e43a = []byte{
- // 716 bytes of a gzipped FileDescriptorProto
- 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x55, 0x4f, 0x6f, 0xd2, 0x60,
- 0x18, 0xa7, 0xa5, 0x30, 0x78, 0x19, 0x8a, 0x95, 0xb8, 0x06, 0xb3, 0xb6, 0xa9, 0x46, 0x89, 0xc9,
- 0xa8, 0x8c, 0xc4, 0xc3, 0xd4, 0xc3, 0x60, 0x98, 0x34, 0x2a, 0x92, 0x8e, 0x2d, 0x71, 0x17, 0x52,
- 0xda, 0x77, 0xec, 0xcd, 0x68, 0x5f, 0xd2, 0xbe, 0x10, 0xf8, 0x06, 0xcb, 0x4e, 0x5e, 0x3d, 0x2c,
- 0x31, 0xf1, 0xbb, 0x98, 0xc5, 0xd3, 0x8e, 0x9e, 0x88, 0xd9, 0xae, 0x9e, 0xf8, 0x04, 0xa6, 0x7d,
- 0x0b, 0x74, 0x8b, 0x33, 0xd9, 0xf4, 0xf6, 0x3c, 0xfd, 0xfd, 0xe1, 0x79, 0x7e, 0x3c, 0x14, 0xf0,
- 0x14, 0x75, 0x4c, 0xd5, 0xc4, 0x2e, 0x54, 0x4d, 0xec, 0x38, 0xd0, 0x24, 0x08, 0x3b, 0xea, 0xb0,
- 0x1c, 0xe9, 0x4a, 0x7d, 0x17, 0x13, 0xcc, 0x3f, 0x40, 0x1d, 0xb3, 0xe4, 0x13, 0x4b, 0x11, 0x68,
- 0x58, 0x2e, 0xe4, 0xbb, 0xb8, 0x8b, 0x03, 0x8a, 0xea, 0x57, 0x94, 0x5d, 0x88, 0xda, 0xda, 0x36,
- 0x22, 0x36, 0x74, 0x08, 0xb5, 0x9d, 0x75, 0x94, 0xa8, 0x7c, 0x63, 0x41, 0xb6, 0x36, 0x37, 0xac,
- 0x3b, 0x16, 0x5f, 0x06, 0x69, 0xb3, 0x87, 0xa0, 0x43, 0xda, 0xc8, 0x12, 0x18, 0x99, 0x29, 0xa6,
- 0xab, 0xf9, 0xe9, 0x44, 0xca, 0x8d, 0x0d, 0xbb, 0xb7, 0xa1, 0xcc, 0x21, 0x45, 0x4f, 0xd1, 0x5a,
- 0xb3, 0xf8, 0x97, 0x20, 0x35, 0x84, 0xae, 0x87, 0xb0, 0xe3, 0x09, 0xac, 0x1c, 0x2f, 0x66, 0xd6,
- 0xa5, 0xd2, 0x9f, 0xc7, 0x2d, 0xed, 0x52, 0x9e, 0x3e, 0x17, 0xf0, 0x15, 0x90, 0xf0, 0x88, 0x41,
- 0xa0, 0x10, 0x97, 0x99, 0xe2, 0x9d, 0xf5, 0xd5, 0xeb, 0x94, 0xdb, 0x3e, 0x49, 0xa7, 0x5c, 0xbe,
- 0x01, 0x96, 0x4d, 0x3c, 0x70, 0x08, 0x74, 0xfb, 0x86, 0x4b, 0xc6, 0x02, 0x27, 0x33, 0xc5, 0xcc,
- 0xfa, 0xe3, 0xeb, 0xb4, 0xb5, 0x08, 0xb7, 0xca, 0x9d, 0x4e, 0xa4, 0x98, 0x7e, 0x49, 0xcf, 0x6f,
- 0x80, 0x65, 0x0b, 0xf6, 0x8c, 0x71, 0xbb, 0x0f, 0x5d, 0x84, 0x2d, 0x21, 0x21, 0x33, 0x45, 0xae,
- 0xba, 0x32, 0x9d, 0x48, 0xf7, 0xe9, 0xde, 0x51, 0x54, 0xd1, 0x33, 0x41, 0xdb, 0x0c, 0xba, 0x0d,
- 0xee, 0xe8, 0x8b, 0x14, 0x53, 0x7e, 0xb1, 0x20, 0xaf, 0x59, 0xd0, 0x21, 0x68, 0x1f, 0x41, 0x6b,
- 0x11, 0x29, 0xbf, 0x0a, 0xd8, 0x79, 0x90, 0xd9, 0xe9, 0x44, 0x4a, 0x53, 0x43, 0x3f, 0x41, 0x16,
- 0x5d, 0x89, 0x9b, 0xbd, 0x71, 0xdc, 0xf1, 0x5b, 0xc7, 0xcd, 0xfd, 0x43, 0xdc, 0x89, 0xff, 0x1c,
- 0x77, 0xf2, 0xc6, 0x71, 0x7f, 0x67, 0xc0, 0x72, 0xf4, 0x63, 0x6e, 0x73, 0xb6, 0xaf, 0x41, 0x76,
- 0x31, 0xf7, 0x22, 0x7e, 0x61, 0x3a, 0x91, 0xf2, 0xa1, 0x2c, 0x0a, 0x2b, 0xfe, 0x12, 0xb3, 0x5e,
- 0xb3, 0xf8, 0x2a, 0x48, 0xf6, 0x5d, 0xb8, 0x8f, 0x46, 0xc1, 0xe5, 0x5e, 0x89, 0x63, 0xfe, 0x33,
- 0x1b, 0x96, 0x4b, 0xef, 0xa1, 0x7b, 0xd8, 0x83, 0xcd, 0x80, 0x1b, 0xc6, 0x11, 0x2a, 0xc3, 0x65,
- 0x1e, 0x81, 0x4c, 0x2d, 0x18, 0xaa, 0x69, 0x90, 0x03, 0x8f, 0xcf, 0x83, 0x44, 0xdf, 0x2f, 0x04,
- 0x46, 0x8e, 0x17, 0xd3, 0x3a, 0x6d, 0x94, 0x3d, 0x70, 0x77, 0x71, 0x55, 0x94, 0x78, 0x8b, 0x9d,
- 0xe7, 0xde, 0x6c, 0xd4, 0xfb, 0x2d, 0x58, 0x0a, 0x2f, 0x85, 0x17, 0x01, 0x40, 0xb3, 0x33, 0x76,
- 0xa9, 0xa9, 0x1e, 0x79, 0xc2, 0x17, 0x40, 0x6a, 0x1f, 0x1a, 0x64, 0xe0, 0xc2, 0x99, 0xc7, 0xbc,
- 0x0f, 0xb7, 0x71, 0x40, 0xb2, 0x69, 0xb8, 0x86, 0xed, 0xf1, 0x16, 0x78, 0x68, 0x1b, 0xa3, 0x36,
- 0x1c, 0xf5, 0xa1, 0x49, 0xa0, 0xd5, 0x26, 0xc8, 0x86, 0xfe, 0x97, 0xda, 0xee, 0xf4, 0xb0, 0x79,
- 0x18, 0x98, 0x73, 0xd5, 0x27, 0xd3, 0x89, 0xa4, 0xd0, 0x89, 0xff, 0x42, 0x56, 0xf4, 0x15, 0xdb,
- 0x18, 0xd5, 0x43, 0xb0, 0x85, 0x6c, 0xd8, 0x84, 0x6e, 0xd5, 0x47, 0x9e, 0x7d, 0x66, 0x40, 0x22,
- 0xb8, 0x56, 0xfe, 0x05, 0x90, 0xb6, 0x5b, 0x9b, 0xad, 0x7a, 0x7b, 0xa7, 0xa1, 0x35, 0xb4, 0x96,
- 0xb6, 0xf9, 0x4e, 0xdb, 0xab, 0x6f, 0xb5, 0x77, 0x1a, 0xdb, 0xcd, 0x7a, 0x4d, 0x7b, 0xa3, 0xd5,
- 0xb7, 0x72, 0xb1, 0xc2, 0xbd, 0xe3, 0x13, 0x39, 0x7b, 0x89, 0xc0, 0x0b, 0x00, 0x50, 0x9d, 0xff,
- 0x30, 0xc7, 0x14, 0x52, 0xc7, 0x27, 0x32, 0xe7, 0xd7, 0xbc, 0x08, 0xb2, 0x14, 0x69, 0xe9, 0x1f,
- 0x3f, 0x34, 0xeb, 0x8d, 0x1c, 0x5b, 0xc8, 0x1c, 0x9f, 0xc8, 0x4b, 0x61, 0xbb, 0x50, 0x06, 0x60,
- 0x9c, 0x2a, 0xfd, 0xba, 0xc0, 0x1d, 0x7d, 0x15, 0x63, 0xd5, 0xdd, 0xd3, 0x73, 0x91, 0x39, 0x3b,
- 0x17, 0x99, 0x9f, 0xe7, 0x22, 0xf3, 0xe9, 0x42, 0x8c, 0x9d, 0x5d, 0x88, 0xb1, 0x1f, 0x17, 0x62,
- 0x6c, 0xef, 0x55, 0x17, 0x91, 0x83, 0x41, 0xc7, 0x3f, 0x15, 0xd5, 0xc4, 0x9e, 0x8d, 0x3d, 0x15,
- 0x75, 0xcc, 0xb5, 0x2e, 0x56, 0x87, 0x15, 0xd5, 0xc6, 0xd6, 0xa0, 0x07, 0x3d, 0xfa, 0x06, 0x7f,
- 0x5e, 0x59, 0x8b, 0xfc, 0x37, 0x90, 0x71, 0x1f, 0x7a, 0x9d, 0x64, 0xf0, 0xf6, 0xae, 0xfc, 0x0e,
- 0x00, 0x00, 0xff, 0xff, 0xf4, 0xbe, 0xf1, 0xb5, 0x3f, 0x06, 0x00, 0x00,
+ // 721 bytes of a gzipped FileDescriptorProto
+ 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x55, 0x4f, 0x6f, 0xda, 0x48,
+ 0x14, 0xc7, 0xc6, 0x10, 0x18, 0xc2, 0x2e, 0x3b, 0x8b, 0x36, 0x16, 0xab, 0xd8, 0x96, 0x77, 0xb5,
+ 0x8b, 0x56, 0x0a, 0x5e, 0x92, 0xd5, 0x1e, 0xd2, 0xf6, 0x10, 0x08, 0x95, 0xac, 0xb6, 0x14, 0x39,
+ 0x24, 0x52, 0x73, 0x41, 0xc6, 0x9e, 0x90, 0x51, 0xb0, 0x07, 0xd9, 0x03, 0x82, 0x6f, 0x10, 0xe5,
+ 0xd4, 0x6b, 0x0f, 0x91, 0x2a, 0xf5, 0xbb, 0x54, 0x51, 0x4f, 0x39, 0xf6, 0x84, 0xaa, 0xe4, 0xda,
+ 0x13, 0x9f, 0xa0, 0xb2, 0xc7, 0x80, 0x13, 0x35, 0x95, 0x92, 0xf6, 0xf6, 0x9e, 0x7f, 0x7f, 0x78,
+ 0xef, 0xc7, 0xc3, 0x80, 0xbf, 0x71, 0xd7, 0xd2, 0x2c, 0xe2, 0x21, 0xcd, 0x22, 0xae, 0x8b, 0x2c,
+ 0x8a, 0x89, 0xab, 0x8d, 0xaa, 0xb1, 0xae, 0x32, 0xf0, 0x08, 0x25, 0xf0, 0x37, 0xdc, 0xb5, 0x2a,
+ 0x01, 0xb1, 0x12, 0x83, 0x46, 0xd5, 0x52, 0xb1, 0x47, 0x7a, 0x24, 0xa4, 0x68, 0x41, 0xc5, 0xd8,
+ 0xa5, 0xb8, 0xad, 0xe3, 0x60, 0xea, 0x20, 0x97, 0x32, 0xdb, 0x79, 0xc7, 0x88, 0xea, 0x7b, 0x1e,
+ 0xe4, 0xeb, 0x0b, 0xc3, 0x86, 0x6b, 0xc3, 0x2a, 0xc8, 0x5a, 0x7d, 0x8c, 0x5c, 0xda, 0xc1, 0xb6,
+ 0xc8, 0x29, 0x5c, 0x39, 0x5b, 0x2b, 0xce, 0xa6, 0x72, 0x61, 0x62, 0x3a, 0xfd, 0x6d, 0x75, 0x01,
+ 0xa9, 0x46, 0x86, 0xd5, 0xba, 0x0d, 0x1f, 0x81, 0xcc, 0x08, 0x79, 0x3e, 0x26, 0xae, 0x2f, 0xf2,
+ 0x4a, 0xb2, 0x9c, 0xdb, 0x94, 0x2b, 0x5f, 0x1f, 0xb7, 0x72, 0xc0, 0x78, 0xc6, 0x42, 0x00, 0xb7,
+ 0x40, 0xca, 0xa7, 0x26, 0x45, 0x62, 0x52, 0xe1, 0xca, 0x3f, 0x6d, 0xae, 0xdf, 0xa5, 0xdc, 0x0b,
+ 0x48, 0x06, 0xe3, 0xc2, 0x26, 0x58, 0xb5, 0xc8, 0xd0, 0xa5, 0xc8, 0x1b, 0x98, 0x1e, 0x9d, 0x88,
+ 0x82, 0xc2, 0x95, 0x73, 0x9b, 0x7f, 0xde, 0xa5, 0xad, 0xc7, 0xb8, 0x35, 0xe1, 0x62, 0x2a, 0x27,
+ 0x8c, 0x1b, 0x7a, 0xb8, 0x0d, 0x56, 0x6d, 0xd4, 0x37, 0x27, 0x9d, 0x01, 0xf2, 0x30, 0xb1, 0xc5,
+ 0x94, 0xc2, 0x95, 0x85, 0xda, 0xda, 0x6c, 0x2a, 0xff, 0xca, 0xf6, 0x8e, 0xa3, 0xaa, 0x91, 0x0b,
+ 0xdb, 0x56, 0xd8, 0x6d, 0x0b, 0xa7, 0x6f, 0xe5, 0x84, 0xfa, 0x99, 0x07, 0x45, 0xdd, 0x46, 0x2e,
+ 0xc5, 0x47, 0x18, 0xd9, 0xcb, 0x48, 0xe1, 0x3a, 0xe0, 0x17, 0x41, 0xe6, 0x67, 0x53, 0x39, 0xcb,
+ 0x0c, 0x83, 0x04, 0x79, 0x7c, 0x2b, 0x6e, 0xfe, 0xde, 0x71, 0x27, 0x1f, 0x1c, 0xb7, 0xf0, 0x1d,
+ 0x71, 0xa7, 0x7e, 0x70, 0xdc, 0xe9, 0x7b, 0xc7, 0xfd, 0x81, 0x03, 0xab, 0xf1, 0x8f, 0x79, 0xc8,
+ 0xd9, 0x3e, 0x01, 0xf9, 0xe5, 0xdc, 0xcb, 0xf8, 0xc5, 0xd9, 0x54, 0x2e, 0x46, 0xb2, 0x38, 0xac,
+ 0x06, 0x4b, 0xcc, 0x7b, 0xdd, 0x86, 0x35, 0x90, 0x1e, 0x78, 0xe8, 0x08, 0x8f, 0xc3, 0xcb, 0xbd,
+ 0x15, 0xc7, 0xe2, 0x67, 0x36, 0xaa, 0x56, 0x5e, 0x20, 0xef, 0xa4, 0x8f, 0x5a, 0x21, 0x37, 0x8a,
+ 0x23, 0x52, 0x46, 0xcb, 0xfc, 0x01, 0x72, 0xf5, 0x70, 0xa8, 0x96, 0x49, 0x8f, 0x7d, 0x58, 0x04,
+ 0xa9, 0x41, 0x50, 0x88, 0x9c, 0x92, 0x2c, 0x67, 0x0d, 0xd6, 0xa8, 0x87, 0xe0, 0xe7, 0xe5, 0x55,
+ 0x31, 0xe2, 0x03, 0x76, 0x5e, 0x78, 0xf3, 0x71, 0xef, 0x67, 0x60, 0x25, 0xba, 0x14, 0x28, 0x01,
+ 0x80, 0xe7, 0x67, 0xec, 0x31, 0x53, 0x23, 0xf6, 0x04, 0x96, 0x40, 0xe6, 0x08, 0x99, 0x74, 0xe8,
+ 0xa1, 0xb9, 0xc7, 0xa2, 0x8f, 0xb6, 0x71, 0x41, 0xba, 0x65, 0x7a, 0xa6, 0xe3, 0x43, 0x1b, 0xfc,
+ 0xee, 0x98, 0xe3, 0x0e, 0x1a, 0x0f, 0x90, 0x45, 0x91, 0xdd, 0xa1, 0xd8, 0x41, 0xc1, 0x97, 0xda,
+ 0xe9, 0xf6, 0x89, 0x75, 0x12, 0x9a, 0x0b, 0xb5, 0xbf, 0x66, 0x53, 0x59, 0x65, 0x13, 0x7f, 0x83,
+ 0xac, 0x1a, 0x6b, 0x8e, 0x39, 0x6e, 0x44, 0x60, 0x1b, 0x3b, 0xa8, 0x85, 0xbc, 0x5a, 0x80, 0xfc,
+ 0xf3, 0x86, 0x03, 0xa9, 0xf0, 0x5a, 0xe1, 0xff, 0x40, 0xde, 0x6b, 0xef, 0xb4, 0x1b, 0x9d, 0xfd,
+ 0xa6, 0xde, 0xd4, 0xdb, 0xfa, 0xce, 0x73, 0xfd, 0xb0, 0xb1, 0xdb, 0xd9, 0x6f, 0xee, 0xb5, 0x1a,
+ 0x75, 0xfd, 0xa9, 0xde, 0xd8, 0x2d, 0x24, 0x4a, 0xbf, 0x9c, 0x9d, 0x2b, 0xf9, 0x1b, 0x04, 0x28,
+ 0x02, 0xc0, 0x74, 0xc1, 0xc3, 0x02, 0x57, 0xca, 0x9c, 0x9d, 0x2b, 0x42, 0x50, 0x43, 0x09, 0xe4,
+ 0x19, 0xd2, 0x36, 0x5e, 0xbd, 0x6c, 0x35, 0x9a, 0x05, 0xbe, 0x94, 0x3b, 0x3b, 0x57, 0x56, 0xa2,
+ 0x76, 0xa9, 0x0c, 0xc1, 0x24, 0x53, 0x06, 0x75, 0x49, 0x38, 0x7d, 0x27, 0x25, 0x6a, 0x07, 0x17,
+ 0x57, 0x12, 0x77, 0x79, 0x25, 0x71, 0x9f, 0xae, 0x24, 0xee, 0xf5, 0xb5, 0x94, 0xb8, 0xbc, 0x96,
+ 0x12, 0x1f, 0xaf, 0xa5, 0xc4, 0xe1, 0xe3, 0x1e, 0xa6, 0xc7, 0xc3, 0x6e, 0x70, 0x2a, 0x9a, 0x45,
+ 0x7c, 0x87, 0xf8, 0x1a, 0xee, 0x5a, 0x1b, 0x3d, 0xa2, 0x8d, 0xfe, 0xd3, 0x1c, 0x62, 0x0f, 0xfb,
+ 0xc8, 0x67, 0x6f, 0xf0, 0x7f, 0xb7, 0x36, 0x62, 0xff, 0x0d, 0x74, 0x32, 0x40, 0x7e, 0x37, 0x1d,
+ 0xbe, 0xbd, 0xb7, 0xbe, 0x04, 0x00, 0x00, 0xff, 0xff, 0xfc, 0x2c, 0xbf, 0x64, 0x3f, 0x06, 0x00,
+ 0x00,
}
func (m *ConnectionEnd) Marshal() (dAtA []byte, err error) {
diff --git a/modules/core/03-connection/types/connection_test.go b/modules/core/03-connection/types/connection_test.go
index 08c90be9951..f844052f5c8 100644
--- a/modules/core/03-connection/types/connection_test.go
+++ b/modules/core/03-connection/types/connection_test.go
@@ -5,10 +5,10 @@ import (
"github.com/stretchr/testify/require"
- clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types"
- "github.com/cosmos/ibc-go/v3/modules/core/03-connection/types"
- commitmenttypes "github.com/cosmos/ibc-go/v3/modules/core/23-commitment/types"
- ibctesting "github.com/cosmos/ibc-go/v3/testing"
+ clienttypes "github.com/cosmos/ibc-go/v4/modules/core/02-client/types"
+ "github.com/cosmos/ibc-go/v4/modules/core/03-connection/types"
+ commitmenttypes "github.com/cosmos/ibc-go/v4/modules/core/23-commitment/types"
+ ibctesting "github.com/cosmos/ibc-go/v4/testing"
)
var (
diff --git a/modules/core/03-connection/types/events.go b/modules/core/03-connection/types/events.go
index 10fdbeff391..5afbb5fb904 100644
--- a/modules/core/03-connection/types/events.go
+++ b/modules/core/03-connection/types/events.go
@@ -3,7 +3,7 @@ package types
import (
"fmt"
- host "github.com/cosmos/ibc-go/v3/modules/core/24-host"
+ host "github.com/cosmos/ibc-go/v4/modules/core/24-host"
)
// IBC connection events
diff --git a/modules/core/03-connection/types/expected_keepers.go b/modules/core/03-connection/types/expected_keepers.go
index 05495181222..fdb248423b5 100644
--- a/modules/core/03-connection/types/expected_keepers.go
+++ b/modules/core/03-connection/types/expected_keepers.go
@@ -3,7 +3,7 @@ package types
import (
sdk "github.com/cosmos/cosmos-sdk/types"
- "github.com/cosmos/ibc-go/v3/modules/core/exported"
+ "github.com/cosmos/ibc-go/v4/modules/core/exported"
)
// ClientKeeper expected account IBC client keeper
diff --git a/modules/core/03-connection/types/genesis.go b/modules/core/03-connection/types/genesis.go
index 3502c13eb59..9f6bab811e3 100644
--- a/modules/core/03-connection/types/genesis.go
+++ b/modules/core/03-connection/types/genesis.go
@@ -3,7 +3,7 @@ package types
import (
"fmt"
- host "github.com/cosmos/ibc-go/v3/modules/core/24-host"
+ host "github.com/cosmos/ibc-go/v4/modules/core/24-host"
)
// NewConnectionPaths creates a ConnectionPaths instance.
diff --git a/modules/core/03-connection/types/genesis.pb.go b/modules/core/03-connection/types/genesis.pb.go
index 777d8e50e7d..98fd5a14f67 100644
--- a/modules/core/03-connection/types/genesis.pb.go
+++ b/modules/core/03-connection/types/genesis.pb.go
@@ -102,30 +102,30 @@ func init() {
}
var fileDescriptor_1879d34bc6ac3cd7 = []byte{
- // 356 bytes of a gzipped FileDescriptorProto
- 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x74, 0x91, 0x31, 0x4f, 0xf2, 0x40,
- 0x18, 0xc7, 0xdb, 0x17, 0xc2, 0x50, 0xde, 0xa9, 0x51, 0x6c, 0x18, 0xae, 0xa4, 0x1a, 0x61, 0x90,
- 0x3b, 0x81, 0xcd, 0x30, 0xd5, 0xc1, 0xb8, 0x11, 0x30, 0x0e, 0x26, 0x86, 0xb4, 0xc7, 0x63, 0xb9,
- 0x84, 0xde, 0x55, 0xee, 0x20, 0xf2, 0x09, 0x1c, 0x5c, 0xfc, 0x58, 0x8c, 0x8c, 0x4e, 0xc4, 0xc0,
- 0x37, 0xe0, 0x13, 0x98, 0xb6, 0xc4, 0xa2, 0xb1, 0x5b, 0xf3, 0x3c, 0xbf, 0xff, 0xef, 0x9f, 0xde,
- 0x63, 0x9c, 0x31, 0x9f, 0x12, 0x2a, 0xa6, 0x40, 0xa8, 0xe0, 0x1c, 0xa8, 0x62, 0x82, 0x93, 0x79,
- 0x8b, 0x04, 0xc0, 0x41, 0x32, 0x89, 0xa3, 0xa9, 0x50, 0xc2, 0xac, 0x30, 0x9f, 0xe2, 0x98, 0xc2,
- 0x19, 0x85, 0xe7, 0xad, 0xea, 0x51, 0x20, 0x02, 0x91, 0x20, 0x24, 0xfe, 0x4a, 0xe9, 0x6a, 0x3d,
- 0xc7, 0x79, 0x90, 0x4d, 0x40, 0xe7, 0xad, 0x60, 0xfc, 0xbf, 0x49, 0x8b, 0x06, 0xca, 0x53, 0x60,
- 0xde, 0x19, 0xe5, 0x0c, 0x92, 0x96, 0x5e, 0x2b, 0x34, 0xca, 0xed, 0x0b, 0xfc, 0x77, 0x3b, 0xbe,
- 0x1d, 0x01, 0x57, 0xec, 0x89, 0xc1, 0xe8, 0xfa, 0x7b, 0xee, 0x16, 0x97, 0x6b, 0x5b, 0xeb, 0x1f,
- 0x6a, 0xcc, 0x57, 0xdd, 0x38, 0xa1, 0x13, 0x06, 0x5c, 0x0d, 0xb3, 0xf1, 0x30, 0xf2, 0xd4, 0x58,
- 0x5a, 0xff, 0x92, 0x8a, 0x7a, 0x5e, 0x45, 0x26, 0xee, 0xc5, 0xb8, 0x7b, 0x1e, 0xdb, 0x77, 0x6b,
- 0x1b, 0x2d, 0xbc, 0x70, 0x72, 0xe5, 0xe4, 0x58, 0x9d, 0xfe, 0x71, 0xba, 0xf9, 0x15, 0x37, 0x1f,
- 0x0d, 0x8b, 0xc3, 0xcb, 0x8f, 0x80, 0x84, 0xe7, 0x19, 0x70, 0x0a, 0x56, 0xa1, 0xa6, 0x37, 0x8a,
- 0xee, 0xe9, 0x6e, 0x6d, 0xdb, 0xa9, 0x3c, 0x8f, 0x74, 0xfa, 0x95, 0x78, 0x95, 0xb9, 0x07, 0xfb,
- 0x85, 0xd9, 0x35, 0x4a, 0x91, 0x37, 0xf5, 0x42, 0x69, 0x15, 0x6b, 0x7a, 0xa3, 0xdc, 0x46, 0x79,
- 0xbf, 0xd5, 0x4b, 0xa8, 0xfd, 0x5b, 0xed, 0x33, 0xee, 0xfd, 0x72, 0x83, 0xf4, 0xd5, 0x06, 0xe9,
- 0x9f, 0x1b, 0xa4, 0xbf, 0x6f, 0x91, 0xb6, 0xda, 0x22, 0xed, 0x63, 0x8b, 0xb4, 0x87, 0x6e, 0xc0,
- 0xd4, 0x78, 0xe6, 0x63, 0x2a, 0x42, 0x42, 0x85, 0x0c, 0x85, 0x24, 0xcc, 0xa7, 0xcd, 0x40, 0x90,
- 0x79, 0x87, 0x84, 0x62, 0x34, 0x9b, 0x80, 0x4c, 0x0f, 0x7e, 0xd9, 0x69, 0x1e, 0xdc, 0x5c, 0x2d,
- 0x22, 0x90, 0x7e, 0x29, 0x39, 0x76, 0xe7, 0x2b, 0x00, 0x00, 0xff, 0xff, 0x2d, 0x04, 0xad, 0xb7,
- 0x6b, 0x02, 0x00, 0x00,
+ // 358 bytes of a gzipped FileDescriptorProto
+ 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x74, 0x91, 0xc1, 0x4e, 0xea, 0x40,
+ 0x14, 0x86, 0xdb, 0x0b, 0x61, 0x51, 0xee, 0xaa, 0xb9, 0x17, 0x1b, 0x16, 0x53, 0x52, 0x8d, 0xb0,
+ 0x90, 0x19, 0x01, 0x57, 0x86, 0x55, 0x5d, 0x18, 0x77, 0x04, 0x8c, 0x0b, 0x13, 0x43, 0xda, 0xe1,
+ 0x58, 0x26, 0xa1, 0x33, 0x95, 0x19, 0x88, 0x3c, 0x81, 0x0b, 0x37, 0x3e, 0x16, 0x4b, 0x96, 0xae,
+ 0x88, 0x81, 0x37, 0xe0, 0x09, 0x4c, 0x5b, 0x62, 0xd1, 0xd8, 0x5d, 0x73, 0xce, 0xf7, 0x7f, 0x7f,
+ 0x3a, 0xc7, 0x38, 0x61, 0x3e, 0x25, 0x54, 0x4c, 0x81, 0x50, 0xc1, 0x39, 0x50, 0xc5, 0x04, 0x27,
+ 0xf3, 0x16, 0x09, 0x80, 0x83, 0x64, 0x12, 0x47, 0x53, 0xa1, 0x84, 0x59, 0x61, 0x3e, 0xc5, 0x31,
+ 0x85, 0x33, 0x0a, 0xcf, 0x5b, 0xd5, 0x7f, 0x81, 0x08, 0x44, 0x82, 0x90, 0xf8, 0x2b, 0xa5, 0xab,
+ 0xf5, 0x1c, 0xe7, 0x41, 0x36, 0x01, 0x9d, 0xd7, 0x82, 0xf1, 0xf7, 0x3a, 0x2d, 0x1a, 0x28, 0x4f,
+ 0x81, 0x79, 0x6b, 0x94, 0x33, 0x48, 0x5a, 0x7a, 0xad, 0xd0, 0x28, 0xb7, 0xcf, 0xf0, 0xef, 0xed,
+ 0xf8, 0x66, 0x04, 0x5c, 0xb1, 0x47, 0x06, 0xa3, 0xab, 0xaf, 0xb9, 0x5b, 0x5c, 0xae, 0x6d, 0xad,
+ 0x7f, 0xa8, 0x31, 0x5f, 0x74, 0xe3, 0x88, 0x4e, 0x18, 0x70, 0x35, 0xcc, 0xc6, 0xc3, 0xc8, 0x53,
+ 0x63, 0x69, 0xfd, 0x49, 0x2a, 0xea, 0x79, 0x15, 0x99, 0xb8, 0x17, 0xe3, 0xee, 0x69, 0x6c, 0xdf,
+ 0xad, 0x6d, 0xb4, 0xf0, 0xc2, 0xc9, 0xa5, 0x93, 0x63, 0x75, 0xfa, 0xff, 0xd3, 0xcd, 0x8f, 0xb8,
+ 0xf9, 0x60, 0x58, 0x1c, 0x9e, 0xbf, 0x05, 0x24, 0x3c, 0xcd, 0x80, 0x53, 0xb0, 0x0a, 0x35, 0xbd,
+ 0x51, 0x74, 0x8f, 0x77, 0x6b, 0xdb, 0x4e, 0xe5, 0x79, 0xa4, 0xd3, 0xaf, 0xc4, 0xab, 0xcc, 0x3d,
+ 0xd8, 0x2f, 0xcc, 0xae, 0x51, 0x8a, 0xbc, 0xa9, 0x17, 0x4a, 0xab, 0x58, 0xd3, 0x1b, 0xe5, 0x36,
+ 0xca, 0xfb, 0xad, 0x5e, 0x42, 0xed, 0xdf, 0x6a, 0x9f, 0x71, 0xef, 0x96, 0x1b, 0xa4, 0xaf, 0x36,
+ 0x48, 0xff, 0xd8, 0x20, 0xfd, 0x6d, 0x8b, 0xb4, 0xd5, 0x16, 0x69, 0xef, 0x5b, 0xa4, 0xdd, 0x77,
+ 0x03, 0xa6, 0xc6, 0x33, 0x1f, 0x53, 0x11, 0x12, 0x2a, 0x64, 0x28, 0x24, 0x61, 0x3e, 0x6d, 0x06,
+ 0x82, 0xcc, 0x2f, 0x48, 0x28, 0x46, 0xb3, 0x09, 0xc8, 0xf4, 0xe0, 0xe7, 0x9d, 0xe6, 0xc1, 0xcd,
+ 0xd5, 0x22, 0x02, 0xe9, 0x97, 0x92, 0x63, 0x77, 0x3e, 0x03, 0x00, 0x00, 0xff, 0xff, 0x25, 0x96,
+ 0xe3, 0x66, 0x6b, 0x02, 0x00, 0x00,
}
func (m *GenesisState) Marshal() (dAtA []byte, err error) {
diff --git a/modules/core/03-connection/types/genesis_test.go b/modules/core/03-connection/types/genesis_test.go
index 31906350531..eec0a61c9af 100644
--- a/modules/core/03-connection/types/genesis_test.go
+++ b/modules/core/03-connection/types/genesis_test.go
@@ -5,9 +5,9 @@ import (
"github.com/stretchr/testify/require"
- "github.com/cosmos/ibc-go/v3/modules/core/03-connection/types"
- commitmenttypes "github.com/cosmos/ibc-go/v3/modules/core/23-commitment/types"
- ibctesting "github.com/cosmos/ibc-go/v3/testing"
+ "github.com/cosmos/ibc-go/v4/modules/core/03-connection/types"
+ commitmenttypes "github.com/cosmos/ibc-go/v4/modules/core/23-commitment/types"
+ ibctesting "github.com/cosmos/ibc-go/v4/testing"
)
func TestValidateGenesis(t *testing.T) {
diff --git a/modules/core/03-connection/types/keys.go b/modules/core/03-connection/types/keys.go
index e7ed7a943f3..eaf6eb18e97 100644
--- a/modules/core/03-connection/types/keys.go
+++ b/modules/core/03-connection/types/keys.go
@@ -6,7 +6,7 @@ import (
sdkerrors "github.com/cosmos/cosmos-sdk/types/errors"
- host "github.com/cosmos/ibc-go/v3/modules/core/24-host"
+ host "github.com/cosmos/ibc-go/v4/modules/core/24-host"
)
const (
diff --git a/modules/core/03-connection/types/keys_test.go b/modules/core/03-connection/types/keys_test.go
index b0478d00703..1df435836da 100644
--- a/modules/core/03-connection/types/keys_test.go
+++ b/modules/core/03-connection/types/keys_test.go
@@ -6,7 +6,7 @@ import (
"github.com/stretchr/testify/require"
- "github.com/cosmos/ibc-go/v3/modules/core/03-connection/types"
+ "github.com/cosmos/ibc-go/v4/modules/core/03-connection/types"
)
// tests ParseConnectionSequence and IsValidConnectionID
diff --git a/modules/core/03-connection/types/msgs.go b/modules/core/03-connection/types/msgs.go
index 3ea63c84d37..fb410d095b2 100644
--- a/modules/core/03-connection/types/msgs.go
+++ b/modules/core/03-connection/types/msgs.go
@@ -5,10 +5,10 @@ import (
sdk "github.com/cosmos/cosmos-sdk/types"
sdkerrors "github.com/cosmos/cosmos-sdk/types/errors"
- clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types"
- commitmenttypes "github.com/cosmos/ibc-go/v3/modules/core/23-commitment/types"
- host "github.com/cosmos/ibc-go/v3/modules/core/24-host"
- "github.com/cosmos/ibc-go/v3/modules/core/exported"
+ clienttypes "github.com/cosmos/ibc-go/v4/modules/core/02-client/types"
+ commitmenttypes "github.com/cosmos/ibc-go/v4/modules/core/23-commitment/types"
+ host "github.com/cosmos/ibc-go/v4/modules/core/24-host"
+ "github.com/cosmos/ibc-go/v4/modules/core/exported"
)
var (
diff --git a/modules/core/03-connection/types/msgs_test.go b/modules/core/03-connection/types/msgs_test.go
index b6f4544b98f..8c4945973bf 100644
--- a/modules/core/03-connection/types/msgs_test.go
+++ b/modules/core/03-connection/types/msgs_test.go
@@ -12,12 +12,12 @@ import (
abci "github.com/tendermint/tendermint/abci/types"
dbm "github.com/tendermint/tm-db"
- clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types"
- "github.com/cosmos/ibc-go/v3/modules/core/03-connection/types"
- commitmenttypes "github.com/cosmos/ibc-go/v3/modules/core/23-commitment/types"
- ibctmtypes "github.com/cosmos/ibc-go/v3/modules/light-clients/07-tendermint/types"
- ibctesting "github.com/cosmos/ibc-go/v3/testing"
- "github.com/cosmos/ibc-go/v3/testing/simapp"
+ clienttypes "github.com/cosmos/ibc-go/v4/modules/core/02-client/types"
+ "github.com/cosmos/ibc-go/v4/modules/core/03-connection/types"
+ commitmenttypes "github.com/cosmos/ibc-go/v4/modules/core/23-commitment/types"
+ ibctmtypes "github.com/cosmos/ibc-go/v4/modules/light-clients/07-tendermint/types"
+ ibctesting "github.com/cosmos/ibc-go/v4/testing"
+ "github.com/cosmos/ibc-go/v4/testing/simapp"
)
var (
diff --git a/modules/core/03-connection/types/params_test.go b/modules/core/03-connection/types/params_test.go
index 28c4311ff94..fa8e61a7556 100644
--- a/modules/core/03-connection/types/params_test.go
+++ b/modules/core/03-connection/types/params_test.go
@@ -5,7 +5,7 @@ import (
"github.com/stretchr/testify/require"
- "github.com/cosmos/ibc-go/v3/modules/core/03-connection/types"
+ "github.com/cosmos/ibc-go/v4/modules/core/03-connection/types"
)
func TestValidateParams(t *testing.T) {
diff --git a/modules/core/03-connection/types/query.go b/modules/core/03-connection/types/query.go
index 2cae95934b6..095995cec63 100644
--- a/modules/core/03-connection/types/query.go
+++ b/modules/core/03-connection/types/query.go
@@ -3,8 +3,8 @@ package types
import (
codectypes "github.com/cosmos/cosmos-sdk/codec/types"
- clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types"
- "github.com/cosmos/ibc-go/v3/modules/core/exported"
+ clienttypes "github.com/cosmos/ibc-go/v4/modules/core/02-client/types"
+ "github.com/cosmos/ibc-go/v4/modules/core/exported"
)
var (
diff --git a/modules/core/03-connection/types/query.pb.go b/modules/core/03-connection/types/query.pb.go
index a3d5cf40410..b180904f9c5 100644
--- a/modules/core/03-connection/types/query.pb.go
+++ b/modules/core/03-connection/types/query.pb.go
@@ -8,7 +8,7 @@ import (
fmt "fmt"
types1 "github.com/cosmos/cosmos-sdk/codec/types"
query "github.com/cosmos/cosmos-sdk/types/query"
- types "github.com/cosmos/ibc-go/v3/modules/core/02-client/types"
+ types "github.com/cosmos/ibc-go/v4/modules/core/02-client/types"
_ "github.com/gogo/protobuf/gogoproto"
grpc1 "github.com/gogo/protobuf/grpc"
proto "github.com/gogo/protobuf/proto"
@@ -638,60 +638,60 @@ var fileDescriptor_cd8d529f8c7cd06b = []byte{
// 895 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x56, 0x31, 0x6f, 0x23, 0x45,
0x14, 0xf6, 0x38, 0xb9, 0xd3, 0x65, 0x1c, 0xee, 0x60, 0xe4, 0xbb, 0x33, 0x0b, 0x38, 0x61, 0x8f,
- 0x90, 0x1c, 0x70, 0x33, 0xe7, 0x58, 0x77, 0x3a, 0x8e, 0x18, 0x81, 0xa3, 0x40, 0xd2, 0x44, 0x61,
- 0x91, 0x28, 0x68, 0xa2, 0xdd, 0xf5, 0x64, 0xbd, 0x92, 0xbd, 0xe3, 0x78, 0xd6, 0x46, 0x56, 0x64,
- 0x21, 0xf1, 0x07, 0x40, 0xa2, 0xa1, 0xa1, 0xa5, 0xe0, 0x0f, 0x50, 0xd0, 0x51, 0xa5, 0x8c, 0x44,
- 0x93, 0x2a, 0x42, 0x0e, 0x2d, 0x0d, 0xbf, 0x00, 0xed, 0xcc, 0x38, 0x3b, 0x6b, 0xaf, 0x13, 0xc7,
- 0x22, 0xdd, 0xe6, 0xcd, 0x7b, 0xf3, 0xbe, 0xef, 0x7b, 0x6f, 0x3e, 0x07, 0x9a, 0xbe, 0xe3, 0x12,
- 0x97, 0xb5, 0x29, 0x71, 0x59, 0x10, 0x50, 0x37, 0xf4, 0x59, 0x40, 0xba, 0x25, 0x72, 0xd8, 0xa1,
- 0xed, 0x1e, 0x6e, 0xb5, 0x59, 0xc8, 0xd0, 0x03, 0xdf, 0x71, 0x71, 0x94, 0x83, 0xe3, 0x1c, 0xdc,
- 0x2d, 0x19, 0x79, 0x8f, 0x79, 0x4c, 0xa4, 0x90, 0xe8, 0x4b, 0x66, 0x1b, 0xef, 0xb9, 0x8c, 0x37,
- 0x19, 0x27, 0x8e, 0xcd, 0xa9, 0xbc, 0x86, 0x74, 0x4b, 0x0e, 0x0d, 0xed, 0x12, 0x69, 0xd9, 0x9e,
- 0x1f, 0xd8, 0xa2, 0x5c, 0xe6, 0x2e, 0xc5, 0xdd, 0x1b, 0x3e, 0x0d, 0xc2, 0xa8, 0xb3, 0xfc, 0x52,
- 0x09, 0xab, 0x13, 0xe0, 0x69, 0x40, 0x64, 0xe2, 0x9b, 0x1e, 0x63, 0x5e, 0x83, 0x12, 0xbb, 0xe5,
- 0x13, 0x3b, 0x08, 0x58, 0x28, 0xda, 0x70, 0x75, 0xfa, 0xba, 0x3a, 0x15, 0x7f, 0x39, 0x9d, 0x03,
- 0x62, 0x07, 0x8a, 0x9c, 0x59, 0x81, 0x0f, 0xbe, 0x88, 0x40, 0x6e, 0x5e, 0xdc, 0x68, 0xd1, 0xc3,
- 0x0e, 0xe5, 0x21, 0x7a, 0x04, 0x5f, 0x89, 0xdb, 0xec, 0xfb, 0xb5, 0x02, 0x58, 0x06, 0x6b, 0x0b,
- 0xd6, 0x62, 0x1c, 0xdc, 0xa9, 0x99, 0xbf, 0x03, 0xf8, 0x70, 0xac, 0x9e, 0xb7, 0x58, 0xc0, 0x29,
- 0xda, 0x82, 0x30, 0xce, 0x15, 0xd5, 0xb9, 0xf5, 0x15, 0x9c, 0x2e, 0x26, 0x8e, 0xeb, 0xb7, 0x82,
- 0x9a, 0xa5, 0x15, 0xa2, 0x3c, 0xbc, 0xd5, 0x6a, 0x33, 0x76, 0x50, 0xc8, 0x2e, 0x83, 0xb5, 0x45,
- 0x4b, 0xfe, 0x81, 0x36, 0xe1, 0xa2, 0xf8, 0xd8, 0xaf, 0x53, 0xdf, 0xab, 0x87, 0x85, 0x39, 0x71,
- 0xbd, 0xa1, 0x5d, 0x2f, 0x75, 0xec, 0x96, 0xf0, 0xb6, 0xc8, 0xa8, 0xce, 0x1f, 0x9f, 0x2d, 0x65,
- 0xac, 0x9c, 0xa8, 0x92, 0x21, 0xd3, 0x1e, 0x03, 0xcf, 0x87, 0xec, 0x3f, 0x83, 0x30, 0x1e, 0x97,
+ 0x90, 0x1c, 0x70, 0x33, 0xe7, 0x84, 0x3b, 0x1d, 0x21, 0x46, 0xe0, 0x28, 0x90, 0x34, 0x51, 0x58,
+ 0x24, 0x0a, 0x9a, 0x68, 0x77, 0x3d, 0x59, 0xaf, 0x64, 0xef, 0x38, 0x9e, 0xb5, 0x91, 0x15, 0x59,
+ 0x48, 0xfc, 0x01, 0x90, 0x68, 0x68, 0x68, 0x29, 0xf8, 0x03, 0x14, 0x74, 0x54, 0x29, 0x23, 0xd1,
+ 0xa4, 0x8a, 0x90, 0x43, 0x4b, 0xc3, 0x2f, 0x40, 0x3b, 0x33, 0xce, 0xce, 0xda, 0xeb, 0xc4, 0xb1,
+ 0x2e, 0xdd, 0xe6, 0xcd, 0x7b, 0xf3, 0xbe, 0xef, 0x7b, 0x6f, 0x3e, 0x07, 0x9a, 0xbe, 0xe3, 0x12,
+ 0x97, 0xb5, 0x28, 0x71, 0x59, 0x10, 0x50, 0x37, 0xf4, 0x59, 0x40, 0x3a, 0x25, 0x72, 0xd8, 0xa6,
+ 0xad, 0x2e, 0x6e, 0xb6, 0x58, 0xc8, 0xd0, 0x03, 0xdf, 0x71, 0x71, 0x94, 0x83, 0xe3, 0x1c, 0xdc,
+ 0x29, 0x19, 0x79, 0x8f, 0x79, 0x4c, 0xa4, 0x90, 0xe8, 0x4b, 0x66, 0x1b, 0xef, 0xb9, 0x8c, 0x37,
+ 0x18, 0x27, 0x8e, 0xcd, 0xa9, 0xbc, 0x86, 0x74, 0x4a, 0x0e, 0x0d, 0xed, 0x12, 0x69, 0xda, 0x9e,
+ 0x1f, 0xd8, 0xa2, 0x5c, 0xe6, 0x2e, 0xc4, 0xdd, 0xeb, 0x3e, 0x0d, 0xc2, 0xa8, 0xb3, 0xfc, 0x52,
+ 0x09, 0xcb, 0x63, 0xe0, 0x69, 0x40, 0x64, 0xe2, 0x9b, 0x1e, 0x63, 0x5e, 0x9d, 0x12, 0xbb, 0xe9,
+ 0x13, 0x3b, 0x08, 0x58, 0x28, 0xda, 0x70, 0x75, 0xfa, 0xba, 0x3a, 0x15, 0x7f, 0x39, 0xed, 0x03,
+ 0x62, 0x07, 0x8a, 0x9c, 0x59, 0x86, 0x0f, 0xbe, 0x8c, 0x40, 0x6e, 0x5e, 0xdc, 0x68, 0xd1, 0xc3,
+ 0x36, 0xe5, 0x21, 0x7a, 0x04, 0x5f, 0x89, 0xdb, 0xec, 0xfb, 0xd5, 0x02, 0x58, 0x04, 0x2b, 0x73,
+ 0xd6, 0x7c, 0x1c, 0xdc, 0xa9, 0x9a, 0x7f, 0x00, 0xf8, 0x70, 0xa4, 0x9e, 0x37, 0x59, 0xc0, 0x29,
+ 0xda, 0x82, 0x30, 0xce, 0x15, 0xd5, 0xb9, 0xd5, 0x25, 0x9c, 0x2e, 0x26, 0x8e, 0xeb, 0xb7, 0x82,
+ 0xaa, 0xa5, 0x15, 0xa2, 0x3c, 0xbc, 0xd5, 0x6c, 0x31, 0x76, 0x50, 0xc8, 0x2e, 0x82, 0x95, 0x79,
+ 0x4b, 0xfe, 0x81, 0x36, 0xe1, 0xbc, 0xf8, 0xd8, 0xaf, 0x51, 0xdf, 0xab, 0x85, 0x85, 0x19, 0x71,
+ 0xbd, 0xa1, 0x5d, 0x2f, 0x75, 0xec, 0x94, 0xf0, 0xb6, 0xc8, 0xa8, 0xcc, 0x1e, 0x9f, 0x2d, 0x64,
+ 0xac, 0x9c, 0xa8, 0x92, 0x21, 0xd3, 0x1e, 0x01, 0xcf, 0x07, 0xec, 0x3f, 0x87, 0x30, 0x1e, 0x97,
0x02, 0xff, 0x2e, 0x96, 0xb3, 0xc5, 0xd1, 0x6c, 0xb1, 0x5c, 0x11, 0x35, 0x5b, 0xbc, 0x67, 0x7b,
- 0x54, 0xd5, 0x5a, 0x5a, 0xa5, 0xf9, 0x0f, 0x80, 0x85, 0xf1, 0x1e, 0x4a, 0xa1, 0x5d, 0x98, 0x8b,
- 0x89, 0xf2, 0x02, 0x58, 0x9e, 0x5b, 0xcb, 0xad, 0x7f, 0x30, 0x49, 0xa2, 0x9d, 0x1a, 0x0d, 0x42,
- 0xff, 0xc0, 0xa7, 0x35, 0x4d, 0x6c, 0xfd, 0x02, 0xf4, 0x79, 0x02, 0x74, 0x56, 0x80, 0x5e, 0xbd,
+ 0x54, 0xd5, 0x5a, 0x5a, 0xa5, 0xf9, 0x2f, 0x80, 0x85, 0xd1, 0x1e, 0x4a, 0xa1, 0x5d, 0x98, 0x8b,
+ 0x89, 0xf2, 0x02, 0x58, 0x9c, 0x59, 0xc9, 0xad, 0x7e, 0x30, 0x4e, 0xa2, 0x9d, 0x2a, 0x0d, 0x42,
+ 0xff, 0xc0, 0xa7, 0x55, 0x4d, 0x6c, 0xfd, 0x02, 0xf4, 0x45, 0x02, 0x74, 0x56, 0x80, 0x5e, 0xbe,
0x12, 0xb4, 0x04, 0xa3, 0xa3, 0x46, 0x2f, 0xe0, 0xed, 0x6b, 0xea, 0xaa, 0xf2, 0xcd, 0x0d, 0xf8,
- 0x96, 0xa4, 0x2b, 0xd2, 0x52, 0x84, 0x7d, 0x03, 0x2e, 0xc8, 0x2b, 0xe2, 0x95, 0xba, 0x23, 0x03,
- 0x3b, 0x35, 0xf3, 0x17, 0x00, 0x8b, 0x93, 0xca, 0x95, 0x66, 0x8f, 0xe1, 0xab, 0xda, 0x5a, 0xb6,
- 0xec, 0xb0, 0x2e, 0x85, 0x5b, 0xb0, 0xee, 0xc5, 0xf1, 0xbd, 0x28, 0x7c, 0x93, 0x9b, 0xe3, 0xc0,
- 0xb7, 0x47, 0xa6, 0x2a, 0x11, 0x7f, 0x19, 0xda, 0xe1, 0x70, 0x0f, 0x50, 0x25, 0xf5, 0x05, 0x55,
- 0x0b, 0xff, 0x9e, 0x2d, 0xe5, 0x7b, 0x76, 0xb3, 0xf1, 0xd2, 0x4c, 0x1c, 0x9b, 0x23, 0x6f, 0x6b,
- 0x00, 0xa0, 0x79, 0x59, 0x13, 0x25, 0x88, 0x0d, 0x1f, 0xfa, 0x17, 0x9b, 0xb1, 0xaf, 0xb4, 0xe5,
- 0x51, 0x8a, 0x5a, 0xdb, 0xc7, 0x69, 0xd4, 0xb4, 0x65, 0xd2, 0xee, 0xbc, 0xef, 0xa7, 0x85, 0x6f,
- 0x52, 0xc8, 0xdf, 0x00, 0x7c, 0x67, 0x94, 0x64, 0x44, 0x2b, 0xe0, 0x1d, 0xfe, 0x3f, 0x8a, 0x89,
- 0x56, 0xe1, 0xbd, 0x36, 0xed, 0xfa, 0x3c, 0x3a, 0x0d, 0x3a, 0x4d, 0x87, 0xb6, 0x05, 0x99, 0x79,
- 0xeb, 0xee, 0x30, 0xbc, 0x2b, 0xa2, 0x89, 0x44, 0x8d, 0x98, 0x96, 0xa8, 0x90, 0x9f, 0x01, 0xb8,
- 0x72, 0x05, 0x72, 0x35, 0xa1, 0x0a, 0x8c, 0x56, 0x53, 0x9e, 0x24, 0x26, 0x93, 0xc7, 0xd2, 0x98,
- 0xf1, 0xd0, 0x98, 0xf1, 0xa7, 0x41, 0xcf, 0xba, 0xeb, 0x26, 0xae, 0x49, 0xbe, 0x98, 0x6c, 0xf2,
- 0xc5, 0xc4, 0xa3, 0x99, 0xbb, 0x6c, 0x34, 0xf3, 0x33, 0x8c, 0x66, 0xfd, 0xfb, 0x3b, 0xf0, 0x96,
- 0x20, 0x88, 0x7e, 0x05, 0x10, 0xc6, 0x2c, 0x11, 0x9e, 0xe4, 0x50, 0xe9, 0xbf, 0x24, 0x06, 0x99,
- 0x3a, 0x5f, 0x0a, 0x66, 0x7e, 0xf4, 0xdd, 0x9f, 0x7f, 0xff, 0x98, 0x7d, 0x86, 0xca, 0xe4, 0xca,
- 0xdf, 0x3f, 0x4e, 0x8e, 0x12, 0x73, 0xef, 0xa3, 0x9f, 0x01, 0xcc, 0x69, 0xc6, 0x81, 0xa6, 0xed,
- 0x3e, 0x74, 0x28, 0xe3, 0xe9, 0xf4, 0x05, 0x0a, 0xef, 0xfb, 0x02, 0xef, 0x0a, 0x7a, 0x34, 0x05,
- 0x5e, 0xf4, 0x07, 0x80, 0xaf, 0x8d, 0xd9, 0x1b, 0x7a, 0x76, 0x79, 0xd3, 0x09, 0x6e, 0x6a, 0x3c,
- 0xbf, 0x6e, 0x99, 0x42, 0xfc, 0xb1, 0x40, 0xfc, 0x02, 0x3d, 0x9f, 0x88, 0x58, 0x6e, 0x5c, 0x52,
- 0xe8, 0xe1, 0x16, 0xf6, 0xd1, 0x29, 0x80, 0xf7, 0x53, 0x6d, 0x09, 0x7d, 0x38, 0xa5, 0x7a, 0xe3,
- 0x7e, 0x69, 0xbc, 0x9c, 0xa5, 0x54, 0x11, 0xda, 0x16, 0x84, 0xaa, 0xe8, 0x93, 0x19, 0x56, 0x86,
- 0xe8, 0xa6, 0x89, 0x7e, 0xca, 0xc2, 0xc2, 0xa4, 0x27, 0x8d, 0x36, 0xa6, 0x85, 0x98, 0xe6, 0x61,
- 0x46, 0x65, 0xc6, 0x6a, 0xc5, 0xf1, 0x5b, 0xc1, 0xb1, 0x87, 0xbe, 0x99, 0x89, 0x63, 0xd2, 0x81,
- 0xc8, 0xd0, 0xcd, 0xc8, 0xd1, 0x88, 0x2f, 0xf6, 0x89, 0x34, 0x0d, 0xed, 0x40, 0x06, 0xfa, 0xd5,
- 0xaf, 0x8e, 0x07, 0x45, 0x70, 0x32, 0x28, 0x82, 0xbf, 0x06, 0x45, 0xf0, 0xc3, 0x79, 0x31, 0x73,
- 0x72, 0x5e, 0xcc, 0x9c, 0x9e, 0x17, 0x33, 0x5f, 0x6f, 0x78, 0x7e, 0x58, 0xef, 0x38, 0xd8, 0x65,
- 0x4d, 0xa2, 0xfe, 0x01, 0xf6, 0x1d, 0xf7, 0x89, 0xc7, 0x48, 0xb7, 0x4c, 0x9a, 0xac, 0xd6, 0x69,
- 0x50, 0x2e, 0x11, 0x3f, 0x2d, 0x3f, 0xd1, 0x40, 0x87, 0xbd, 0x16, 0xe5, 0xce, 0x6d, 0xe1, 0x7f,
- 0xe5, 0xff, 0x02, 0x00, 0x00, 0xff, 0xff, 0x7e, 0xd7, 0xeb, 0x28, 0x8e, 0x0b, 0x00, 0x00,
+ 0x96, 0xa4, 0x2b, 0xd2, 0x52, 0x84, 0x7d, 0x03, 0xce, 0xc9, 0x2b, 0xe2, 0x95, 0xba, 0x23, 0x03,
+ 0x3b, 0x55, 0xf3, 0x57, 0x00, 0x8b, 0xe3, 0xca, 0x95, 0x66, 0x8f, 0xe1, 0xab, 0xda, 0x5a, 0x36,
+ 0xed, 0xb0, 0x26, 0x85, 0x9b, 0xb3, 0xee, 0xc5, 0xf1, 0xbd, 0x28, 0x7c, 0x93, 0x9b, 0xe3, 0xc0,
+ 0xb7, 0x87, 0xa6, 0x2a, 0x11, 0x7f, 0x15, 0xda, 0xe1, 0x60, 0x0f, 0x50, 0x39, 0xf5, 0x05, 0x55,
+ 0x0a, 0xff, 0x9d, 0x2d, 0xe4, 0xbb, 0x76, 0xa3, 0xbe, 0x6e, 0x26, 0x8e, 0xcd, 0xa1, 0xb7, 0xd5,
+ 0x07, 0xd0, 0xbc, 0xac, 0x89, 0x12, 0xc4, 0x86, 0x0f, 0xfd, 0x8b, 0xcd, 0xd8, 0x57, 0xda, 0xf2,
+ 0x28, 0x45, 0xad, 0xed, 0xe3, 0x34, 0x6a, 0xda, 0x32, 0x69, 0x77, 0xde, 0xf7, 0xd3, 0xc2, 0x37,
+ 0x29, 0xe4, 0xef, 0x00, 0xbe, 0x33, 0x4c, 0x32, 0xa2, 0x15, 0xf0, 0x36, 0x7f, 0x89, 0x62, 0xa2,
+ 0x65, 0x78, 0xaf, 0x45, 0x3b, 0x3e, 0x8f, 0x4e, 0x83, 0x76, 0xc3, 0xa1, 0x2d, 0x41, 0x66, 0xd6,
+ 0xba, 0x3b, 0x08, 0xef, 0x8a, 0x68, 0x22, 0x51, 0x23, 0xa6, 0x25, 0x2a, 0xe4, 0x67, 0x00, 0x2e,
+ 0x5d, 0x81, 0x5c, 0x4d, 0xa8, 0x0c, 0xa3, 0xd5, 0x94, 0x27, 0x89, 0xc9, 0xe4, 0xb1, 0x34, 0x66,
+ 0x3c, 0x30, 0x66, 0xfc, 0x59, 0xd0, 0xb5, 0xee, 0xba, 0x89, 0x6b, 0x92, 0x2f, 0x26, 0x9b, 0x7c,
+ 0x31, 0xf1, 0x68, 0x66, 0x2e, 0x1b, 0xcd, 0xec, 0x14, 0xa3, 0x59, 0xfd, 0xe1, 0x0e, 0xbc, 0x25,
+ 0x08, 0xa2, 0xdf, 0x00, 0x84, 0x31, 0x4b, 0x84, 0xc7, 0x39, 0x54, 0xfa, 0x2f, 0x89, 0x41, 0x26,
+ 0xce, 0x97, 0x82, 0x99, 0x1f, 0x7f, 0xff, 0xd7, 0x3f, 0x3f, 0x65, 0x9f, 0xa1, 0x35, 0x72, 0xe5,
+ 0xef, 0x1f, 0x27, 0x47, 0x89, 0xb9, 0xf7, 0xd0, 0x2f, 0x00, 0xe6, 0x34, 0xe3, 0x40, 0x93, 0x76,
+ 0x1f, 0x38, 0x94, 0xf1, 0x74, 0xf2, 0x02, 0x85, 0xf7, 0x7d, 0x81, 0x77, 0x09, 0x3d, 0x9a, 0x00,
+ 0x2f, 0xfa, 0x13, 0xc0, 0xd7, 0x46, 0xec, 0x0d, 0x3d, 0xbb, 0xbc, 0xe9, 0x18, 0x37, 0x35, 0x9e,
+ 0x5f, 0xb7, 0x4c, 0x21, 0xfe, 0x44, 0x20, 0x7e, 0x81, 0x9e, 0x8f, 0x45, 0x2c, 0x37, 0x2e, 0x29,
+ 0xf4, 0x60, 0x0b, 0x7b, 0xe8, 0x14, 0xc0, 0xfb, 0xa9, 0xb6, 0x84, 0x3e, 0x9a, 0x50, 0xbd, 0x51,
+ 0xbf, 0x34, 0xd6, 0xa7, 0x29, 0x55, 0x84, 0xb6, 0x05, 0xa1, 0x0a, 0xfa, 0x74, 0x8a, 0x95, 0x21,
+ 0xba, 0x69, 0xa2, 0x9f, 0xb3, 0xb0, 0x30, 0xee, 0x49, 0xa3, 0x8d, 0x49, 0x21, 0xa6, 0x79, 0x98,
+ 0x51, 0x9e, 0xb2, 0x5a, 0x71, 0xfc, 0x4e, 0x70, 0xec, 0xa2, 0x6f, 0xa7, 0xe2, 0x98, 0x74, 0x20,
+ 0x32, 0x70, 0x33, 0x72, 0x34, 0xe4, 0x8b, 0x3d, 0x22, 0x4d, 0x43, 0x3b, 0x90, 0x81, 0x5e, 0xe5,
+ 0xeb, 0xe3, 0x7e, 0x11, 0x9c, 0xf4, 0x8b, 0xe0, 0xef, 0x7e, 0x11, 0xfc, 0x78, 0x5e, 0xcc, 0x9c,
+ 0x9c, 0x17, 0x33, 0xa7, 0xe7, 0xc5, 0xcc, 0x37, 0x1b, 0x9e, 0x1f, 0xd6, 0xda, 0x0e, 0x76, 0x59,
+ 0x83, 0xa8, 0x7f, 0x80, 0x7d, 0xc7, 0x7d, 0xe2, 0x31, 0xd2, 0xf9, 0x90, 0x34, 0x58, 0xb5, 0x5d,
+ 0xa7, 0x5c, 0x22, 0x7e, 0xba, 0xf6, 0x44, 0x03, 0x1d, 0x76, 0x9b, 0x94, 0x3b, 0xb7, 0x85, 0xff,
+ 0xad, 0xfd, 0x1f, 0x00, 0x00, 0xff, 0xff, 0x76, 0x45, 0xa5, 0xf9, 0x8e, 0x0b, 0x00, 0x00,
}
// Reference imports to suppress errors if they are not otherwise used.
diff --git a/modules/core/03-connection/types/tx.pb.go b/modules/core/03-connection/types/tx.pb.go
index 3e332e51c4b..4862d905716 100644
--- a/modules/core/03-connection/types/tx.pb.go
+++ b/modules/core/03-connection/types/tx.pb.go
@@ -7,7 +7,7 @@ import (
context "context"
fmt "fmt"
types "github.com/cosmos/cosmos-sdk/codec/types"
- types1 "github.com/cosmos/ibc-go/v3/modules/core/02-client/types"
+ types1 "github.com/cosmos/ibc-go/v4/modules/core/02-client/types"
_ "github.com/gogo/protobuf/gogoproto"
grpc1 "github.com/gogo/protobuf/grpc"
proto "github.com/gogo/protobuf/proto"
@@ -115,9 +115,8 @@ var xxx_messageInfo_MsgConnectionOpenInitResponse proto.InternalMessageInfo
// connection on Chain B.
type MsgConnectionOpenTry struct {
ClientId string `protobuf:"bytes,1,opt,name=client_id,json=clientId,proto3" json:"client_id,omitempty" yaml:"client_id"`
- // in the case of crossing hello's, when both chains call OpenInit, we need
- // the connection identifier of the previous connection in state INIT
- PreviousConnectionId string `protobuf:"bytes,2,opt,name=previous_connection_id,json=previousConnectionId,proto3" json:"previous_connection_id,omitempty" yaml:"previous_connection_id"`
+ // Deprecated: this field is unused. Crossing hellos are no longer supported in core IBC.
+ PreviousConnectionId string `protobuf:"bytes,2,opt,name=previous_connection_id,json=previousConnectionId,proto3" json:"previous_connection_id,omitempty" yaml:"previous_connection_id"` // Deprecated: Do not use.
ClientState *types.Any `protobuf:"bytes,3,opt,name=client_state,json=clientState,proto3" json:"client_state,omitempty" yaml:"client_state"`
Counterparty Counterparty `protobuf:"bytes,4,opt,name=counterparty,proto3" json:"counterparty"`
DelayPeriod uint64 `protobuf:"varint,5,opt,name=delay_period,json=delayPeriod,proto3" json:"delay_period,omitempty" yaml:"delay_period"`
@@ -388,65 +387,66 @@ func init() {
func init() { proto.RegisterFile("ibc/core/connection/v1/tx.proto", fileDescriptor_5d00fde5fc97399e) }
var fileDescriptor_5d00fde5fc97399e = []byte{
- // 927 bytes of a gzipped FileDescriptorProto
+ // 929 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x56, 0x31, 0x73, 0xe3, 0x44,
- 0x14, 0xb6, 0x62, 0x27, 0xb1, 0xd7, 0x86, 0xbb, 0x5b, 0x9c, 0x44, 0x98, 0x3b, 0xcb, 0xa7, 0x81,
- 0x21, 0x05, 0x91, 0xce, 0x97, 0x63, 0x06, 0x32, 0x50, 0xc4, 0x6e, 0x48, 0x71, 0x70, 0x23, 0x6e,
- 0x8e, 0x99, 0x6b, 0x3c, 0xf6, 0x7a, 0xa3, 0xec, 0xd8, 0xd6, 0x6a, 0xb4, 0xb2, 0x41, 0xb4, 0x34,
- 0x0c, 0x15, 0x0d, 0xfd, 0xfd, 0x07, 0xfe, 0xc4, 0x95, 0x57, 0x52, 0x69, 0x20, 0x69, 0xa8, 0xd5,
- 0xd1, 0x31, 0xda, 0x95, 0xe4, 0xb5, 0x23, 0x0f, 0x31, 0xce, 0x75, 0xfb, 0xf6, 0x7d, 0xef, 0xbd,
- 0xdd, 0xf7, 0xbe, 0x6f, 0x67, 0x81, 0x46, 0x06, 0xc8, 0x44, 0xd4, 0xc3, 0x26, 0xa2, 0x8e, 0x83,
- 0x91, 0x4f, 0xa8, 0x63, 0xce, 0xda, 0xa6, 0xff, 0x83, 0xe1, 0x7a, 0xd4, 0xa7, 0x70, 0x9f, 0x0c,
- 0x90, 0x11, 0x03, 0x8c, 0x39, 0xc0, 0x98, 0xb5, 0x1b, 0x75, 0x9b, 0xda, 0x94, 0x43, 0xcc, 0x78,
- 0x25, 0xd0, 0x8d, 0xf7, 0x6d, 0x4a, 0xed, 0x31, 0x36, 0xb9, 0x35, 0x98, 0x9e, 0x9b, 0x7d, 0x27,
- 0x48, 0x5c, 0x52, 0xa5, 0x31, 0xc1, 0x8e, 0x1f, 0x57, 0x11, 0xab, 0x04, 0xf0, 0xf1, 0x8a, 0xa3,
- 0x48, 0x75, 0x39, 0x50, 0xff, 0x7d, 0x0b, 0xec, 0x3d, 0x65, 0x76, 0x37, 0xdb, 0xff, 0xc6, 0xc5,
- 0xce, 0x99, 0x43, 0x7c, 0xd8, 0x06, 0x15, 0x91, 0xb2, 0x47, 0x86, 0xaa, 0xd2, 0x52, 0x0e, 0x2b,
- 0x9d, 0x7a, 0x14, 0x6a, 0x77, 0x83, 0xfe, 0x64, 0x7c, 0xa2, 0x67, 0x2e, 0xdd, 0x2a, 0x8b, 0xf5,
- 0xd9, 0x10, 0x7e, 0x0d, 0x6a, 0x88, 0x4e, 0x1d, 0x1f, 0x7b, 0x6e, 0xdf, 0xf3, 0x03, 0x75, 0xab,
- 0xa5, 0x1c, 0x56, 0x1f, 0x7f, 0x68, 0xe4, 0x5f, 0xdb, 0xe8, 0x4a, 0xd8, 0x4e, 0xe9, 0x75, 0xa8,
- 0x15, 0xac, 0x85, 0x78, 0xf8, 0x39, 0xd8, 0x9d, 0x61, 0x8f, 0x11, 0xea, 0xa8, 0x45, 0x9e, 0x4a,
- 0x5b, 0x95, 0xea, 0x85, 0x80, 0x59, 0x29, 0x1e, 0x9e, 0x80, 0xda, 0x10, 0x8f, 0xfb, 0x41, 0xcf,
- 0xc5, 0x1e, 0xa1, 0x43, 0xb5, 0xd4, 0x52, 0x0e, 0x4b, 0x9d, 0x83, 0x28, 0xd4, 0xde, 0x13, 0x17,
- 0x90, 0xbd, 0xba, 0x55, 0xe5, 0xe6, 0x33, 0x6e, 0xc1, 0x7d, 0xb0, 0xc3, 0x88, 0xed, 0x60, 0x4f,
- 0xdd, 0x8e, 0xaf, 0x6d, 0x25, 0xd6, 0x49, 0xf9, 0xe7, 0x57, 0x5a, 0xe1, 0xef, 0x57, 0x5a, 0x41,
- 0xd7, 0xc0, 0x83, 0xdc, 0xa6, 0x59, 0x98, 0xb9, 0xd4, 0x61, 0x58, 0xff, 0x6d, 0x17, 0xd4, 0xaf,
- 0x21, 0x9e, 0x7b, 0xc1, 0xff, 0xe9, 0xea, 0x77, 0x60, 0xdf, 0xf5, 0xf0, 0x8c, 0xd0, 0x29, 0xeb,
- 0xcd, 0x6f, 0x1d, 0xc7, 0x6f, 0xf1, 0xf8, 0x87, 0x51, 0xa8, 0x3d, 0x10, 0xf1, 0xf9, 0x38, 0xdd,
- 0xaa, 0xa7, 0x8e, 0xf9, 0x81, 0xce, 0x86, 0xf0, 0x19, 0xa8, 0x25, 0x05, 0x99, 0xdf, 0xf7, 0x71,
- 0xd2, 0xe3, 0xba, 0x21, 0x78, 0x67, 0xa4, 0xbc, 0x33, 0x4e, 0x9d, 0x40, 0xee, 0x9c, 0x1c, 0xa3,
- 0x5b, 0x55, 0x61, 0x7e, 0x1b, 0x5b, 0xd7, 0x08, 0x50, 0xda, 0x90, 0x00, 0xcb, 0x53, 0xdc, 0x5e,
- 0x63, 0x8a, 0x33, 0xb0, 0x27, 0xe7, 0xea, 0x25, 0xcc, 0x60, 0xea, 0x4e, 0xab, 0x78, 0x03, 0x2a,
- 0x75, 0x5a, 0x51, 0xa8, 0xdd, 0x4f, 0x6e, 0x9c, 0x97, 0x47, 0xb7, 0xea, 0xf2, 0x7e, 0x12, 0xc6,
- 0xe0, 0x4b, 0x50, 0x73, 0x3d, 0x4a, 0xcf, 0x7b, 0x17, 0x98, 0xd8, 0x17, 0xbe, 0xba, 0xcb, 0x7b,
- 0xd0, 0x90, 0xca, 0x09, 0xa1, 0xce, 0xda, 0xc6, 0x57, 0x1c, 0xd1, 0xf9, 0x20, 0xbe, 0xf9, 0xfc,
- 0x4e, 0x72, 0xb4, 0x6e, 0x55, 0xb9, 0x29, 0x90, 0xf0, 0x09, 0x00, 0xc2, 0x4b, 0x1c, 0xe2, 0xab,
- 0xe5, 0x96, 0x72, 0x58, 0xeb, 0xec, 0x45, 0xa1, 0x76, 0x4f, 0x8e, 0x8c, 0x7d, 0xba, 0x55, 0xe1,
- 0x06, 0x57, 0xf2, 0x49, 0x7a, 0x22, 0x51, 0x59, 0xad, 0xf0, 0xb8, 0x83, 0xe5, 0x8a, 0xc2, 0x9b,
- 0x56, 0xec, 0x72, 0x0b, 0x76, 0xc1, 0x9d, 0xc4, 0x1b, 0xf3, 0xda, 0x61, 0x53, 0xa6, 0x02, 0x1e,
- 0xde, 0x88, 0x42, 0x6d, 0x7f, 0x21, 0x3c, 0x05, 0xe8, 0xd6, 0xbb, 0x22, 0x43, 0xba, 0x01, 0xcf,
- 0xc1, 0xdd, 0xcc, 0x9b, 0xb6, 0xa5, 0xfa, 0x9f, 0x6d, 0xd1, 0x92, 0xb6, 0x1c, 0xa4, 0x43, 0x58,
- 0xcc, 0xa0, 0x5b, 0x77, 0xb2, 0xad, 0xa4, 0x3d, 0x73, 0xe1, 0xd6, 0x56, 0x08, 0xb7, 0x09, 0xee,
- 0xe7, 0xc9, 0x32, 0xd3, 0xed, 0x5f, 0xdb, 0x39, 0xba, 0x3d, 0x45, 0x23, 0xf8, 0x25, 0x78, 0x67,
- 0x51, 0x7b, 0x42, 0xbb, 0x6a, 0x14, 0x6a, 0xf5, 0xec, 0x7c, 0xb2, 0xe4, 0x6a, 0x48, 0x96, 0x1a,
- 0x02, 0x8d, 0x05, 0x12, 0xe5, 0xe9, 0xf8, 0xa3, 0x28, 0xd4, 0x1e, 0xe6, 0x10, 0x6e, 0x29, 0xb1,
- 0x2a, 0x3b, 0x17, 0xf4, 0xbc, 0xc1, 0x73, 0xb9, 0xfc, 0x14, 0x94, 0x36, 0x7e, 0x0a, 0x96, 0x65,
- 0xb0, 0x7d, 0x8b, 0x32, 0x68, 0x03, 0xc1, 0xee, 0x9e, 0xef, 0x05, 0xea, 0x0e, 0xa7, 0xa3, 0xf4,
- 0x88, 0x66, 0x2e, 0xdd, 0x2a, 0xf3, 0x75, 0xfc, 0xee, 0x2e, 0x6b, 0x60, 0x77, 0x33, 0x0d, 0x94,
- 0x6f, 0x45, 0x03, 0x95, 0xb7, 0xaa, 0x01, 0xb0, 0x86, 0x06, 0x4e, 0xd1, 0x28, 0xd3, 0xc0, 0x2f,
- 0x5b, 0x40, 0xbd, 0x06, 0xe8, 0x52, 0xe7, 0x9c, 0x78, 0x93, 0x4d, 0x75, 0x90, 0x4d, 0xae, 0x8f,
- 0x46, 0x9c, 0xf6, 0x39, 0x93, 0xeb, 0xa3, 0x51, 0x3a, 0xb9, 0x58, 0x79, 0xcb, 0x44, 0x2a, 0xde,
- 0x22, 0x91, 0xe6, 0xcd, 0x2a, 0xad, 0x68, 0x96, 0x0e, 0x5a, 0xab, 0x7a, 0x91, 0x36, 0xec, 0xf1,
- 0x3f, 0x45, 0x50, 0x7c, 0xca, 0x6c, 0xf8, 0x23, 0x80, 0x39, 0xff, 0xa8, 0xa3, 0x55, 0x22, 0xcc,
- 0xfd, 0x41, 0x34, 0x3e, 0x5d, 0x0b, 0x9e, 0x9e, 0x01, 0x7e, 0x0f, 0xee, 0x5d, 0xff, 0x6c, 0x7c,
- 0x72, 0xe3, 0x5c, 0xcf, 0xbd, 0xa0, 0xf1, 0x64, 0x1d, 0xf4, 0xea, 0xc2, 0xf1, 0xcc, 0x6e, 0x5e,
- 0xf8, 0x14, 0x8d, 0xd6, 0x28, 0x2c, 0xd1, 0x14, 0xfe, 0xa4, 0x80, 0xbd, 0x7c, 0x8e, 0x3e, 0xba,
- 0x71, 0xbe, 0x24, 0xa2, 0xf1, 0xd9, 0xba, 0x11, 0xe9, 0x29, 0x3a, 0x2f, 0x5e, 0x5f, 0x36, 0x95,
- 0x37, 0x97, 0x4d, 0xe5, 0xcf, 0xcb, 0xa6, 0xf2, 0xeb, 0x55, 0xb3, 0xf0, 0xe6, 0xaa, 0x59, 0xf8,
- 0xe3, 0xaa, 0x59, 0x78, 0xf9, 0x85, 0x4d, 0xfc, 0x8b, 0xe9, 0xc0, 0x40, 0x74, 0x62, 0x22, 0xca,
- 0x26, 0x94, 0x99, 0x64, 0x80, 0x8e, 0x6c, 0x6a, 0xce, 0x8e, 0xcd, 0x09, 0x1d, 0x4e, 0xc7, 0x98,
- 0x89, 0x2f, 0xfa, 0xa3, 0xe3, 0x23, 0xe9, 0x97, 0xee, 0x07, 0x2e, 0x66, 0x83, 0x1d, 0xfe, 0xe4,
- 0x1e, 0xff, 0x1b, 0x00, 0x00, 0xff, 0xff, 0xef, 0xf1, 0x60, 0x63, 0x54, 0x0c, 0x00, 0x00,
+ 0x14, 0xb6, 0x62, 0x27, 0xb1, 0xd7, 0x86, 0xbb, 0x5b, 0x9c, 0x44, 0x88, 0x3b, 0xcb, 0x08, 0x18,
+ 0x52, 0x10, 0xe9, 0x7c, 0x17, 0x66, 0x20, 0x03, 0x45, 0xec, 0x86, 0x14, 0x07, 0x37, 0xe2, 0xe6,
+ 0x66, 0xb8, 0xc6, 0x63, 0xcb, 0x1b, 0x65, 0xc7, 0xb6, 0x56, 0xa3, 0x95, 0x0d, 0xa2, 0xa5, 0x61,
+ 0xa8, 0xe8, 0x68, 0xef, 0x3f, 0xf0, 0x27, 0xae, 0xbc, 0x92, 0x4a, 0x03, 0x49, 0x43, 0xad, 0x8e,
+ 0x8e, 0xd1, 0xae, 0x24, 0xaf, 0x6d, 0x79, 0xb0, 0x71, 0xae, 0xdb, 0xb7, 0xef, 0x7b, 0xef, 0xed,
+ 0xbe, 0xf7, 0x7d, 0x3b, 0x0b, 0x54, 0xdc, 0xb7, 0x0c, 0x8b, 0x78, 0xc8, 0xb0, 0x88, 0xe3, 0x20,
+ 0xcb, 0xc7, 0xc4, 0x31, 0xa6, 0x2d, 0xc3, 0xff, 0x41, 0x77, 0x3d, 0xe2, 0x13, 0x78, 0x88, 0xfb,
+ 0x96, 0x1e, 0x03, 0xf4, 0x19, 0x40, 0x9f, 0xb6, 0x94, 0xba, 0x4d, 0x6c, 0xc2, 0x20, 0x46, 0xbc,
+ 0xe2, 0x68, 0xe5, 0x5d, 0x9b, 0x10, 0x7b, 0x84, 0x0c, 0x66, 0xf5, 0x27, 0x97, 0x46, 0xcf, 0x09,
+ 0x12, 0x97, 0x50, 0x69, 0x84, 0x91, 0xe3, 0xc7, 0x55, 0xf8, 0x2a, 0x01, 0x7c, 0xbc, 0xe2, 0x28,
+ 0x42, 0x5d, 0x06, 0xd4, 0x7e, 0xdf, 0x01, 0x07, 0x4f, 0xa8, 0xdd, 0xc9, 0xf6, 0xbf, 0x71, 0x91,
+ 0x73, 0xe1, 0x60, 0x1f, 0xb6, 0x40, 0x85, 0xa7, 0xec, 0xe2, 0x81, 0x2c, 0x35, 0xa5, 0xe3, 0x4a,
+ 0xbb, 0x1e, 0x85, 0xea, 0xdd, 0xa0, 0x37, 0x1e, 0x9d, 0x69, 0x99, 0x4b, 0x33, 0xcb, 0x7c, 0x7d,
+ 0x31, 0x80, 0x5f, 0x83, 0x9a, 0x45, 0x26, 0x8e, 0x8f, 0x3c, 0xb7, 0xe7, 0xf9, 0x81, 0xbc, 0xd3,
+ 0x94, 0x8e, 0xab, 0x8f, 0x3e, 0xd4, 0xf3, 0xaf, 0xad, 0x77, 0x04, 0x6c, 0xbb, 0xf4, 0x2a, 0x54,
+ 0x0b, 0xe6, 0x5c, 0x3c, 0xfc, 0x1c, 0xec, 0x4f, 0x91, 0x47, 0x31, 0x71, 0xe4, 0x22, 0x4b, 0xa5,
+ 0xae, 0x4a, 0xf5, 0x9c, 0xc3, 0xcc, 0x14, 0x0f, 0xcf, 0x40, 0x6d, 0x80, 0x46, 0xbd, 0xa0, 0xeb,
+ 0x22, 0x0f, 0x93, 0x81, 0x5c, 0x6a, 0x4a, 0xc7, 0xa5, 0xf6, 0x51, 0x14, 0xaa, 0xef, 0xf0, 0x0b,
+ 0x88, 0x5e, 0xcd, 0xac, 0x32, 0xf3, 0x29, 0xb3, 0xe0, 0x21, 0xd8, 0xa3, 0xd8, 0x76, 0x90, 0x27,
+ 0xef, 0xc6, 0xd7, 0x36, 0x13, 0xeb, 0xac, 0xfc, 0xf3, 0x4b, 0xb5, 0xf0, 0xf7, 0x4b, 0xb5, 0xa0,
+ 0xa9, 0xe0, 0x41, 0x6e, 0xd3, 0x4c, 0x44, 0x5d, 0xe2, 0x50, 0xa4, 0xfd, 0xb6, 0x0f, 0xea, 0x4b,
+ 0x88, 0x67, 0x5e, 0xf0, 0x7f, 0xba, 0xfa, 0x1d, 0x38, 0x74, 0x3d, 0x34, 0xc5, 0x64, 0x42, 0xbb,
+ 0xb3, 0x5b, 0xc7, 0xf1, 0x3b, 0x2c, 0xfe, 0x83, 0x28, 0x54, 0x1f, 0xf0, 0xf8, 0x7c, 0x9c, 0x26,
+ 0x4b, 0x66, 0x3d, 0x75, 0xcd, 0x8e, 0x74, 0x31, 0x80, 0x4f, 0x41, 0x2d, 0x29, 0x49, 0xfd, 0x9e,
+ 0x8f, 0x92, 0x2e, 0xd7, 0x75, 0xce, 0x3c, 0x3d, 0x65, 0x9e, 0x7e, 0xee, 0x04, 0x62, 0xef, 0xc4,
+ 0x18, 0xcd, 0xac, 0x72, 0xf3, 0xdb, 0xd8, 0x5a, 0xa2, 0x40, 0x69, 0x4b, 0x0a, 0x2c, 0xce, 0x71,
+ 0x77, 0x83, 0x39, 0x4e, 0xc1, 0x81, 0x98, 0xab, 0x9b, 0x70, 0x83, 0xca, 0x7b, 0xcd, 0xe2, 0x1a,
+ 0x64, 0x6a, 0x37, 0xa3, 0x50, 0xbd, 0x9f, 0xdc, 0x38, 0x2f, 0x8f, 0x66, 0xd6, 0xc5, 0xfd, 0x24,
+ 0x8c, 0xc2, 0x17, 0xa0, 0xe6, 0x7a, 0x84, 0x5c, 0x76, 0xaf, 0x10, 0xb6, 0xaf, 0x7c, 0x79, 0x9f,
+ 0xf5, 0x40, 0x11, 0xca, 0x71, 0xa9, 0x4e, 0x5b, 0xfa, 0x57, 0x0c, 0xd1, 0x7e, 0x2f, 0xbe, 0xf9,
+ 0xec, 0x4e, 0x62, 0xb4, 0x66, 0x56, 0x99, 0xc9, 0x91, 0xf0, 0x14, 0x00, 0xee, 0xc5, 0x0e, 0xf6,
+ 0xe5, 0x72, 0x53, 0x3a, 0xae, 0xb5, 0x0f, 0xa2, 0x50, 0xbd, 0x27, 0x46, 0xc6, 0x3e, 0xcd, 0xac,
+ 0x30, 0x83, 0x69, 0xf9, 0x2c, 0x3d, 0x11, 0xaf, 0x2c, 0x57, 0x58, 0xdc, 0xd1, 0x62, 0x45, 0xee,
+ 0x4d, 0x2b, 0x76, 0x98, 0x05, 0x3b, 0xe0, 0x4e, 0xe2, 0x8d, 0x99, 0xed, 0xd0, 0x09, 0x95, 0x01,
+ 0x0b, 0x57, 0xa2, 0x50, 0x3d, 0x9c, 0x0b, 0x4f, 0x01, 0x9a, 0xf9, 0x36, 0xcf, 0x90, 0x6e, 0xc0,
+ 0x4b, 0x70, 0x37, 0xf3, 0xa6, 0x6d, 0xa9, 0xfe, 0x67, 0x5b, 0xd4, 0xa4, 0x2d, 0x47, 0xe9, 0x10,
+ 0xe6, 0x33, 0x68, 0xe6, 0x9d, 0x6c, 0x2b, 0x69, 0xcf, 0x4c, 0xba, 0xb5, 0x15, 0xd2, 0x6d, 0x80,
+ 0xfb, 0x79, 0xc2, 0xcc, 0x94, 0xfb, 0xd7, 0x6e, 0x8e, 0x72, 0xcf, 0xad, 0x21, 0xfc, 0x12, 0xbc,
+ 0x35, 0xaf, 0x3e, 0xae, 0x5e, 0x39, 0x0a, 0xd5, 0x7a, 0x76, 0x3e, 0x41, 0x74, 0x31, 0x91, 0x05,
+ 0xa9, 0x59, 0x40, 0x99, 0x23, 0x51, 0x9e, 0x92, 0x3f, 0x8a, 0x42, 0xf5, 0xfd, 0x1c, 0xc2, 0x2d,
+ 0x24, 0x96, 0x45, 0xe7, 0x9c, 0x9e, 0xb7, 0x78, 0x30, 0x17, 0x9f, 0x82, 0xd2, 0xd6, 0x4f, 0xc1,
+ 0xa2, 0x0c, 0x76, 0x6f, 0x51, 0x06, 0x2d, 0xc0, 0xd9, 0xdd, 0xf5, 0xbd, 0x40, 0xde, 0x63, 0x74,
+ 0x14, 0x9e, 0xd1, 0xcc, 0xa5, 0x99, 0x65, 0xb6, 0x8e, 0x5f, 0xde, 0x45, 0x0d, 0xec, 0x6f, 0xa7,
+ 0x81, 0xf2, 0xad, 0x68, 0xa0, 0xf2, 0x46, 0x35, 0x00, 0x36, 0xd0, 0xc0, 0xb9, 0x35, 0xcc, 0x34,
+ 0xf0, 0xcb, 0x0e, 0x90, 0x97, 0x00, 0x1d, 0xe2, 0x5c, 0x62, 0x6f, 0xbc, 0xad, 0x0e, 0xb2, 0xc9,
+ 0xf5, 0xac, 0x21, 0xa3, 0x7d, 0xce, 0xe4, 0x7a, 0xd6, 0x30, 0x9d, 0x5c, 0xac, 0xbc, 0x45, 0x22,
+ 0x15, 0x6f, 0x91, 0x48, 0xb3, 0x66, 0x95, 0x56, 0x34, 0x4b, 0x03, 0xcd, 0x55, 0xbd, 0x48, 0x1b,
+ 0xf6, 0xe8, 0x9f, 0x22, 0x28, 0x3e, 0xa1, 0x36, 0xfc, 0x11, 0xc0, 0x9c, 0x9f, 0xd4, 0xc9, 0x2a,
+ 0x11, 0xe6, 0xfe, 0x21, 0x94, 0x4f, 0x37, 0x82, 0xa7, 0x67, 0x80, 0xdf, 0x83, 0x7b, 0xcb, 0xdf,
+ 0x8d, 0x4f, 0xd6, 0xce, 0xf5, 0xcc, 0x0b, 0x94, 0xd3, 0x4d, 0xd0, 0xab, 0x0b, 0xc7, 0x33, 0x5b,
+ 0xbf, 0xf0, 0xb9, 0x35, 0xdc, 0xa0, 0xb0, 0x40, 0x53, 0xf8, 0x93, 0x04, 0x0e, 0xf2, 0x39, 0xfa,
+ 0x70, 0xed, 0x7c, 0x49, 0x84, 0xf2, 0xd9, 0xa6, 0x11, 0xe9, 0x29, 0xda, 0xcf, 0x5f, 0x5d, 0x37,
+ 0xa4, 0xd7, 0xd7, 0x0d, 0xe9, 0xcf, 0xeb, 0x86, 0xf4, 0xeb, 0x4d, 0xa3, 0xf0, 0xfa, 0xa6, 0x51,
+ 0xf8, 0xe3, 0xa6, 0x51, 0x78, 0xf1, 0x85, 0x8d, 0xfd, 0xab, 0x49, 0x5f, 0xb7, 0xc8, 0xd8, 0xb0,
+ 0x08, 0x1d, 0x13, 0x6a, 0xe0, 0xbe, 0x75, 0x62, 0x13, 0x63, 0x7a, 0x6a, 0x8c, 0xc9, 0x60, 0x32,
+ 0x42, 0x94, 0x7f, 0xd2, 0x1f, 0x3e, 0x3e, 0x11, 0xfe, 0xe9, 0x7e, 0xe0, 0x22, 0xda, 0xdf, 0x63,
+ 0x4f, 0xee, 0xe3, 0x7f, 0x03, 0x00, 0x00, 0xff, 0xff, 0xdd, 0x12, 0x14, 0x2b, 0x56, 0x0c, 0x00,
+ 0x00,
}
// Reference imports to suppress errors if they are not otherwise used.
diff --git a/modules/core/03-connection/types/version.go b/modules/core/03-connection/types/version.go
index f88164aff69..15ffc49d577 100644
--- a/modules/core/03-connection/types/version.go
+++ b/modules/core/03-connection/types/version.go
@@ -5,7 +5,7 @@ import (
sdkerrors "github.com/cosmos/cosmos-sdk/types/errors"
- "github.com/cosmos/ibc-go/v3/modules/core/exported"
+ "github.com/cosmos/ibc-go/v4/modules/core/exported"
)
var (
@@ -117,8 +117,8 @@ func GetCompatibleVersions() []exported.Version {
// IsSupportedVersion returns true if the proposed version has a matching version
// identifier and its entire feature set is supported or the version identifier
// supports an empty feature set.
-func IsSupportedVersion(proposedVersion *Version) bool {
- supportedVersion, found := FindSupportedVersion(proposedVersion, GetCompatibleVersions())
+func IsSupportedVersion(supportedVersions []exported.Version, proposedVersion *Version) bool {
+ supportedVersion, found := FindSupportedVersion(proposedVersion, supportedVersions)
if !found {
return false
}
diff --git a/modules/core/03-connection/types/version_test.go b/modules/core/03-connection/types/version_test.go
index 404f4f8ca56..2958c55fa38 100644
--- a/modules/core/03-connection/types/version_test.go
+++ b/modules/core/03-connection/types/version_test.go
@@ -5,9 +5,9 @@ import (
"github.com/stretchr/testify/require"
- "github.com/cosmos/ibc-go/v3/modules/core/03-connection/types"
- "github.com/cosmos/ibc-go/v3/modules/core/exported"
- ibctesting "github.com/cosmos/ibc-go/v3/testing"
+ "github.com/cosmos/ibc-go/v4/modules/core/03-connection/types"
+ "github.com/cosmos/ibc-go/v4/modules/core/exported"
+ ibctesting "github.com/cosmos/ibc-go/v4/testing"
)
func TestValidateVersion(t *testing.T) {
@@ -57,7 +57,7 @@ func TestIsSupportedVersion(t *testing.T) {
}
for _, tc := range testCases {
- require.Equal(t, tc.expPass, types.IsSupportedVersion(tc.version))
+ require.Equal(t, tc.expPass, types.IsSupportedVersion(types.GetCompatibleVersions(), tc.version))
}
}
diff --git a/modules/core/04-channel/client/cli/cli.go b/modules/core/04-channel/client/cli/cli.go
index d2dc4e661f8..34259b09146 100644
--- a/modules/core/04-channel/client/cli/cli.go
+++ b/modules/core/04-channel/client/cli/cli.go
@@ -4,7 +4,7 @@ import (
"github.com/cosmos/cosmos-sdk/client"
"github.com/spf13/cobra"
- "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types"
+ "github.com/cosmos/ibc-go/v4/modules/core/04-channel/types"
)
// GetQueryCmd returns the query commands for IBC channels
diff --git a/modules/core/04-channel/client/cli/query.go b/modules/core/04-channel/client/cli/query.go
index a92ea327d6d..8fe1937e055 100644
--- a/modules/core/04-channel/client/cli/query.go
+++ b/modules/core/04-channel/client/cli/query.go
@@ -9,9 +9,9 @@ import (
"github.com/cosmos/cosmos-sdk/version"
"github.com/spf13/cobra"
- "github.com/cosmos/ibc-go/v3/modules/core/04-channel/client/utils"
- "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types"
- host "github.com/cosmos/ibc-go/v3/modules/core/24-host"
+ "github.com/cosmos/ibc-go/v4/modules/core/04-channel/client/utils"
+ "github.com/cosmos/ibc-go/v4/modules/core/04-channel/types"
+ host "github.com/cosmos/ibc-go/v4/modules/core/24-host"
)
const (
diff --git a/modules/core/04-channel/client/utils/utils.go b/modules/core/04-channel/client/utils/utils.go
index 4124fe9b2b4..577172b598c 100644
--- a/modules/core/04-channel/client/utils/utils.go
+++ b/modules/core/04-channel/client/utils/utils.go
@@ -8,12 +8,12 @@ import (
"github.com/cosmos/cosmos-sdk/codec"
sdkerrors "github.com/cosmos/cosmos-sdk/types/errors"
- clientutils "github.com/cosmos/ibc-go/v3/modules/core/02-client/client/utils"
- clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types"
- "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types"
- host "github.com/cosmos/ibc-go/v3/modules/core/24-host"
- ibcclient "github.com/cosmos/ibc-go/v3/modules/core/client"
- "github.com/cosmos/ibc-go/v3/modules/core/exported"
+ clientutils "github.com/cosmos/ibc-go/v4/modules/core/02-client/client/utils"
+ clienttypes "github.com/cosmos/ibc-go/v4/modules/core/02-client/types"
+ "github.com/cosmos/ibc-go/v4/modules/core/04-channel/types"
+ host "github.com/cosmos/ibc-go/v4/modules/core/24-host"
+ ibcclient "github.com/cosmos/ibc-go/v4/modules/core/client"
+ "github.com/cosmos/ibc-go/v4/modules/core/exported"
)
// QueryChannel returns a channel end.
diff --git a/modules/core/04-channel/genesis.go b/modules/core/04-channel/genesis.go
index 56f81ca9f72..0d402fd8f39 100644
--- a/modules/core/04-channel/genesis.go
+++ b/modules/core/04-channel/genesis.go
@@ -3,8 +3,8 @@ package channel
import (
sdk "github.com/cosmos/cosmos-sdk/types"
- "github.com/cosmos/ibc-go/v3/modules/core/04-channel/keeper"
- "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types"
+ "github.com/cosmos/ibc-go/v4/modules/core/04-channel/keeper"
+ "github.com/cosmos/ibc-go/v4/modules/core/04-channel/types"
)
// InitGenesis initializes the ibc channel submodule's state from a provided genesis
diff --git a/modules/core/04-channel/keeper/events.go b/modules/core/04-channel/keeper/events.go
index 66b47467216..bd014a67979 100644
--- a/modules/core/04-channel/keeper/events.go
+++ b/modules/core/04-channel/keeper/events.go
@@ -6,8 +6,8 @@ import (
sdk "github.com/cosmos/cosmos-sdk/types"
- "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types"
- "github.com/cosmos/ibc-go/v3/modules/core/exported"
+ "github.com/cosmos/ibc-go/v4/modules/core/04-channel/types"
+ "github.com/cosmos/ibc-go/v4/modules/core/exported"
)
// EmitChannelOpenInitEvent emits a channel open init event
diff --git a/modules/core/04-channel/keeper/grpc_query.go b/modules/core/04-channel/keeper/grpc_query.go
index 6d4b150ada9..6936fec0596 100644
--- a/modules/core/04-channel/keeper/grpc_query.go
+++ b/modules/core/04-channel/keeper/grpc_query.go
@@ -12,10 +12,10 @@ import (
"google.golang.org/grpc/codes"
"google.golang.org/grpc/status"
- clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types"
- connectiontypes "github.com/cosmos/ibc-go/v3/modules/core/03-connection/types"
- "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types"
- host "github.com/cosmos/ibc-go/v3/modules/core/24-host"
+ clienttypes "github.com/cosmos/ibc-go/v4/modules/core/02-client/types"
+ connectiontypes "github.com/cosmos/ibc-go/v4/modules/core/03-connection/types"
+ "github.com/cosmos/ibc-go/v4/modules/core/04-channel/types"
+ host "github.com/cosmos/ibc-go/v4/modules/core/24-host"
)
var _ types.QueryServer = (*Keeper)(nil)
diff --git a/modules/core/04-channel/keeper/grpc_query_test.go b/modules/core/04-channel/keeper/grpc_query_test.go
index 64c81f2105d..8e7ac77a57a 100644
--- a/modules/core/04-channel/keeper/grpc_query_test.go
+++ b/modules/core/04-channel/keeper/grpc_query_test.go
@@ -6,11 +6,11 @@ import (
sdk "github.com/cosmos/cosmos-sdk/types"
"github.com/cosmos/cosmos-sdk/types/query"
- clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types"
- connectiontypes "github.com/cosmos/ibc-go/v3/modules/core/03-connection/types"
- "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types"
- "github.com/cosmos/ibc-go/v3/modules/core/exported"
- ibctesting "github.com/cosmos/ibc-go/v3/testing"
+ clienttypes "github.com/cosmos/ibc-go/v4/modules/core/02-client/types"
+ connectiontypes "github.com/cosmos/ibc-go/v4/modules/core/03-connection/types"
+ "github.com/cosmos/ibc-go/v4/modules/core/04-channel/types"
+ "github.com/cosmos/ibc-go/v4/modules/core/exported"
+ ibctesting "github.com/cosmos/ibc-go/v4/testing"
)
func (suite *KeeperTestSuite) TestQueryChannel() {
diff --git a/modules/core/04-channel/keeper/handshake.go b/modules/core/04-channel/keeper/handshake.go
index 1d650bb4d7b..1d9cfd6382c 100644
--- a/modules/core/04-channel/keeper/handshake.go
+++ b/modules/core/04-channel/keeper/handshake.go
@@ -8,11 +8,11 @@ import (
sdkerrors "github.com/cosmos/cosmos-sdk/types/errors"
capabilitytypes "github.com/cosmos/cosmos-sdk/x/capability/types"
- connectiontypes "github.com/cosmos/ibc-go/v3/modules/core/03-connection/types"
- "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types"
- porttypes "github.com/cosmos/ibc-go/v3/modules/core/05-port/types"
- host "github.com/cosmos/ibc-go/v3/modules/core/24-host"
- "github.com/cosmos/ibc-go/v3/modules/core/exported"
+ connectiontypes "github.com/cosmos/ibc-go/v4/modules/core/03-connection/types"
+ "github.com/cosmos/ibc-go/v4/modules/core/04-channel/types"
+ porttypes "github.com/cosmos/ibc-go/v4/modules/core/05-port/types"
+ host "github.com/cosmos/ibc-go/v4/modules/core/24-host"
+ "github.com/cosmos/ibc-go/v4/modules/core/exported"
)
// ChanOpenInit is called by a module to initiate a channel opening handshake with
@@ -98,51 +98,20 @@ func (k Keeper) ChanOpenTry(
ctx sdk.Context,
order types.Order,
connectionHops []string,
- portID,
- previousChannelID string,
+ portID string,
portCap *capabilitytypes.Capability,
counterparty types.Counterparty,
counterpartyVersion string,
proofInit []byte,
proofHeight exported.Height,
) (string, *capabilitytypes.Capability, error) {
- var (
- previousChannel types.Channel
- previousChannelFound bool
- )
-
- channelID := previousChannelID
-
// connection hops only supports a single connection
if len(connectionHops) != 1 {
return "", nil, sdkerrors.Wrapf(types.ErrTooManyConnectionHops, "expected 1, got %d", len(connectionHops))
}
- // empty channel identifier indicates continuing a previous channel handshake
- if previousChannelID != "" {
- // channel identifier and connection hop length checked on msg.ValidateBasic()
- // ensure that the previous channel exists
- previousChannel, previousChannelFound = k.GetChannel(ctx, portID, previousChannelID)
- if !previousChannelFound {
- return "", nil, sdkerrors.Wrapf(types.ErrInvalidChannel, "previous channel does not exist for supplied previous channelID %s", previousChannelID)
- }
- // previous channel must use the same fields
- if !(previousChannel.Ordering == order &&
- previousChannel.Counterparty.PortId == counterparty.PortId &&
- previousChannel.Counterparty.ChannelId == "" &&
- previousChannel.ConnectionHops[0] == connectionHops[0] && // ChanOpenInit will only set a single connection hop
- previousChannel.Version == counterpartyVersion) {
- return "", nil, sdkerrors.Wrap(types.ErrInvalidChannel, "channel fields mismatch previous channel fields")
- }
-
- if previousChannel.State != types.INIT {
- return "", nil, sdkerrors.Wrapf(types.ErrInvalidChannelState, "previous channel state is in %s, expected INIT", previousChannel.State)
- }
-
- } else {
- // generate a new channel
- channelID = k.GenerateChannelIdentifier(ctx)
- }
+ // generate a new channel
+ channelID := k.GenerateChannelIdentifier(ctx)
if !k.portKeeper.Authenticate(ctx, portCap, portID) {
return "", nil, sdkerrors.Wrapf(porttypes.ErrInvalidPort, "caller does not own port capability for port ID %s", portID)
@@ -199,20 +168,9 @@ func (k Keeper) ChanOpenTry(
err error
)
- if !previousChannelFound {
- capKey, err = k.scopedKeeper.NewCapability(ctx, host.ChannelCapabilityPath(portID, channelID))
- if err != nil {
- return "", nil, sdkerrors.Wrapf(err, "could not create channel capability for port ID %s and channel ID %s", portID, channelID)
- }
-
- } else {
- // capability initialized in ChanOpenInit
- capKey, found = k.scopedKeeper.GetCapability(ctx, host.ChannelCapabilityPath(portID, channelID))
- if !found {
- return "", nil, sdkerrors.Wrapf(types.ErrChannelCapabilityNotFound,
- "capability not found for existing channel, portID (%s) channelID (%s)", portID, channelID,
- )
- }
+ capKey, err = k.scopedKeeper.NewCapability(ctx, host.ChannelCapabilityPath(portID, channelID))
+ if err != nil {
+ return "", nil, sdkerrors.Wrapf(err, "could not create channel capability for port ID %s and channel ID %s", portID, channelID)
}
return channelID, capKey, nil
@@ -230,18 +188,15 @@ func (k Keeper) WriteOpenTryChannel(
counterparty types.Counterparty,
version string,
) {
- previousChannel, previousChannelFound := k.GetChannel(ctx, portID, channelID)
- if !previousChannelFound {
- k.SetNextSequenceSend(ctx, portID, channelID, 1)
- k.SetNextSequenceRecv(ctx, portID, channelID, 1)
- k.SetNextSequenceAck(ctx, portID, channelID, 1)
- }
+ k.SetNextSequenceSend(ctx, portID, channelID, 1)
+ k.SetNextSequenceRecv(ctx, portID, channelID, 1)
+ k.SetNextSequenceAck(ctx, portID, channelID, 1)
channel := types.NewChannel(types.TRYOPEN, order, counterparty, connectionHops, version)
k.SetChannel(ctx, portID, channelID, channel)
- k.Logger(ctx).Info("channel state updated", "port-id", portID, "channel-id", channelID, "previous-state", previousChannel.State.String(), "new-state", "TRYOPEN")
+ k.Logger(ctx).Info("channel state updated", "port-id", portID, "channel-id", channelID, "previous-state", "NONE", "new-state", "TRYOPEN")
defer func() {
telemetry.IncrCounter(1, "ibc", "channel", "open-try")
@@ -267,11 +222,8 @@ func (k Keeper) ChanOpenAck(
return sdkerrors.Wrapf(types.ErrChannelNotFound, "port ID (%s) channel ID (%s)", portID, channelID)
}
- if !(channel.State == types.INIT || channel.State == types.TRYOPEN) {
- return sdkerrors.Wrapf(
- types.ErrInvalidChannelState,
- "channel state should be INIT or TRYOPEN (got %s)", channel.State.String(),
- )
+ if channel.State != types.INIT {
+ return sdkerrors.Wrapf(types.ErrInvalidChannelState, "channel state should be INIT (got %s)", channel.State.String())
}
if !k.scopedKeeper.AuthenticateCapability(ctx, chanCap, host.ChannelCapabilityPath(portID, channelID)) {
diff --git a/modules/core/04-channel/keeper/handshake_test.go b/modules/core/04-channel/keeper/handshake_test.go
index aa554fe9fd8..88ca88887b4 100644
--- a/modules/core/04-channel/keeper/handshake_test.go
+++ b/modules/core/04-channel/keeper/handshake_test.go
@@ -5,12 +5,12 @@ import (
capabilitytypes "github.com/cosmos/cosmos-sdk/x/capability/types"
- clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types"
- connectiontypes "github.com/cosmos/ibc-go/v3/modules/core/03-connection/types"
- "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types"
- host "github.com/cosmos/ibc-go/v3/modules/core/24-host"
- "github.com/cosmos/ibc-go/v3/modules/core/exported"
- ibctesting "github.com/cosmos/ibc-go/v3/testing"
+ clienttypes "github.com/cosmos/ibc-go/v4/modules/core/02-client/types"
+ connectiontypes "github.com/cosmos/ibc-go/v4/modules/core/03-connection/types"
+ "github.com/cosmos/ibc-go/v4/modules/core/04-channel/types"
+ host "github.com/cosmos/ibc-go/v4/modules/core/24-host"
+ "github.com/cosmos/ibc-go/v4/modules/core/exported"
+ ibctesting "github.com/cosmos/ibc-go/v4/testing"
)
type testCase = struct {
@@ -143,10 +143,9 @@ func (suite *KeeperTestSuite) TestChanOpenInit() {
// ChanOpenTry can succeed.
func (suite *KeeperTestSuite) TestChanOpenTry() {
var (
- path *ibctesting.Path
- previousChannelID string
- portCap *capabilitytypes.Capability
- heightDiff uint64
+ path *ibctesting.Path
+ portCap *capabilitytypes.Capability
+ heightDiff uint64
)
testCases := []testCase{
@@ -158,34 +157,6 @@ func (suite *KeeperTestSuite) TestChanOpenTry() {
suite.chainB.CreatePortCapability(suite.chainB.GetSimApp().ScopedIBCMockKeeper, ibctesting.MockPort)
portCap = suite.chainB.GetPortCapability(ibctesting.MockPort)
}, true},
- {"success with crossing hello", func() {
- suite.coordinator.SetupConnections(path)
- path.SetChannelOrdered()
- err := suite.coordinator.ChanOpenInitOnBothChains(path)
- suite.Require().NoError(err)
-
- previousChannelID = path.EndpointB.ChannelID
- portCap = suite.chainB.GetPortCapability(ibctesting.MockPort)
- }, true},
- {"previous channel with invalid version, crossing hello", func() {
- suite.coordinator.SetupConnections(path)
- path.SetChannelOrdered()
-
- // modify channel version
- path.EndpointA.ChannelConfig.Version = "invalid version"
-
- err := suite.coordinator.ChanOpenInitOnBothChains(path)
- suite.Require().NoError(err)
-
- previousChannelID = path.EndpointB.ChannelID
- portCap = suite.chainB.GetPortCapability(ibctesting.MockPort)
- }, false},
- {"previous channel with invalid state", func() {
- suite.coordinator.SetupConnections(path)
-
- // make previous channel have wrong ordering
- path.EndpointA.ChanOpenInit()
- }, false},
{"connection doesn't exist", func() {
path.EndpointA.ConnectionID = ibctesting.FirstConnectionID
path.EndpointB.ConnectionID = ibctesting.FirstConnectionID
@@ -268,7 +239,6 @@ func (suite *KeeperTestSuite) TestChanOpenTry() {
suite.Run(fmt.Sprintf("Case %s", tc.msg), func() {
suite.SetupTest() // reset
heightDiff = 0 // must be explicitly changed in malleate
- previousChannelID = ""
path = ibctesting.NewPath(suite.chainA, suite.chainB)
tc.malleate()
@@ -286,7 +256,7 @@ func (suite *KeeperTestSuite) TestChanOpenTry() {
channelID, cap, err := suite.chainB.App.GetIBCKeeper().ChannelKeeper.ChanOpenTry(
suite.chainB.GetContext(), types.ORDERED, []string{path.EndpointB.ConnectionID},
- path.EndpointB.ChannelConfig.PortID, previousChannelID, portCap, counterparty, path.EndpointA.ChannelConfig.Version,
+ path.EndpointB.ChannelConfig.PortID, portCap, counterparty, path.EndpointA.ChannelConfig.Version,
proof, malleateHeight(proofHeight, heightDiff),
)
@@ -352,7 +322,7 @@ func (suite *KeeperTestSuite) TestChanOpenAck() {
channelCap = suite.chainA.GetChannelCapability(path.EndpointA.ChannelConfig.PortID, path.EndpointA.ChannelID)
}, true},
{"channel doesn't exist", func() {}, false},
- {"channel state is not INIT or TRYOPEN", func() {
+ {"channel state is not INIT", func() {
// create fully open channels on both chains
suite.coordinator.Setup(path)
channelCap = suite.chainA.GetChannelCapability(path.EndpointA.ChannelConfig.PortID, path.EndpointA.ChannelID)
diff --git a/modules/core/04-channel/keeper/keeper.go b/modules/core/04-channel/keeper/keeper.go
index ca2f824ad48..8d82129425f 100644
--- a/modules/core/04-channel/keeper/keeper.go
+++ b/modules/core/04-channel/keeper/keeper.go
@@ -12,12 +12,12 @@ import (
"github.com/tendermint/tendermint/libs/log"
db "github.com/tendermint/tm-db"
- clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types"
- connectiontypes "github.com/cosmos/ibc-go/v3/modules/core/03-connection/types"
- "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types"
- porttypes "github.com/cosmos/ibc-go/v3/modules/core/05-port/types"
- host "github.com/cosmos/ibc-go/v3/modules/core/24-host"
- "github.com/cosmos/ibc-go/v3/modules/core/exported"
+ clienttypes "github.com/cosmos/ibc-go/v4/modules/core/02-client/types"
+ connectiontypes "github.com/cosmos/ibc-go/v4/modules/core/03-connection/types"
+ "github.com/cosmos/ibc-go/v4/modules/core/04-channel/types"
+ porttypes "github.com/cosmos/ibc-go/v4/modules/core/05-port/types"
+ host "github.com/cosmos/ibc-go/v4/modules/core/24-host"
+ "github.com/cosmos/ibc-go/v4/modules/core/exported"
)
var _ porttypes.ICS4Wrapper = Keeper{}
diff --git a/modules/core/04-channel/keeper/keeper_test.go b/modules/core/04-channel/keeper/keeper_test.go
index f04664d71f4..f202d8bce78 100644
--- a/modules/core/04-channel/keeper/keeper_test.go
+++ b/modules/core/04-channel/keeper/keeper_test.go
@@ -5,9 +5,9 @@ import (
"github.com/stretchr/testify/suite"
- "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types"
- ibctesting "github.com/cosmos/ibc-go/v3/testing"
- ibcmock "github.com/cosmos/ibc-go/v3/testing/mock"
+ "github.com/cosmos/ibc-go/v4/modules/core/04-channel/types"
+ ibctesting "github.com/cosmos/ibc-go/v4/testing"
+ ibcmock "github.com/cosmos/ibc-go/v4/testing/mock"
)
// KeeperTestSuite is a testing suite to test keeper functions.
diff --git a/modules/core/04-channel/keeper/packet.go b/modules/core/04-channel/keeper/packet.go
index c3e8e45b89c..551e02e8b78 100644
--- a/modules/core/04-channel/keeper/packet.go
+++ b/modules/core/04-channel/keeper/packet.go
@@ -9,11 +9,11 @@ import (
sdkerrors "github.com/cosmos/cosmos-sdk/types/errors"
capabilitytypes "github.com/cosmos/cosmos-sdk/x/capability/types"
- clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types"
- connectiontypes "github.com/cosmos/ibc-go/v3/modules/core/03-connection/types"
- "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types"
- host "github.com/cosmos/ibc-go/v3/modules/core/24-host"
- "github.com/cosmos/ibc-go/v3/modules/core/exported"
+ clienttypes "github.com/cosmos/ibc-go/v4/modules/core/02-client/types"
+ connectiontypes "github.com/cosmos/ibc-go/v4/modules/core/03-connection/types"
+ "github.com/cosmos/ibc-go/v4/modules/core/04-channel/types"
+ host "github.com/cosmos/ibc-go/v4/modules/core/24-host"
+ "github.com/cosmos/ibc-go/v4/modules/core/exported"
)
// SendPacket is called by a module in order to send an IBC packet on a channel
diff --git a/modules/core/04-channel/keeper/packet_test.go b/modules/core/04-channel/keeper/packet_test.go
index 4d05df46533..0000edda0e7 100644
--- a/modules/core/04-channel/keeper/packet_test.go
+++ b/modules/core/04-channel/keeper/packet_test.go
@@ -7,14 +7,14 @@ import (
sdkerrors "github.com/cosmos/cosmos-sdk/types/errors"
capabilitytypes "github.com/cosmos/cosmos-sdk/x/capability/types"
- clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types"
- connectiontypes "github.com/cosmos/ibc-go/v3/modules/core/03-connection/types"
- "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types"
- host "github.com/cosmos/ibc-go/v3/modules/core/24-host"
- "github.com/cosmos/ibc-go/v3/modules/core/exported"
- ibctmtypes "github.com/cosmos/ibc-go/v3/modules/light-clients/07-tendermint/types"
- ibctesting "github.com/cosmos/ibc-go/v3/testing"
- ibcmock "github.com/cosmos/ibc-go/v3/testing/mock"
+ clienttypes "github.com/cosmos/ibc-go/v4/modules/core/02-client/types"
+ connectiontypes "github.com/cosmos/ibc-go/v4/modules/core/03-connection/types"
+ "github.com/cosmos/ibc-go/v4/modules/core/04-channel/types"
+ host "github.com/cosmos/ibc-go/v4/modules/core/24-host"
+ "github.com/cosmos/ibc-go/v4/modules/core/exported"
+ ibctmtypes "github.com/cosmos/ibc-go/v4/modules/light-clients/07-tendermint/types"
+ ibctesting "github.com/cosmos/ibc-go/v4/testing"
+ ibcmock "github.com/cosmos/ibc-go/v4/testing/mock"
)
var (
diff --git a/modules/core/04-channel/keeper/timeout.go b/modules/core/04-channel/keeper/timeout.go
index f29f1cca671..1076f333185 100644
--- a/modules/core/04-channel/keeper/timeout.go
+++ b/modules/core/04-channel/keeper/timeout.go
@@ -8,10 +8,10 @@ import (
sdkerrors "github.com/cosmos/cosmos-sdk/types/errors"
capabilitytypes "github.com/cosmos/cosmos-sdk/x/capability/types"
- connectiontypes "github.com/cosmos/ibc-go/v3/modules/core/03-connection/types"
- "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types"
- host "github.com/cosmos/ibc-go/v3/modules/core/24-host"
- "github.com/cosmos/ibc-go/v3/modules/core/exported"
+ connectiontypes "github.com/cosmos/ibc-go/v4/modules/core/03-connection/types"
+ "github.com/cosmos/ibc-go/v4/modules/core/04-channel/types"
+ host "github.com/cosmos/ibc-go/v4/modules/core/24-host"
+ "github.com/cosmos/ibc-go/v4/modules/core/exported"
)
// TimeoutPacket is called by a module which originally attempted to send a
diff --git a/modules/core/04-channel/keeper/timeout_test.go b/modules/core/04-channel/keeper/timeout_test.go
index ae3a816ef16..5dab582e947 100644
--- a/modules/core/04-channel/keeper/timeout_test.go
+++ b/modules/core/04-channel/keeper/timeout_test.go
@@ -7,12 +7,12 @@ import (
sdkerrors "github.com/cosmos/cosmos-sdk/types/errors"
capabilitytypes "github.com/cosmos/cosmos-sdk/x/capability/types"
- clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types"
- connectiontypes "github.com/cosmos/ibc-go/v3/modules/core/03-connection/types"
- "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types"
- host "github.com/cosmos/ibc-go/v3/modules/core/24-host"
- "github.com/cosmos/ibc-go/v3/modules/core/exported"
- ibctesting "github.com/cosmos/ibc-go/v3/testing"
+ clienttypes "github.com/cosmos/ibc-go/v4/modules/core/02-client/types"
+ connectiontypes "github.com/cosmos/ibc-go/v4/modules/core/03-connection/types"
+ "github.com/cosmos/ibc-go/v4/modules/core/04-channel/types"
+ host "github.com/cosmos/ibc-go/v4/modules/core/24-host"
+ "github.com/cosmos/ibc-go/v4/modules/core/exported"
+ ibctesting "github.com/cosmos/ibc-go/v4/testing"
)
// TestTimeoutPacket test the TimeoutPacket call on chainA by ensuring the timeout has passed
diff --git a/modules/core/04-channel/module.go b/modules/core/04-channel/module.go
index 00dfc6a808b..867f8bd0351 100644
--- a/modules/core/04-channel/module.go
+++ b/modules/core/04-channel/module.go
@@ -4,8 +4,8 @@ import (
"github.com/gogo/protobuf/grpc"
"github.com/spf13/cobra"
- "github.com/cosmos/ibc-go/v3/modules/core/04-channel/client/cli"
- "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types"
+ "github.com/cosmos/ibc-go/v4/modules/core/04-channel/client/cli"
+ "github.com/cosmos/ibc-go/v4/modules/core/04-channel/types"
)
// Name returns the IBC channel ICS name.
diff --git a/modules/core/04-channel/simulation/decoder.go b/modules/core/04-channel/simulation/decoder.go
index d09834551e8..5cec8179b84 100644
--- a/modules/core/04-channel/simulation/decoder.go
+++ b/modules/core/04-channel/simulation/decoder.go
@@ -8,8 +8,8 @@ import (
sdk "github.com/cosmos/cosmos-sdk/types"
"github.com/cosmos/cosmos-sdk/types/kv"
- "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types"
- host "github.com/cosmos/ibc-go/v3/modules/core/24-host"
+ "github.com/cosmos/ibc-go/v4/modules/core/04-channel/types"
+ host "github.com/cosmos/ibc-go/v4/modules/core/24-host"
)
// NewDecodeStore returns a decoder function closure that unmarshals the KVPair's
diff --git a/modules/core/04-channel/simulation/decoder_test.go b/modules/core/04-channel/simulation/decoder_test.go
index 5a78c03be56..4649df72b7f 100644
--- a/modules/core/04-channel/simulation/decoder_test.go
+++ b/modules/core/04-channel/simulation/decoder_test.go
@@ -8,10 +8,10 @@ import (
"github.com/cosmos/cosmos-sdk/types/kv"
"github.com/stretchr/testify/require"
- "github.com/cosmos/ibc-go/v3/modules/core/04-channel/simulation"
- "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types"
- host "github.com/cosmos/ibc-go/v3/modules/core/24-host"
- "github.com/cosmos/ibc-go/v3/testing/simapp"
+ "github.com/cosmos/ibc-go/v4/modules/core/04-channel/simulation"
+ "github.com/cosmos/ibc-go/v4/modules/core/04-channel/types"
+ host "github.com/cosmos/ibc-go/v4/modules/core/24-host"
+ "github.com/cosmos/ibc-go/v4/testing/simapp"
)
func TestDecodeStore(t *testing.T) {
diff --git a/modules/core/04-channel/simulation/genesis.go b/modules/core/04-channel/simulation/genesis.go
index 7c11dd6cb55..7bc7ad6415d 100644
--- a/modules/core/04-channel/simulation/genesis.go
+++ b/modules/core/04-channel/simulation/genesis.go
@@ -5,7 +5,7 @@ import (
simtypes "github.com/cosmos/cosmos-sdk/types/simulation"
- "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types"
+ "github.com/cosmos/ibc-go/v4/modules/core/04-channel/types"
)
// GenChannelGenesis returns the default channel genesis state.
diff --git a/modules/core/04-channel/types/acknowledgement.go b/modules/core/04-channel/types/acknowledgement.go
index b46de2b981d..49c795d0d55 100644
--- a/modules/core/04-channel/types/acknowledgement.go
+++ b/modules/core/04-channel/types/acknowledgement.go
@@ -1,6 +1,7 @@
package types
import (
+ "fmt"
"reflect"
"strings"
@@ -8,6 +9,12 @@ import (
sdkerrors "github.com/cosmos/cosmos-sdk/types/errors"
)
+const (
+ // ackErrorString defines a string constant included in error acknowledgements
+ // NOTE: Changing this const is state machine breaking as acknowledgements are written into state.
+ ackErrorString = "error handling packet: see events for details"
+)
+
// NewResultAcknowledgement returns a new instance of Acknowledgement using an Acknowledgement_Result
// type in the Response field.
func NewResultAcknowledgement(result []byte) Acknowledgement {
@@ -22,10 +29,14 @@ func NewResultAcknowledgement(result []byte) Acknowledgement {
// type in the Response field.
// NOTE: Acknowledgements are written into state and thus, changes made to error strings included in packet acknowledgements
// risk an app hash divergence when nodes in a network are running different patch versions of software.
-func NewErrorAcknowledgement(err string) Acknowledgement {
+func NewErrorAcknowledgement(err error) Acknowledgement {
+ // the ABCI code is included in the abcitypes.ResponseDeliverTx hash
+ // constructed in Tendermint and is therefore deterministic
+ _, code, _ := sdkerrors.ABCIInfo(err, false) // discard non-determinstic codespace and log values
+
return Acknowledgement{
Response: &Acknowledgement_Error{
- Error: err,
+ Error: fmt.Sprintf("ABCI code: %d: %s", code, ackErrorString),
},
}
}
diff --git a/modules/core/04-channel/types/acknowledgement_test.go b/modules/core/04-channel/types/acknowledgement_test.go
index 658ff31a8b5..9552fadf996 100644
--- a/modules/core/04-channel/types/acknowledgement_test.go
+++ b/modules/core/04-channel/types/acknowledgement_test.go
@@ -1,6 +1,20 @@
package types_test
-import "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types"
+import (
+ "fmt"
+
+ sdkerrors "github.com/cosmos/cosmos-sdk/types/errors"
+ abcitypes "github.com/tendermint/tendermint/abci/types"
+ tmprotostate "github.com/tendermint/tendermint/proto/tendermint/state"
+ tmstate "github.com/tendermint/tendermint/state"
+
+ "github.com/cosmos/ibc-go/v4/modules/core/04-channel/types"
+)
+
+const (
+ gasUsed = uint64(100)
+ gasWanted = uint64(100)
+)
// tests acknowledgement.ValidateBasic and acknowledgement.GetBytes
func (suite TypesTestSuite) TestAcknowledgement() {
@@ -18,7 +32,7 @@ func (suite TypesTestSuite) TestAcknowledgement() {
},
{
"valid failed ack",
- types.NewErrorAcknowledgement("error"),
+ types.NewErrorAcknowledgement(fmt.Errorf("error")),
false,
true,
},
@@ -29,10 +43,10 @@ func (suite TypesTestSuite) TestAcknowledgement() {
false,
},
{
- "empty faied ack",
- types.NewErrorAcknowledgement(" "),
- false,
+ "empty failed ack",
+ types.NewErrorAcknowledgement(fmt.Errorf(" ")),
false,
+ true,
},
{
"nil response",
@@ -68,3 +82,64 @@ func (suite TypesTestSuite) TestAcknowledgement() {
})
}
}
+
+// The safety of including ABCI error codes in the acknowledgement rests
+// on the inclusion of these ABCI error codes in the abcitypes.ResposneDeliverTx
+// hash. If the ABCI codes get removed from consensus they must no longer be used
+// in the packet acknowledgement.
+//
+// This test acts as an indicator that the ABCI error codes may no longer be deterministic.
+func (suite *TypesTestSuite) TestABCICodeDeterminism() {
+ // same ABCI error code used
+ err := sdkerrors.Wrap(sdkerrors.ErrOutOfGas, "error string 1")
+ errSameABCICode := sdkerrors.Wrap(sdkerrors.ErrOutOfGas, "error string 2")
+
+ // different ABCI error code used
+ errDifferentABCICode := sdkerrors.ErrNotFound
+
+ deliverTx := sdkerrors.ResponseDeliverTx(err, gasUsed, gasWanted, false)
+ responses := tmprotostate.ABCIResponses{
+ DeliverTxs: []*abcitypes.ResponseDeliverTx{
+ &deliverTx,
+ },
+ }
+
+ deliverTxSameABCICode := sdkerrors.ResponseDeliverTx(errSameABCICode, gasUsed, gasWanted, false)
+ responsesSameABCICode := tmprotostate.ABCIResponses{
+ DeliverTxs: []*abcitypes.ResponseDeliverTx{
+ &deliverTxSameABCICode,
+ },
+ }
+
+ deliverTxDifferentABCICode := sdkerrors.ResponseDeliverTx(errDifferentABCICode, gasUsed, gasWanted, false)
+ responsesDifferentABCICode := tmprotostate.ABCIResponses{
+ DeliverTxs: []*abcitypes.ResponseDeliverTx{
+ &deliverTxDifferentABCICode,
+ },
+ }
+
+ hash := tmstate.ABCIResponsesResultsHash(&responses)
+ hashSameABCICode := tmstate.ABCIResponsesResultsHash(&responsesSameABCICode)
+ hashDifferentABCICode := tmstate.ABCIResponsesResultsHash(&responsesDifferentABCICode)
+
+ suite.Require().Equal(hash, hashSameABCICode)
+ suite.Require().NotEqual(hash, hashDifferentABCICode)
+}
+
+// TestAcknowledgementError will verify that only a constant string and
+// ABCI error code are used in constructing the acknowledgement error string
+func (suite *TypesTestSuite) TestAcknowledgementError() {
+ // same ABCI error code used
+ err := sdkerrors.Wrap(sdkerrors.ErrOutOfGas, "error string 1")
+ errSameABCICode := sdkerrors.Wrap(sdkerrors.ErrOutOfGas, "error string 2")
+
+ // different ABCI error code used
+ errDifferentABCICode := sdkerrors.ErrNotFound
+
+ ack := types.NewErrorAcknowledgement(err)
+ ackSameABCICode := types.NewErrorAcknowledgement(errSameABCICode)
+ ackDifferentABCICode := types.NewErrorAcknowledgement(errDifferentABCICode)
+
+ suite.Require().Equal(ack, ackSameABCICode)
+ suite.Require().NotEqual(ack, ackDifferentABCICode)
+}
diff --git a/modules/core/04-channel/types/channel.go b/modules/core/04-channel/types/channel.go
index 4671000ab70..6b02b19f381 100644
--- a/modules/core/04-channel/types/channel.go
+++ b/modules/core/04-channel/types/channel.go
@@ -3,8 +3,8 @@ package types
import (
sdkerrors "github.com/cosmos/cosmos-sdk/types/errors"
- host "github.com/cosmos/ibc-go/v3/modules/core/24-host"
- "github.com/cosmos/ibc-go/v3/modules/core/exported"
+ host "github.com/cosmos/ibc-go/v4/modules/core/24-host"
+ "github.com/cosmos/ibc-go/v4/modules/core/exported"
)
var (
diff --git a/modules/core/04-channel/types/channel.pb.go b/modules/core/04-channel/types/channel.pb.go
index 3ce5ce3a2e1..d36ce20be88 100644
--- a/modules/core/04-channel/types/channel.pb.go
+++ b/modules/core/04-channel/types/channel.pb.go
@@ -5,7 +5,7 @@ package types
import (
fmt "fmt"
- types "github.com/cosmos/ibc-go/v3/modules/core/02-client/types"
+ types "github.com/cosmos/ibc-go/v4/modules/core/02-client/types"
_ "github.com/gogo/protobuf/gogoproto"
proto "github.com/gogo/protobuf/proto"
io "io"
@@ -504,62 +504,62 @@ var fileDescriptor_c3a07336710636a0 = []byte{
// 925 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x56, 0xcd, 0x8e, 0x1a, 0x47,
0x10, 0x66, 0x60, 0xf8, 0x2b, 0x16, 0x96, 0x6d, 0x67, 0xf1, 0x64, 0x62, 0x33, 0x78, 0x94, 0xc3,
- 0xca, 0x91, 0xc1, 0x6b, 0x5b, 0x89, 0xe2, 0x53, 0x96, 0x1f, 0x6b, 0x47, 0xb1, 0x60, 0x35, 0xb0,
- 0x87, 0xf8, 0x42, 0x60, 0xa6, 0x03, 0x23, 0xc3, 0x34, 0x99, 0x69, 0x58, 0xed, 0x1b, 0x58, 0x5c,
- 0x92, 0x17, 0x40, 0x8a, 0x14, 0x25, 0xaf, 0x90, 0x57, 0xf0, 0xd1, 0xc7, 0x9c, 0x50, 0xb4, 0x7b,
- 0xc8, 0x9d, 0x17, 0x48, 0x34, 0xdd, 0x3d, 0xfc, 0xac, 0xad, 0x3d, 0x26, 0x17, 0x9f, 0xe8, 0xaa,
- 0xef, 0xab, 0xaa, 0x6f, 0xaa, 0x8a, 0x56, 0xc3, 0x03, 0xa7, 0x6f, 0x55, 0x2c, 0xe2, 0xe1, 0x8a,
- 0x35, 0xec, 0xb9, 0x2e, 0x1e, 0x55, 0x66, 0xc7, 0xe1, 0xb1, 0x3c, 0xf1, 0x08, 0x25, 0xe8, 0x8e,
- 0xd3, 0xb7, 0xca, 0x01, 0xa5, 0x1c, 0xfa, 0x67, 0xc7, 0xea, 0x27, 0x03, 0x32, 0x20, 0x0c, 0xaf,
- 0x04, 0x27, 0x4e, 0x55, 0xb5, 0x4d, 0xb6, 0x91, 0x83, 0x5d, 0xca, 0x92, 0xb1, 0x13, 0x27, 0xe8,
- 0xbf, 0x45, 0x21, 0x59, 0xe3, 0x59, 0xd0, 0x63, 0x88, 0xfb, 0xb4, 0x47, 0xb1, 0x22, 0x95, 0xa4,
- 0xa3, 0xdc, 0x13, 0xb5, 0xfc, 0x81, 0x3a, 0xe5, 0x76, 0xc0, 0x30, 0x39, 0x11, 0x7d, 0x09, 0x29,
- 0xe2, 0xd9, 0xd8, 0x73, 0xdc, 0x81, 0x12, 0xbd, 0x25, 0xa8, 0x15, 0x90, 0xcc, 0x35, 0x17, 0x7d,
- 0x0b, 0x7b, 0x16, 0x99, 0xba, 0x14, 0x7b, 0x93, 0x9e, 0x47, 0x2f, 0x95, 0x58, 0x49, 0x3a, 0xca,
- 0x3c, 0x79, 0xf0, 0xc1, 0xd8, 0xda, 0x16, 0xb1, 0x2a, 0xbf, 0x5d, 0x6a, 0x11, 0x73, 0x27, 0x18,
- 0xd5, 0x60, 0xdf, 0x22, 0xae, 0x8b, 0x2d, 0xea, 0x10, 0xb7, 0x3b, 0x24, 0x13, 0x5f, 0x91, 0x4b,
- 0xb1, 0xa3, 0x74, 0x55, 0x5d, 0x2d, 0xb5, 0xc2, 0x65, 0x6f, 0x3c, 0x7a, 0xae, 0xdf, 0x20, 0xe8,
- 0x66, 0x6e, 0xe3, 0x39, 0x25, 0x13, 0x1f, 0x29, 0x90, 0x9c, 0x61, 0xcf, 0x77, 0x88, 0xab, 0xc4,
- 0x4b, 0xd2, 0x51, 0xda, 0x0c, 0xcd, 0xe7, 0xf2, 0x9b, 0x5f, 0xb4, 0x88, 0xfe, 0x77, 0x14, 0x0e,
- 0x0c, 0x1b, 0xbb, 0xd4, 0xf9, 0xc1, 0xc1, 0xf6, 0xc7, 0x8e, 0xdd, 0xd2, 0x31, 0x74, 0x17, 0x92,
- 0x13, 0xe2, 0xd1, 0xae, 0x63, 0x2b, 0x09, 0x86, 0x24, 0x02, 0xd3, 0xb0, 0xd1, 0x7d, 0x00, 0x21,
- 0x33, 0xc0, 0x92, 0x0c, 0x4b, 0x0b, 0x8f, 0x61, 0x8b, 0x4e, 0x5f, 0xc0, 0xde, 0xf6, 0x07, 0xa0,
- 0x2f, 0x36, 0xd9, 0x82, 0x2e, 0xa7, 0xab, 0x68, 0xb5, 0xd4, 0x72, 0x5c, 0xa4, 0x00, 0xf4, 0x75,
- 0x85, 0x67, 0x3b, 0x15, 0xa2, 0x8c, 0x7f, 0xb8, 0x5a, 0x6a, 0x07, 0xe2, 0xa3, 0xd6, 0x98, 0xfe,
- 0x7e, 0xe1, 0x7f, 0x62, 0x90, 0x38, 0xeb, 0x59, 0xaf, 0x31, 0x45, 0x2a, 0xa4, 0x7c, 0xfc, 0xe3,
- 0x14, 0xbb, 0x16, 0x1f, 0xad, 0x6c, 0xae, 0x6d, 0xf4, 0x15, 0x64, 0x7c, 0x32, 0xf5, 0x2c, 0xdc,
- 0x0d, 0x6a, 0x8a, 0x1a, 0x85, 0xd5, 0x52, 0x43, 0xbc, 0xc6, 0x16, 0xa8, 0x9b, 0xc0, 0xad, 0x33,
- 0xe2, 0x51, 0xf4, 0x0d, 0xe4, 0x04, 0x26, 0x2a, 0xb3, 0x21, 0xa6, 0xab, 0x9f, 0xae, 0x96, 0xda,
- 0xe1, 0x4e, 0xac, 0xc0, 0x75, 0x33, 0xcb, 0x1d, 0xe1, 0xba, 0xbd, 0x80, 0xbc, 0x8d, 0x7d, 0xea,
- 0xb8, 0x3d, 0x36, 0x17, 0x56, 0x5f, 0x66, 0x39, 0x3e, 0x5b, 0x2d, 0xb5, 0xbb, 0x3c, 0xc7, 0x4d,
- 0x86, 0x6e, 0xee, 0x6f, 0xb9, 0x98, 0x92, 0x16, 0xdc, 0xd9, 0x66, 0x85, 0x72, 0xd8, 0x18, 0xab,
- 0xc5, 0xd5, 0x52, 0x53, 0xdf, 0x4f, 0xb5, 0xd6, 0x84, 0xb6, 0xbc, 0xa1, 0x30, 0x04, 0xb2, 0xdd,
- 0xa3, 0x3d, 0x36, 0xee, 0x3d, 0x93, 0x9d, 0xd1, 0xf7, 0x90, 0xa3, 0xce, 0x18, 0x93, 0x29, 0xed,
- 0x0e, 0xb1, 0x33, 0x18, 0x52, 0x36, 0xf0, 0xcc, 0xce, 0xbe, 0xf3, 0x9b, 0x68, 0x76, 0x5c, 0x3e,
- 0x65, 0x8c, 0xea, 0xfd, 0x60, 0x59, 0x37, 0xed, 0xd8, 0x8d, 0xd7, 0xcd, 0xac, 0x70, 0x70, 0x36,
- 0x32, 0xe0, 0x20, 0x64, 0x04, 0xbf, 0x3e, 0xed, 0x8d, 0x27, 0x4a, 0x2a, 0x18, 0x57, 0xf5, 0xde,
- 0x6a, 0xa9, 0x29, 0xbb, 0x49, 0xd6, 0x14, 0xdd, 0xcc, 0x0b, 0x5f, 0x27, 0x74, 0x89, 0x0d, 0xf8,
- 0x5d, 0x82, 0x0c, 0xdf, 0x00, 0xf6, 0x9f, 0xfd, 0x0f, 0x56, 0x6f, 0x67, 0xd3, 0x62, 0x37, 0x36,
- 0x2d, 0xec, 0xaa, 0xbc, 0xe9, 0xaa, 0x10, 0xfa, 0x93, 0x04, 0x29, 0x2e, 0xd4, 0xb0, 0xff, 0x67,
- 0x95, 0x42, 0x51, 0x0b, 0xf6, 0x4f, 0xac, 0xd7, 0x2e, 0xb9, 0x18, 0x61, 0x7b, 0x80, 0xc7, 0xd8,
- 0xa5, 0x48, 0x81, 0x84, 0x87, 0xfd, 0xe9, 0x88, 0x2a, 0x87, 0xc1, 0x07, 0x9c, 0x46, 0x4c, 0x61,
- 0xa3, 0x02, 0xc4, 0xb1, 0xe7, 0x11, 0x4f, 0x29, 0x04, 0xf5, 0x4f, 0x23, 0x26, 0x37, 0xab, 0x00,
- 0x29, 0x0f, 0xfb, 0x13, 0xe2, 0xfa, 0xf8, 0xe1, 0x1f, 0x12, 0xc4, 0xdb, 0xe2, 0xca, 0xd4, 0xda,
- 0x9d, 0x93, 0x4e, 0xa3, 0x7b, 0xde, 0x34, 0x9a, 0x46, 0xc7, 0x38, 0x79, 0x69, 0xbc, 0x6a, 0xd4,
- 0xbb, 0xe7, 0xcd, 0xf6, 0x59, 0xa3, 0x66, 0xbc, 0x30, 0x1a, 0xf5, 0x7c, 0x44, 0x3d, 0x98, 0x2f,
- 0x4a, 0xd9, 0x1d, 0x02, 0x52, 0x00, 0x78, 0x5c, 0xe0, 0xcc, 0x4b, 0x6a, 0x6a, 0xbe, 0x28, 0xc9,
- 0xc1, 0x19, 0x15, 0x21, 0xcb, 0x91, 0x8e, 0xf9, 0x5d, 0xeb, 0xac, 0xd1, 0xcc, 0x47, 0xd5, 0xcc,
- 0x7c, 0x51, 0x4a, 0x0a, 0x73, 0x13, 0xc9, 0xc0, 0x18, 0x8f, 0x64, 0xc8, 0x3d, 0xd8, 0xe3, 0x48,
- 0xed, 0x65, 0xab, 0xdd, 0xa8, 0xe7, 0x65, 0x15, 0xe6, 0x8b, 0x52, 0x82, 0x5b, 0xaa, 0xfc, 0xe6,
- 0xd7, 0x62, 0xe4, 0xe1, 0x05, 0xc4, 0xd9, 0xed, 0x8d, 0x3e, 0x87, 0x42, 0xcb, 0xac, 0x37, 0xcc,
- 0x6e, 0xb3, 0xd5, 0x6c, 0xdc, 0xd0, 0xcb, 0x52, 0x06, 0x7e, 0xa4, 0xc3, 0x3e, 0x67, 0x9d, 0x37,
- 0xd9, 0x6f, 0xa3, 0x9e, 0x97, 0xd4, 0xec, 0x7c, 0x51, 0x4a, 0xaf, 0x1d, 0x81, 0x60, 0xce, 0x09,
- 0x19, 0x42, 0xb0, 0x30, 0x79, 0xe1, 0x6a, 0xfb, 0xed, 0x55, 0x51, 0x7a, 0x77, 0x55, 0x94, 0xfe,
- 0xba, 0x2a, 0x4a, 0x3f, 0x5f, 0x17, 0x23, 0xef, 0xae, 0x8b, 0x91, 0x3f, 0xaf, 0x8b, 0x91, 0x57,
- 0x5f, 0x0f, 0x1c, 0x3a, 0x9c, 0xf6, 0xcb, 0x16, 0x19, 0x57, 0x2c, 0xe2, 0x8f, 0x89, 0x5f, 0x71,
- 0xfa, 0xd6, 0xa3, 0x01, 0xa9, 0xcc, 0x9e, 0x56, 0xc6, 0xc4, 0x9e, 0x8e, 0xb0, 0xcf, 0x9f, 0x09,
- 0x8f, 0x9f, 0x3d, 0x0a, 0xdf, 0x1d, 0xf4, 0x72, 0x82, 0xfd, 0x7e, 0x82, 0xbd, 0x13, 0x9e, 0xfe,
- 0x1b, 0x00, 0x00, 0xff, 0xff, 0x47, 0xf5, 0x82, 0xa6, 0x98, 0x08, 0x00, 0x00,
+ 0xca, 0x91, 0xc1, 0xeb, 0xac, 0x12, 0xc5, 0xa7, 0x2c, 0x3f, 0xd6, 0x8e, 0x62, 0xc1, 0x6a, 0x60,
+ 0x0f, 0xf1, 0x85, 0xc0, 0x4c, 0x07, 0x46, 0x86, 0x69, 0x32, 0xd3, 0xb0, 0xda, 0x37, 0xb0, 0xb8,
+ 0x24, 0x2f, 0x80, 0x14, 0x29, 0x4a, 0x5e, 0x21, 0xaf, 0xe0, 0xa3, 0x8f, 0x39, 0xa1, 0x68, 0xf7,
+ 0x90, 0x3b, 0x2f, 0x90, 0x68, 0xba, 0x7b, 0xf8, 0x59, 0x5b, 0x7b, 0x4c, 0x2e, 0x39, 0xd1, 0x55,
+ 0xdf, 0x57, 0x55, 0xdf, 0x54, 0x15, 0xad, 0x86, 0x47, 0x4e, 0xdf, 0xaa, 0x58, 0xc4, 0xc3, 0x15,
+ 0x6b, 0xd8, 0x73, 0x5d, 0x3c, 0xaa, 0xcc, 0x8e, 0xc3, 0x63, 0x79, 0xe2, 0x11, 0x4a, 0xd0, 0x3d,
+ 0xa7, 0x6f, 0x95, 0x03, 0x4a, 0x39, 0xf4, 0xcf, 0x8e, 0xd5, 0x8f, 0x06, 0x64, 0x40, 0x18, 0x5e,
+ 0x09, 0x4e, 0x9c, 0xaa, 0x6a, 0x9b, 0x6c, 0x23, 0x07, 0xbb, 0x94, 0x25, 0x63, 0x27, 0x4e, 0xd0,
+ 0x7f, 0x8d, 0x42, 0xb2, 0xc6, 0xb3, 0xa0, 0xa7, 0x10, 0xf7, 0x69, 0x8f, 0x62, 0x45, 0x2a, 0x49,
+ 0x47, 0xb9, 0x67, 0x6a, 0xf9, 0x03, 0x75, 0xca, 0xed, 0x80, 0x61, 0x72, 0x22, 0xfa, 0x02, 0x52,
+ 0xc4, 0xb3, 0xb1, 0xe7, 0xb8, 0x03, 0x25, 0x7a, 0x47, 0x50, 0x2b, 0x20, 0x99, 0x6b, 0x2e, 0xfa,
+ 0x06, 0xf6, 0x2c, 0x32, 0x75, 0x29, 0xf6, 0x26, 0x3d, 0x8f, 0x5e, 0x29, 0xb1, 0x92, 0x74, 0x94,
+ 0x79, 0xf6, 0xe8, 0x83, 0xb1, 0xb5, 0x2d, 0x62, 0x55, 0x7e, 0xbb, 0xd4, 0x22, 0xe6, 0x4e, 0x30,
+ 0xaa, 0xc1, 0xbe, 0x45, 0x5c, 0x17, 0x5b, 0xd4, 0x21, 0x6e, 0x77, 0x48, 0x26, 0xbe, 0x22, 0x97,
+ 0x62, 0x47, 0xe9, 0xaa, 0xba, 0x5a, 0x6a, 0x85, 0xab, 0xde, 0x78, 0xf4, 0x5c, 0xbf, 0x45, 0xd0,
+ 0xcd, 0xdc, 0xc6, 0x73, 0x46, 0x26, 0x3e, 0x52, 0x20, 0x39, 0xc3, 0x9e, 0xef, 0x10, 0x57, 0x89,
+ 0x97, 0xa4, 0xa3, 0xb4, 0x19, 0x9a, 0xcf, 0xe5, 0x37, 0x3f, 0x6b, 0x11, 0xfd, 0xaf, 0x28, 0x1c,
+ 0x18, 0x36, 0x76, 0xa9, 0xf3, 0xbd, 0x83, 0xed, 0xff, 0x3b, 0x76, 0x47, 0xc7, 0xd0, 0x7d, 0x48,
+ 0x4e, 0x88, 0x47, 0xbb, 0x8e, 0xad, 0x24, 0x18, 0x92, 0x08, 0x4c, 0xc3, 0x46, 0x0f, 0x01, 0x84,
+ 0xcc, 0x00, 0x4b, 0x32, 0x2c, 0x2d, 0x3c, 0x86, 0x2d, 0x3a, 0x7d, 0x09, 0x7b, 0xdb, 0x1f, 0x80,
+ 0x3e, 0xdb, 0x64, 0x0b, 0xba, 0x9c, 0xae, 0xa2, 0xd5, 0x52, 0xcb, 0x71, 0x91, 0x02, 0xd0, 0xd7,
+ 0x15, 0x4e, 0x76, 0x2a, 0x44, 0x19, 0xff, 0x70, 0xb5, 0xd4, 0x0e, 0xc4, 0x47, 0xad, 0x31, 0xfd,
+ 0xfd, 0xc2, 0x7f, 0xc7, 0x20, 0x71, 0xde, 0xb3, 0x5e, 0x63, 0x8a, 0x54, 0x48, 0xf9, 0xf8, 0x87,
+ 0x29, 0x76, 0x2d, 0x3e, 0x5a, 0xd9, 0x5c, 0xdb, 0xe8, 0x4b, 0xc8, 0xf8, 0x64, 0xea, 0x59, 0xb8,
+ 0x1b, 0xd4, 0x14, 0x35, 0x0a, 0xab, 0xa5, 0x86, 0x78, 0x8d, 0x2d, 0x50, 0x37, 0x81, 0x5b, 0xe7,
+ 0xc4, 0xa3, 0xe8, 0x6b, 0xc8, 0x09, 0x4c, 0x54, 0x66, 0x43, 0x4c, 0x57, 0x3f, 0x5e, 0x2d, 0xb5,
+ 0xc3, 0x9d, 0x58, 0x81, 0xeb, 0x66, 0x96, 0x3b, 0xc2, 0x75, 0x7b, 0x01, 0x79, 0x1b, 0xfb, 0xd4,
+ 0x71, 0x7b, 0x6c, 0x2e, 0xac, 0xbe, 0xcc, 0x72, 0x7c, 0xb2, 0x5a, 0x6a, 0xf7, 0x79, 0x8e, 0xdb,
+ 0x0c, 0xdd, 0xdc, 0xdf, 0x72, 0x31, 0x25, 0x2d, 0xb8, 0xb7, 0xcd, 0x0a, 0xe5, 0xb0, 0x31, 0x56,
+ 0x8b, 0xab, 0xa5, 0xa6, 0xbe, 0x9f, 0x6a, 0xad, 0x09, 0x6d, 0x79, 0x43, 0x61, 0x08, 0x64, 0xbb,
+ 0x47, 0x7b, 0x6c, 0xdc, 0x7b, 0x26, 0x3b, 0xa3, 0xef, 0x20, 0x47, 0x9d, 0x31, 0x26, 0x53, 0xda,
+ 0x1d, 0x62, 0x67, 0x30, 0xa4, 0x6c, 0xe0, 0x99, 0x9d, 0x7d, 0xe7, 0x37, 0xd1, 0xec, 0xb8, 0x7c,
+ 0xc6, 0x18, 0xd5, 0x87, 0xc1, 0xb2, 0x6e, 0xda, 0xb1, 0x1b, 0xaf, 0x9b, 0x59, 0xe1, 0xe0, 0x6c,
+ 0x64, 0xc0, 0x41, 0xc8, 0x08, 0x7e, 0x7d, 0xda, 0x1b, 0x4f, 0x94, 0x54, 0x30, 0xae, 0xea, 0x83,
+ 0xd5, 0x52, 0x53, 0x76, 0x93, 0xac, 0x29, 0xba, 0x99, 0x17, 0xbe, 0x4e, 0xe8, 0x12, 0x1b, 0xf0,
+ 0x9b, 0x04, 0x19, 0xbe, 0x01, 0xec, 0x3f, 0xfb, 0x2f, 0xac, 0xde, 0xce, 0xa6, 0xc5, 0x6e, 0x6d,
+ 0x5a, 0xd8, 0x55, 0x79, 0xd3, 0x55, 0x21, 0xf4, 0x47, 0x09, 0x52, 0x5c, 0xa8, 0x61, 0xff, 0xc7,
+ 0x2a, 0x85, 0xa2, 0x16, 0xec, 0x9f, 0x5a, 0xaf, 0x5d, 0x72, 0x39, 0xc2, 0xf6, 0x00, 0x8f, 0xb1,
+ 0x4b, 0x91, 0x02, 0x09, 0x0f, 0xfb, 0xd3, 0x11, 0x55, 0x0e, 0x83, 0x0f, 0x38, 0x8b, 0x98, 0xc2,
+ 0x46, 0x05, 0x88, 0x63, 0xcf, 0x23, 0x9e, 0x52, 0x08, 0xea, 0x9f, 0x45, 0x4c, 0x6e, 0x56, 0x01,
+ 0x52, 0x1e, 0xf6, 0x27, 0xc4, 0xf5, 0xf1, 0xe3, 0xdf, 0x25, 0x88, 0xb7, 0xc5, 0x95, 0xa9, 0xb5,
+ 0x3b, 0xa7, 0x9d, 0x46, 0xf7, 0xa2, 0x69, 0x34, 0x8d, 0x8e, 0x71, 0xfa, 0xd2, 0x78, 0xd5, 0xa8,
+ 0x77, 0x2f, 0x9a, 0xed, 0xf3, 0x46, 0xcd, 0x78, 0x61, 0x34, 0xea, 0xf9, 0x88, 0x7a, 0x30, 0x5f,
+ 0x94, 0xb2, 0x3b, 0x04, 0xa4, 0x00, 0xf0, 0xb8, 0xc0, 0x99, 0x97, 0xd4, 0xd4, 0x7c, 0x51, 0x92,
+ 0x83, 0x33, 0x2a, 0x42, 0x96, 0x23, 0x1d, 0xf3, 0xdb, 0xd6, 0x79, 0xa3, 0x99, 0x8f, 0xaa, 0x99,
+ 0xf9, 0xa2, 0x94, 0x14, 0xe6, 0x26, 0x92, 0x81, 0x31, 0x1e, 0xc9, 0x90, 0x07, 0xb0, 0xc7, 0x91,
+ 0xda, 0xcb, 0x56, 0xbb, 0x51, 0xcf, 0xcb, 0x2a, 0xcc, 0x17, 0xa5, 0x04, 0xb7, 0x54, 0xf9, 0xcd,
+ 0x2f, 0xc5, 0xc8, 0xe3, 0x4b, 0x88, 0xb3, 0xdb, 0x1b, 0x7d, 0x0a, 0x85, 0x96, 0x59, 0x6f, 0x98,
+ 0xdd, 0x66, 0xab, 0xd9, 0xb8, 0xa5, 0x97, 0xa5, 0x0c, 0xfc, 0x48, 0x87, 0x7d, 0xce, 0xba, 0x68,
+ 0xb2, 0xdf, 0x46, 0x3d, 0x2f, 0xa9, 0xd9, 0xf9, 0xa2, 0x94, 0x5e, 0x3b, 0x02, 0xc1, 0x9c, 0x13,
+ 0x32, 0x84, 0x60, 0x61, 0xf2, 0xc2, 0xd5, 0xf6, 0xdb, 0xeb, 0xa2, 0xf4, 0xee, 0xba, 0x28, 0xfd,
+ 0x79, 0x5d, 0x94, 0x7e, 0xba, 0x29, 0x46, 0xde, 0xdd, 0x14, 0x23, 0x7f, 0xdc, 0x14, 0x23, 0xaf,
+ 0xbe, 0x1a, 0x38, 0x74, 0x38, 0xed, 0x97, 0x2d, 0x32, 0xae, 0x58, 0xc4, 0x1f, 0x13, 0xbf, 0xe2,
+ 0xf4, 0xad, 0x27, 0x03, 0x52, 0x99, 0x9d, 0x54, 0xc6, 0xc4, 0x9e, 0x8e, 0xb0, 0xcf, 0x9f, 0x09,
+ 0x4f, 0x4f, 0x9e, 0x84, 0xef, 0x0e, 0x7a, 0x35, 0xc1, 0x7e, 0x3f, 0xc1, 0xde, 0x09, 0x9f, 0xff,
+ 0x13, 0x00, 0x00, 0xff, 0xff, 0x59, 0xc1, 0x4c, 0x94, 0x98, 0x08, 0x00, 0x00,
}
func (m *Channel) Marshal() (dAtA []byte, err error) {
diff --git a/modules/core/04-channel/types/channel_test.go b/modules/core/04-channel/types/channel_test.go
index c6cc9a03a9c..95c4dea4d43 100644
--- a/modules/core/04-channel/types/channel_test.go
+++ b/modules/core/04-channel/types/channel_test.go
@@ -5,7 +5,7 @@ import (
"github.com/stretchr/testify/require"
- "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types"
+ "github.com/cosmos/ibc-go/v4/modules/core/04-channel/types"
)
func TestChannelValidateBasic(t *testing.T) {
diff --git a/modules/core/04-channel/types/codec.go b/modules/core/04-channel/types/codec.go
index 17da7f2e1d3..62114555778 100644
--- a/modules/core/04-channel/types/codec.go
+++ b/modules/core/04-channel/types/codec.go
@@ -6,7 +6,7 @@ import (
sdk "github.com/cosmos/cosmos-sdk/types"
"github.com/cosmos/cosmos-sdk/types/msgservice"
- "github.com/cosmos/ibc-go/v3/modules/core/exported"
+ "github.com/cosmos/ibc-go/v4/modules/core/exported"
)
// RegisterInterfaces register the ibc channel submodule interfaces to protobuf
diff --git a/modules/core/04-channel/types/events.go b/modules/core/04-channel/types/events.go
index 8740c3838eb..ad9fcb922eb 100644
--- a/modules/core/04-channel/types/events.go
+++ b/modules/core/04-channel/types/events.go
@@ -3,7 +3,7 @@ package types
import (
"fmt"
- host "github.com/cosmos/ibc-go/v3/modules/core/24-host"
+ host "github.com/cosmos/ibc-go/v4/modules/core/24-host"
)
// IBC channel events
diff --git a/modules/core/04-channel/types/expected_keepers.go b/modules/core/04-channel/types/expected_keepers.go
index 317cefd16c1..41be5a00e24 100644
--- a/modules/core/04-channel/types/expected_keepers.go
+++ b/modules/core/04-channel/types/expected_keepers.go
@@ -4,8 +4,8 @@ import (
sdk "github.com/cosmos/cosmos-sdk/types"
capabilitytypes "github.com/cosmos/cosmos-sdk/x/capability/types"
- connectiontypes "github.com/cosmos/ibc-go/v3/modules/core/03-connection/types"
- "github.com/cosmos/ibc-go/v3/modules/core/exported"
+ connectiontypes "github.com/cosmos/ibc-go/v4/modules/core/03-connection/types"
+ "github.com/cosmos/ibc-go/v4/modules/core/exported"
)
// ClientKeeper expected account IBC client keeper
diff --git a/modules/core/04-channel/types/genesis.go b/modules/core/04-channel/types/genesis.go
index 5f6b9370942..78d8ae2b04a 100644
--- a/modules/core/04-channel/types/genesis.go
+++ b/modules/core/04-channel/types/genesis.go
@@ -4,7 +4,7 @@ import (
"errors"
"fmt"
- host "github.com/cosmos/ibc-go/v3/modules/core/24-host"
+ host "github.com/cosmos/ibc-go/v4/modules/core/24-host"
)
// NewPacketState creates a new PacketState instance.
diff --git a/modules/core/04-channel/types/genesis.pb.go b/modules/core/04-channel/types/genesis.pb.go
index fa474dbb006..6dc5f5b2f4c 100644
--- a/modules/core/04-channel/types/genesis.pb.go
+++ b/modules/core/04-channel/types/genesis.pb.go
@@ -197,37 +197,37 @@ func init() { proto.RegisterFile("ibc/core/channel/v1/genesis.proto", fileDescri
var fileDescriptor_cb06ec201f452595 = []byte{
// 506 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x93, 0xcf, 0x6e, 0xd3, 0x40,
- 0x10, 0x87, 0xe3, 0x36, 0x4d, 0xd3, 0x6d, 0x13, 0xd1, 0x6d, 0x23, 0x99, 0xa8, 0xd8, 0xc6, 0x48,
- 0x28, 0x12, 0xaa, 0x4d, 0x69, 0x2f, 0x70, 0x34, 0x07, 0xc8, 0x0d, 0x6d, 0x39, 0x21, 0xa1, 0xc8,
- 0x5e, 0x4f, 0xdd, 0x55, 0x62, 0x6f, 0xf0, 0x6e, 0x02, 0x7d, 0x0a, 0x78, 0xac, 0x1e, 0x7b, 0xe4,
- 0x64, 0xa1, 0xe4, 0x0d, 0x72, 0xe4, 0x84, 0xfc, 0x37, 0x89, 0x1a, 0x21, 0xca, 0xcd, 0x3b, 0xf3,
- 0x9b, 0xef, 0x9b, 0x83, 0x07, 0x3d, 0x65, 0x1e, 0xb5, 0x29, 0x8f, 0xc1, 0xa6, 0xd7, 0x6e, 0x14,
- 0xc1, 0xc8, 0x9e, 0x9e, 0xd9, 0x01, 0x44, 0x20, 0x98, 0xb0, 0xc6, 0x31, 0x97, 0x1c, 0x1f, 0x31,
- 0x8f, 0x5a, 0x69, 0xc4, 0x2a, 0x22, 0xd6, 0xf4, 0xac, 0x7b, 0x1c, 0xf0, 0x80, 0x67, 0x7d, 0x3b,
- 0xfd, 0xca, 0xa3, 0xdd, 0x8d, 0xb4, 0x72, 0x2a, 0x8b, 0x98, 0xf3, 0x1d, 0x74, 0xf0, 0x2e, 0xe7,
- 0x5f, 0x4a, 0x57, 0x02, 0xfe, 0x8c, 0x9a, 0x45, 0x42, 0xa8, 0x8a, 0xb1, 0xdd, 0xdb, 0x7f, 0xf5,
- 0xdc, 0xda, 0x60, 0xb4, 0xfa, 0x3e, 0x44, 0x92, 0x5d, 0x31, 0xf0, 0xdf, 0xe6, 0x45, 0xe7, 0xf1,
- 0x6d, 0xa2, 0xd7, 0x7e, 0x27, 0xfa, 0xe1, 0xbd, 0x16, 0xa9, 0x90, 0x98, 0xa0, 0x47, 0x2e, 0x1d,
- 0x46, 0xfc, 0xeb, 0x08, 0xfc, 0x00, 0x42, 0x88, 0xa4, 0x50, 0xb7, 0x32, 0x8d, 0xb1, 0x51, 0xf3,
- 0xc1, 0xa5, 0x43, 0x90, 0xd9, 0x6a, 0x4e, 0x3d, 0x15, 0x90, 0x7b, 0xf3, 0xf8, 0x3d, 0xda, 0xa7,
- 0x3c, 0x0c, 0x99, 0xcc, 0x71, 0xdb, 0x0f, 0xc2, 0xad, 0x8e, 0x62, 0x07, 0x35, 0x63, 0xa0, 0xc0,
- 0xc6, 0x52, 0xa8, 0xf5, 0x07, 0x61, 0xaa, 0x39, 0xcc, 0x50, 0x5b, 0x40, 0xe4, 0x0f, 0x04, 0x7c,
- 0x99, 0x40, 0x44, 0x41, 0xa8, 0x3b, 0x19, 0xe9, 0xd9, 0xdf, 0x48, 0x45, 0xd6, 0x79, 0x92, 0xc2,
- 0x16, 0x89, 0xde, 0xb9, 0x71, 0xc3, 0xd1, 0x1b, 0x73, 0x1d, 0x64, 0x92, 0x56, 0x5a, 0x28, 0xc3,
- 0x99, 0x2a, 0x06, 0x3a, 0x5d, 0x51, 0x35, 0xfe, 0x5b, 0xb5, 0x0e, 0x32, 0x49, 0x2b, 0x2d, 0x2c,
- 0x55, 0x57, 0xa8, 0xe5, 0xd2, 0xe1, 0x8a, 0x69, 0xf7, 0xdf, 0x4d, 0x27, 0x85, 0xe9, 0x38, 0x37,
- 0xad, 0x71, 0x4c, 0x72, 0xe0, 0xd2, 0xe1, 0xd2, 0xf3, 0x11, 0x75, 0x22, 0xf8, 0x26, 0x07, 0x05,
- 0xad, 0x0a, 0xaa, 0x4d, 0x43, 0xe9, 0xd5, 0x1d, 0x63, 0x91, 0xe8, 0x27, 0x39, 0x66, 0x63, 0xcc,
- 0x24, 0x47, 0x69, 0xbd, 0xf8, 0xef, 0x4a, 0xac, 0xf9, 0x5d, 0x41, 0xed, 0xf5, 0xa5, 0xf0, 0x0b,
- 0xb4, 0x3b, 0xe6, 0xb1, 0x1c, 0x30, 0x5f, 0x55, 0x0c, 0xa5, 0xb7, 0xe7, 0xe0, 0x45, 0xa2, 0xb7,
- 0x73, 0x74, 0xd1, 0x30, 0x49, 0x23, 0xfd, 0xea, 0xfb, 0xf8, 0x02, 0xa1, 0xd2, 0xc4, 0x7c, 0x75,
- 0x2b, 0xcb, 0x77, 0x16, 0x89, 0x7e, 0x98, 0xe7, 0x97, 0x3d, 0x93, 0xec, 0x15, 0x8f, 0xbe, 0x8f,
- 0xbb, 0xa8, 0x59, 0xad, 0xbf, 0x9d, 0xae, 0x4f, 0xaa, 0xb7, 0x73, 0x79, 0x3b, 0xd3, 0x94, 0xbb,
- 0x99, 0xa6, 0xfc, 0x9a, 0x69, 0xca, 0x8f, 0xb9, 0x56, 0xbb, 0x9b, 0x6b, 0xb5, 0x9f, 0x73, 0xad,
- 0xf6, 0xe9, 0x75, 0xc0, 0xe4, 0xf5, 0xc4, 0xb3, 0x28, 0x0f, 0x6d, 0xca, 0x45, 0xc8, 0x85, 0xcd,
- 0x3c, 0x7a, 0x1a, 0x70, 0x7b, 0x7a, 0x6e, 0x87, 0xdc, 0x9f, 0x8c, 0x40, 0xe4, 0x47, 0xfd, 0xf2,
- 0xe2, 0xb4, 0xbc, 0x6b, 0x79, 0x33, 0x06, 0xe1, 0x35, 0xb2, 0x9b, 0x3e, 0xff, 0x13, 0x00, 0x00,
- 0xff, 0xff, 0x29, 0xa1, 0xc4, 0xd2, 0x46, 0x04, 0x00, 0x00,
+ 0x10, 0x87, 0xe3, 0x26, 0x4d, 0xd3, 0x6d, 0x13, 0xd1, 0x6d, 0x23, 0x99, 0xa8, 0xd8, 0xc1, 0x48,
+ 0x28, 0x12, 0xaa, 0x4d, 0x21, 0x17, 0x38, 0x9a, 0x03, 0xe4, 0x86, 0xb6, 0x9c, 0x90, 0x50, 0x64,
+ 0xaf, 0xa7, 0xee, 0x2a, 0xb1, 0x37, 0x78, 0x37, 0x81, 0x3e, 0x05, 0x3c, 0x56, 0x8f, 0x3d, 0x72,
+ 0xb2, 0x50, 0xf2, 0x06, 0x39, 0x72, 0x42, 0xfe, 0x9b, 0x44, 0x8d, 0x10, 0xed, 0xcd, 0x3b, 0xf3,
+ 0x9b, 0xef, 0x9b, 0x83, 0x07, 0x3d, 0x65, 0x2e, 0xb5, 0x28, 0x8f, 0xc0, 0xa2, 0x57, 0x4e, 0x18,
+ 0xc2, 0xd8, 0x9a, 0x9d, 0x5b, 0x3e, 0x84, 0x20, 0x98, 0x30, 0x27, 0x11, 0x97, 0x1c, 0x1f, 0x33,
+ 0x97, 0x9a, 0x49, 0xc4, 0xcc, 0x23, 0xe6, 0xec, 0xbc, 0x73, 0xe2, 0x73, 0x9f, 0xa7, 0x7d, 0x2b,
+ 0xf9, 0xca, 0xa2, 0x9d, 0xad, 0xb4, 0x62, 0x2a, 0x8d, 0x18, 0x8b, 0x5d, 0x74, 0xf8, 0x3e, 0xe3,
+ 0x5f, 0x48, 0x47, 0x02, 0xfe, 0x82, 0x1a, 0x79, 0x42, 0xa8, 0x4a, 0xb7, 0xda, 0x3b, 0x78, 0xf5,
+ 0xdc, 0xdc, 0x62, 0x34, 0x07, 0x1e, 0x84, 0x92, 0x5d, 0x32, 0xf0, 0xde, 0x65, 0x45, 0xfb, 0xf1,
+ 0x4d, 0xac, 0x57, 0xfe, 0xc4, 0xfa, 0xd1, 0x9d, 0x16, 0x29, 0x91, 0x98, 0xa0, 0x47, 0x0e, 0x1d,
+ 0x85, 0xfc, 0xdb, 0x18, 0x3c, 0x1f, 0x02, 0x08, 0xa5, 0x50, 0x77, 0x52, 0x4d, 0x77, 0xab, 0xe6,
+ 0xa3, 0x43, 0x47, 0x20, 0xd3, 0xd5, 0xec, 0x5a, 0x22, 0x20, 0x77, 0xe6, 0xf1, 0x07, 0x74, 0x40,
+ 0x79, 0x10, 0x30, 0x99, 0xe1, 0xaa, 0xf7, 0xc2, 0xad, 0x8f, 0x62, 0x1b, 0x35, 0x22, 0xa0, 0xc0,
+ 0x26, 0x52, 0xa8, 0xb5, 0x7b, 0x61, 0xca, 0x39, 0xcc, 0x50, 0x4b, 0x40, 0xe8, 0x0d, 0x05, 0x7c,
+ 0x9d, 0x42, 0x48, 0x41, 0xa8, 0xbb, 0x29, 0xe9, 0xd9, 0xbf, 0x48, 0x79, 0xd6, 0x7e, 0x92, 0xc0,
+ 0x96, 0xb1, 0xde, 0xbe, 0x76, 0x82, 0xf1, 0x5b, 0x63, 0x13, 0x64, 0x90, 0x66, 0x52, 0x28, 0xc2,
+ 0xa9, 0x2a, 0x02, 0x3a, 0x5b, 0x53, 0xd5, 0x1f, 0xac, 0xda, 0x04, 0x19, 0xa4, 0x99, 0x14, 0x56,
+ 0xaa, 0x4b, 0xd4, 0x74, 0xe8, 0x68, 0xcd, 0xb4, 0xf7, 0xff, 0xa6, 0xd3, 0xdc, 0x74, 0x92, 0x99,
+ 0x36, 0x38, 0x06, 0x39, 0x74, 0xe8, 0x68, 0xe5, 0xf9, 0x84, 0xda, 0x21, 0x7c, 0x97, 0xc3, 0x9c,
+ 0x56, 0x06, 0xd5, 0x46, 0x57, 0xe9, 0xd5, 0xec, 0xee, 0x32, 0xd6, 0x4f, 0x33, 0xcc, 0xd6, 0x98,
+ 0x41, 0x8e, 0x93, 0x7a, 0xfe, 0xdf, 0x15, 0x58, 0xe3, 0x87, 0x82, 0x5a, 0x9b, 0x4b, 0xe1, 0x17,
+ 0x68, 0x6f, 0xc2, 0x23, 0x39, 0x64, 0x9e, 0xaa, 0x74, 0x95, 0xde, 0xbe, 0x8d, 0x97, 0xb1, 0xde,
+ 0xca, 0xd0, 0x79, 0xc3, 0x20, 0xf5, 0xe4, 0x6b, 0xe0, 0xe1, 0x3e, 0x42, 0x85, 0x89, 0x79, 0xea,
+ 0x4e, 0x9a, 0x6f, 0x2f, 0x63, 0xfd, 0x28, 0xcb, 0xaf, 0x7a, 0x06, 0xd9, 0xcf, 0x1f, 0x03, 0x0f,
+ 0x77, 0x50, 0xa3, 0x5c, 0xbf, 0x9a, 0xac, 0x4f, 0xca, 0xb7, 0x7d, 0x71, 0x33, 0xd7, 0x94, 0xdb,
+ 0xb9, 0xa6, 0xfc, 0x9e, 0x6b, 0xca, 0xcf, 0x85, 0x56, 0xb9, 0x5d, 0x68, 0x95, 0x5f, 0x0b, 0xad,
+ 0xf2, 0xf9, 0x8d, 0xcf, 0xe4, 0xd5, 0xd4, 0x35, 0x29, 0x0f, 0x2c, 0xca, 0x45, 0xc0, 0x85, 0xc5,
+ 0x5c, 0x7a, 0xe6, 0x73, 0x6b, 0xd6, 0xb7, 0x02, 0xee, 0x4d, 0xc7, 0x20, 0xb2, 0xa3, 0x7e, 0xd9,
+ 0x3f, 0x2b, 0xee, 0x5a, 0x5e, 0x4f, 0x40, 0xb8, 0xf5, 0xf4, 0xa6, 0x5f, 0xff, 0x0d, 0x00, 0x00,
+ 0xff, 0xff, 0x37, 0x95, 0x0a, 0xe0, 0x46, 0x04, 0x00, 0x00,
}
func (m *GenesisState) Marshal() (dAtA []byte, err error) {
diff --git a/modules/core/04-channel/types/genesis_test.go b/modules/core/04-channel/types/genesis_test.go
index 856c0833c88..0e1a64b02b6 100644
--- a/modules/core/04-channel/types/genesis_test.go
+++ b/modules/core/04-channel/types/genesis_test.go
@@ -5,7 +5,7 @@ import (
"github.com/stretchr/testify/require"
- "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types"
+ "github.com/cosmos/ibc-go/v4/modules/core/04-channel/types"
)
const (
diff --git a/modules/core/04-channel/types/keys.go b/modules/core/04-channel/types/keys.go
index 8b81da4cfbb..347fd91a677 100644
--- a/modules/core/04-channel/types/keys.go
+++ b/modules/core/04-channel/types/keys.go
@@ -6,7 +6,7 @@ import (
sdkerrors "github.com/cosmos/cosmos-sdk/types/errors"
- host "github.com/cosmos/ibc-go/v3/modules/core/24-host"
+ host "github.com/cosmos/ibc-go/v4/modules/core/24-host"
)
const (
diff --git a/modules/core/04-channel/types/keys_test.go b/modules/core/04-channel/types/keys_test.go
index f5bef1eaf2d..c6c2e3fcec2 100644
--- a/modules/core/04-channel/types/keys_test.go
+++ b/modules/core/04-channel/types/keys_test.go
@@ -5,7 +5,7 @@ import (
"github.com/stretchr/testify/require"
- "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types"
+ "github.com/cosmos/ibc-go/v4/modules/core/04-channel/types"
)
// tests ParseChannelSequence and IsValidChannelID
diff --git a/modules/core/04-channel/types/msgs.go b/modules/core/04-channel/types/msgs.go
index aa720f57754..de53898e6af 100644
--- a/modules/core/04-channel/types/msgs.go
+++ b/modules/core/04-channel/types/msgs.go
@@ -7,9 +7,9 @@ import (
sdk "github.com/cosmos/cosmos-sdk/types"
sdkerrors "github.com/cosmos/cosmos-sdk/types/errors"
- clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types"
- commitmenttypes "github.com/cosmos/ibc-go/v3/modules/core/23-commitment/types"
- host "github.com/cosmos/ibc-go/v3/modules/core/24-host"
+ clienttypes "github.com/cosmos/ibc-go/v4/modules/core/02-client/types"
+ commitmenttypes "github.com/cosmos/ibc-go/v4/modules/core/23-commitment/types"
+ host "github.com/cosmos/ibc-go/v4/modules/core/24-host"
)
var _ sdk.Msg = &MsgChannelOpenInit{}
diff --git a/modules/core/04-channel/types/msgs_test.go b/modules/core/04-channel/types/msgs_test.go
index 623ed992d22..dda7668e365 100644
--- a/modules/core/04-channel/types/msgs_test.go
+++ b/modules/core/04-channel/types/msgs_test.go
@@ -12,11 +12,11 @@ import (
abci "github.com/tendermint/tendermint/abci/types"
dbm "github.com/tendermint/tm-db"
- clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types"
- "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types"
- commitmenttypes "github.com/cosmos/ibc-go/v3/modules/core/23-commitment/types"
- "github.com/cosmos/ibc-go/v3/modules/core/exported"
- "github.com/cosmos/ibc-go/v3/testing/simapp"
+ clienttypes "github.com/cosmos/ibc-go/v4/modules/core/02-client/types"
+ "github.com/cosmos/ibc-go/v4/modules/core/04-channel/types"
+ commitmenttypes "github.com/cosmos/ibc-go/v4/modules/core/23-commitment/types"
+ "github.com/cosmos/ibc-go/v4/modules/core/exported"
+ "github.com/cosmos/ibc-go/v4/testing/simapp"
)
const (
diff --git a/modules/core/04-channel/types/packet.go b/modules/core/04-channel/types/packet.go
index dd59c8bfde9..caba2fc2591 100644
--- a/modules/core/04-channel/types/packet.go
+++ b/modules/core/04-channel/types/packet.go
@@ -7,9 +7,9 @@ import (
sdk "github.com/cosmos/cosmos-sdk/types"
sdkerrors "github.com/cosmos/cosmos-sdk/types/errors"
- clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types"
- host "github.com/cosmos/ibc-go/v3/modules/core/24-host"
- "github.com/cosmos/ibc-go/v3/modules/core/exported"
+ clienttypes "github.com/cosmos/ibc-go/v4/modules/core/02-client/types"
+ host "github.com/cosmos/ibc-go/v4/modules/core/24-host"
+ "github.com/cosmos/ibc-go/v4/modules/core/exported"
)
// CommitPacket returns the packet commitment bytes. The commitment consists of:
diff --git a/modules/core/04-channel/types/packet_test.go b/modules/core/04-channel/types/packet_test.go
index 1020e763e50..f1ed49b15a2 100644
--- a/modules/core/04-channel/types/packet_test.go
+++ b/modules/core/04-channel/types/packet_test.go
@@ -7,8 +7,8 @@ import (
codectypes "github.com/cosmos/cosmos-sdk/codec/types"
"github.com/stretchr/testify/require"
- clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types"
- "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types"
+ clienttypes "github.com/cosmos/ibc-go/v4/modules/core/02-client/types"
+ "github.com/cosmos/ibc-go/v4/modules/core/04-channel/types"
)
func TestCommitPacket(t *testing.T) {
diff --git a/modules/core/04-channel/types/query.go b/modules/core/04-channel/types/query.go
index 31d58e50632..0a4662acc01 100644
--- a/modules/core/04-channel/types/query.go
+++ b/modules/core/04-channel/types/query.go
@@ -3,8 +3,8 @@ package types
import (
codectypes "github.com/cosmos/cosmos-sdk/codec/types"
- clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types"
- "github.com/cosmos/ibc-go/v3/modules/core/exported"
+ clienttypes "github.com/cosmos/ibc-go/v4/modules/core/02-client/types"
+ "github.com/cosmos/ibc-go/v4/modules/core/exported"
)
var (
diff --git a/modules/core/04-channel/types/query.pb.go b/modules/core/04-channel/types/query.pb.go
index 1345b0bcdea..75970287318 100644
--- a/modules/core/04-channel/types/query.pb.go
+++ b/modules/core/04-channel/types/query.pb.go
@@ -8,7 +8,7 @@ import (
fmt "fmt"
types1 "github.com/cosmos/cosmos-sdk/codec/types"
query "github.com/cosmos/cosmos-sdk/types/query"
- types "github.com/cosmos/ibc-go/v3/modules/core/02-client/types"
+ types "github.com/cosmos/ibc-go/v4/modules/core/02-client/types"
_ "github.com/gogo/protobuf/gogoproto"
grpc1 "github.com/gogo/protobuf/grpc"
proto "github.com/gogo/protobuf/proto"
@@ -1709,99 +1709,99 @@ func init() { proto.RegisterFile("ibc/core/channel/v1/query.proto", fileDescript
var fileDescriptor_1034a1e9abc4cca1 = []byte{
// 1490 bytes of a gzipped FileDescriptorProto
- 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xdc, 0x59, 0xcf, 0x6f, 0xd4, 0xc6,
- 0x17, 0xcf, 0x6c, 0x16, 0x48, 0x1e, 0x7c, 0xf9, 0x31, 0x49, 0x20, 0x98, 0xb0, 0x09, 0xfb, 0x55,
- 0x4b, 0x40, 0xc2, 0x43, 0x12, 0x4a, 0x69, 0xd5, 0x22, 0x91, 0x48, 0x85, 0x54, 0xe5, 0x97, 0x53,
- 0x54, 0x40, 0x6a, 0xb7, 0x5e, 0xef, 0xb0, 0xb1, 0x92, 0xb5, 0xcd, 0xda, 0xbb, 0x80, 0xd2, 0xad,
- 0xaa, 0x1e, 0x28, 0x52, 0x2f, 0x55, 0x39, 0x54, 0xea, 0xa5, 0x52, 0x6f, 0x1c, 0x7a, 0xe8, 0x5f,
- 0xd0, 0x2b, 0xb7, 0x22, 0xd1, 0x43, 0x25, 0x24, 0x5a, 0x11, 0x24, 0x7a, 0xed, 0xa5, 0xe7, 0xca,
- 0xf3, 0xc3, 0x6b, 0xef, 0xda, 0x4e, 0x36, 0x9b, 0x95, 0xa2, 0xde, 0xec, 0xf1, 0xbc, 0x37, 0x9f,
- 0xcf, 0xe7, 0xcd, 0x7b, 0x79, 0x6f, 0x03, 0xe3, 0x66, 0xd1, 0x20, 0x86, 0x5d, 0xa5, 0xc4, 0x58,
- 0xd4, 0x2d, 0x8b, 0x2e, 0x93, 0xfa, 0x14, 0xb9, 0x5d, 0xa3, 0xd5, 0x7b, 0xaa, 0x53, 0xb5, 0x3d,
- 0x1b, 0x0f, 0x99, 0x45, 0x43, 0xf5, 0x37, 0xa8, 0x62, 0x83, 0x5a, 0x9f, 0x52, 0x42, 0x56, 0xcb,
- 0x26, 0xb5, 0x3c, 0xdf, 0x88, 0x3f, 0x71, 0x2b, 0xe5, 0xb8, 0x61, 0xbb, 0x15, 0xdb, 0x25, 0x45,
- 0xdd, 0xa5, 0xdc, 0x1d, 0xa9, 0x4f, 0x15, 0xa9, 0xa7, 0x4f, 0x11, 0x47, 0x2f, 0x9b, 0x96, 0xee,
- 0x99, 0xb6, 0x25, 0xf6, 0x1e, 0x89, 0x83, 0x20, 0x0f, 0xe3, 0x5b, 0xc6, 0xca, 0xb6, 0x5d, 0x5e,
- 0xa6, 0x44, 0x77, 0x4c, 0xa2, 0x5b, 0x96, 0xed, 0x31, 0x7b, 0x57, 0x7c, 0x3d, 0x28, 0xbe, 0xb2,
- 0xb7, 0x62, 0xed, 0x16, 0xd1, 0x2d, 0x81, 0x5e, 0x19, 0x2e, 0xdb, 0x65, 0x9b, 0x3d, 0x12, 0xff,
- 0x89, 0xaf, 0xe6, 0x2f, 0xc2, 0xd0, 0x55, 0x1f, 0xd3, 0x1c, 0x3f, 0x44, 0xa3, 0xb7, 0x6b, 0xd4,
- 0xf5, 0xf0, 0x01, 0xd8, 0xe1, 0xd8, 0x55, 0xaf, 0x60, 0x96, 0x46, 0xd1, 0x04, 0x9a, 0x1c, 0xd4,
- 0xb6, 0xfb, 0xaf, 0xf3, 0x25, 0x7c, 0x18, 0x40, 0xe0, 0xf1, 0xbf, 0x65, 0xd8, 0xb7, 0x41, 0xb1,
- 0x32, 0x5f, 0xca, 0x3f, 0x42, 0x30, 0x1c, 0xf5, 0xe7, 0x3a, 0xb6, 0xe5, 0x52, 0x7c, 0x1a, 0x76,
- 0x88, 0x5d, 0xcc, 0xe1, 0xce, 0xe9, 0x31, 0x35, 0x46, 0x4d, 0x55, 0x9a, 0xc9, 0xcd, 0x78, 0x18,
- 0xb6, 0x39, 0x55, 0xdb, 0xbe, 0xc5, 0x8e, 0xda, 0xa5, 0xf1, 0x17, 0x3c, 0x07, 0xbb, 0xd8, 0x43,
- 0x61, 0x91, 0x9a, 0xe5, 0x45, 0x6f, 0xb4, 0x9f, 0xb9, 0x54, 0x42, 0x2e, 0x79, 0x04, 0xea, 0x53,
- 0xea, 0x05, 0xb6, 0x63, 0x36, 0xfb, 0xf8, 0xf9, 0x78, 0x9f, 0xb6, 0x93, 0x59, 0xf1, 0xa5, 0xfc,
- 0x27, 0x51, 0xa8, 0xae, 0xe4, 0xfe, 0x1e, 0x40, 0x33, 0x30, 0x02, 0xed, 0xeb, 0x2a, 0x8f, 0xa2,
- 0xea, 0x47, 0x51, 0xe5, 0x97, 0x42, 0x44, 0x51, 0xbd, 0xa2, 0x97, 0xa9, 0xb0, 0xd5, 0x42, 0x96,
- 0xf9, 0xe7, 0x08, 0x46, 0x5a, 0x0e, 0x10, 0x62, 0xcc, 0xc2, 0x80, 0xe0, 0xe7, 0x8e, 0xa2, 0x89,
- 0x7e, 0xe6, 0x3f, 0x4e, 0x8d, 0xf9, 0x12, 0xb5, 0x3c, 0xf3, 0x96, 0x49, 0x4b, 0x52, 0x97, 0xc0,
- 0x0e, 0x9f, 0x8f, 0xa0, 0xcc, 0x30, 0x94, 0x47, 0xd7, 0x44, 0xc9, 0x01, 0x84, 0x61, 0xe2, 0x33,
- 0xb0, 0xbd, 0x43, 0x15, 0xc5, 0xfe, 0xfc, 0x03, 0x04, 0x39, 0x4e, 0xd0, 0xb6, 0x2c, 0x6a, 0xf8,
- 0xde, 0x5a, 0xb5, 0xcc, 0x01, 0x18, 0xc1, 0x47, 0x71, 0x95, 0x42, 0x2b, 0x2d, 0x5a, 0x67, 0x36,
- 0xac, 0xf5, 0x5f, 0x08, 0xc6, 0x13, 0xa1, 0xfc, 0xb7, 0x54, 0xbf, 0x2e, 0x45, 0xe7, 0x98, 0xe6,
- 0xd8, 0xee, 0x05, 0x4f, 0xf7, 0x68, 0xb7, 0xc9, 0xfb, 0x47, 0x20, 0x62, 0x8c, 0x6b, 0x21, 0xa2,
- 0x0e, 0x07, 0xcc, 0x40, 0x9f, 0x02, 0x87, 0x5a, 0x70, 0xfd, 0x2d, 0x22, 0x53, 0x8e, 0xc5, 0x11,
- 0x09, 0x49, 0x1a, 0xf2, 0x39, 0x62, 0xc6, 0x2d, 0xf7, 0x32, 0xe5, 0x7f, 0x42, 0x70, 0x24, 0xc2,
- 0xd0, 0xe7, 0x64, 0xb9, 0x35, 0x77, 0x33, 0xf4, 0xc3, 0x47, 0x61, 0x4f, 0x95, 0xd6, 0x4d, 0xd7,
- 0xb4, 0xad, 0x82, 0x55, 0xab, 0x14, 0x69, 0x95, 0xa1, 0xcc, 0x6a, 0xbb, 0xe5, 0xf2, 0x25, 0xb6,
- 0x1a, 0xd9, 0x28, 0xe8, 0x64, 0xa3, 0x1b, 0x05, 0xde, 0x67, 0x08, 0xf2, 0x69, 0x78, 0x45, 0x50,
- 0xde, 0x85, 0x3d, 0x86, 0xfc, 0x12, 0x09, 0xc6, 0xb0, 0xca, 0xff, 0x1e, 0xa8, 0xf2, 0xef, 0x81,
- 0x7a, 0xce, 0xba, 0xa7, 0xed, 0x36, 0x22, 0x6e, 0xf0, 0x21, 0x18, 0x14, 0x81, 0x0c, 0x58, 0x0d,
- 0xf0, 0x85, 0xf9, 0x52, 0x33, 0x1a, 0xfd, 0x69, 0xd1, 0xc8, 0x6e, 0x24, 0x1a, 0x55, 0x18, 0x63,
- 0xe4, 0xae, 0xe8, 0xc6, 0x12, 0xf5, 0xe6, 0xec, 0x4a, 0xc5, 0xf4, 0x2a, 0xd4, 0xf2, 0xba, 0x8d,
- 0x83, 0x02, 0x03, 0xae, 0xef, 0xc2, 0x32, 0xa8, 0x08, 0x40, 0xf0, 0x9e, 0xff, 0x1e, 0xc1, 0xe1,
- 0x84, 0x43, 0x85, 0x98, 0xac, 0x64, 0xc9, 0x55, 0x76, 0xf0, 0x2e, 0x2d, 0xb4, 0xd2, 0xcb, 0xeb,
- 0xf9, 0x43, 0x12, 0x38, 0xb7, 0x5b, 0x49, 0xa2, 0x75, 0xb6, 0x7f, 0xc3, 0x75, 0xf6, 0x95, 0x2c,
- 0xf9, 0x31, 0x08, 0x83, 0x32, 0xbb, 0xb3, 0xa9, 0x96, 0xac, 0xb4, 0x13, 0xb1, 0x95, 0x96, 0x3b,
- 0xe1, 0x77, 0x39, 0x6c, 0xb4, 0x15, 0xca, 0xac, 0x0d, 0x07, 0x43, 0x44, 0x35, 0x6a, 0x50, 0xd3,
- 0xe9, 0xe9, 0xcd, 0x7c, 0x88, 0x40, 0x89, 0x3b, 0x51, 0xc8, 0xaa, 0xc0, 0x40, 0xd5, 0x5f, 0xaa,
- 0x53, 0xee, 0x77, 0x40, 0x0b, 0xde, 0x7b, 0x99, 0xa3, 0x77, 0x44, 0xc1, 0xe4, 0xa0, 0xce, 0x19,
- 0x4b, 0x96, 0x7d, 0x67, 0x99, 0x96, 0xca, 0xb4, 0xd7, 0x89, 0xfa, 0x48, 0x96, 0xbe, 0x84, 0x93,
- 0x85, 0x2c, 0x93, 0xb0, 0x47, 0x8f, 0x7e, 0x12, 0x29, 0xdb, 0xba, 0xdc, 0xcb, 0xbc, 0x7d, 0x99,
- 0x8a, 0x75, 0xab, 0x24, 0x2f, 0x3e, 0x0b, 0x87, 0x1c, 0x06, 0xb0, 0xd0, 0xcc, 0xb5, 0x82, 0x14,
- 0xdc, 0x1d, 0xcd, 0x4e, 0xf4, 0x4f, 0x66, 0xb5, 0x83, 0x4e, 0x4b, 0x66, 0x2f, 0xc8, 0x0d, 0xf9,
- 0x7f, 0x10, 0xfc, 0x3f, 0x95, 0xa6, 0x88, 0xc9, 0x07, 0xb0, 0xb7, 0x45, 0xfc, 0xf5, 0x97, 0x81,
- 0x36, 0xcb, 0xad, 0x50, 0x0b, 0xbe, 0x93, 0x75, 0xf9, 0x9a, 0x25, 0x73, 0x8e, 0x63, 0xee, 0x3a,
- 0xb4, 0x6b, 0x84, 0xa4, 0x7f, 0xad, 0x90, 0xdc, 0x15, 0xe5, 0x38, 0x06, 0x98, 0x08, 0xc6, 0x18,
- 0x0c, 0x36, 0xfd, 0x21, 0xe6, 0xaf, 0xb9, 0x10, 0xd2, 0x24, 0xd3, 0xa1, 0x26, 0xf7, 0x65, 0xb9,
- 0x6a, 0x1e, 0x7d, 0xce, 0x58, 0xea, 0x5a, 0x90, 0x93, 0x30, 0x2c, 0x04, 0xd1, 0x8d, 0xa5, 0x36,
- 0x25, 0xb0, 0x23, 0x6f, 0x5e, 0x53, 0x82, 0x1a, 0x1c, 0x8a, 0xc5, 0xd1, 0x63, 0xfe, 0x37, 0x44,
- 0xaf, 0x7c, 0x89, 0xde, 0x0d, 0xe2, 0xa1, 0x71, 0x00, 0xdd, 0xf6, 0xe1, 0x3f, 0x23, 0x98, 0x48,
- 0xf6, 0x2d, 0x78, 0x4d, 0xc3, 0x88, 0x45, 0xef, 0x36, 0x2f, 0x4b, 0x41, 0xb0, 0x67, 0x47, 0x65,
- 0xb5, 0x21, 0xab, 0xdd, 0xb6, 0x87, 0x25, 0x70, 0xfa, 0xeb, 0xfd, 0xb0, 0x8d, 0x61, 0xc6, 0x3f,
- 0x22, 0xd8, 0x21, 0xda, 0x55, 0x3c, 0x19, 0x9b, 0xef, 0x31, 0x3f, 0x38, 0x28, 0xc7, 0xd6, 0xb1,
- 0x93, 0x33, 0xcf, 0xcf, 0x7e, 0xf9, 0xf4, 0xe5, 0xc3, 0xcc, 0x3b, 0xf8, 0x6d, 0x92, 0xf2, 0x6b,
- 0x89, 0x4b, 0x56, 0x9a, 0x12, 0x37, 0x88, 0x2f, 0xbc, 0x4b, 0x56, 0x44, 0x38, 0x1a, 0xf8, 0x01,
- 0x82, 0x01, 0x39, 0x20, 0xe2, 0xb5, 0xcf, 0x96, 0xd7, 0x5a, 0x39, 0xbe, 0x9e, 0xad, 0x02, 0xe7,
- 0x6b, 0x0c, 0xe7, 0x38, 0x3e, 0x9c, 0x8a, 0x13, 0xff, 0x82, 0x00, 0xb7, 0x4f, 0xad, 0x78, 0x26,
- 0xe5, 0xa4, 0xa4, 0x71, 0x5b, 0x39, 0xd5, 0x99, 0x91, 0x00, 0x7a, 0x96, 0x01, 0x3d, 0x83, 0x4f,
- 0xc7, 0x03, 0x0d, 0x0c, 0x7d, 0x4d, 0x83, 0x97, 0x46, 0x93, 0xc1, 0x13, 0x9f, 0x41, 0xdb, 0xc8,
- 0x98, 0xca, 0x20, 0x69, 0x76, 0x4d, 0x65, 0x90, 0x38, 0x95, 0xe6, 0x2f, 0x33, 0x06, 0xf3, 0xf8,
- 0xfc, 0xc6, 0xaf, 0x04, 0x09, 0xcf, 0xb2, 0xf8, 0xdb, 0x0c, 0x8c, 0xc4, 0xce, 0x5c, 0xf8, 0xf4,
- 0xda, 0x00, 0xe3, 0x86, 0x4a, 0xe5, 0xcd, 0x8e, 0xed, 0x04, 0xb7, 0xaf, 0x10, 0x23, 0xf7, 0x05,
- 0xc2, 0x9f, 0x77, 0xc3, 0x2e, 0x3a, 0x1f, 0x12, 0x39, 0x68, 0x92, 0x95, 0x96, 0x91, 0xb5, 0x41,
- 0x78, 0x19, 0x08, 0x7d, 0xe0, 0x0b, 0x0d, 0xfc, 0x0c, 0xc1, 0xde, 0xd6, 0xbe, 0x1f, 0x4f, 0x25,
- 0xf3, 0x4a, 0x98, 0xeb, 0x94, 0xe9, 0x4e, 0x4c, 0x84, 0x0a, 0x9f, 0x32, 0x11, 0x6e, 0xe2, 0xeb,
- 0x5d, 0x68, 0xd0, 0xf6, 0x97, 0xd6, 0x25, 0x2b, 0xb2, 0x7c, 0x36, 0xf0, 0x53, 0x04, 0xfb, 0xda,
- 0xa6, 0x1a, 0xdc, 0x01, 0xd6, 0x20, 0x0b, 0x67, 0x3a, 0xb2, 0x11, 0x04, 0xaf, 0x31, 0x82, 0x97,
- 0xf1, 0xc5, 0x4d, 0x25, 0x88, 0x7f, 0x45, 0xf0, 0xbf, 0xc8, 0x40, 0x81, 0xd5, 0xb5, 0xd0, 0x45,
- 0x67, 0x1d, 0x85, 0xac, 0x7b, 0xbf, 0x60, 0xf2, 0x31, 0x63, 0xf2, 0x11, 0xbe, 0xd6, 0x3d, 0x93,
- 0x2a, 0x77, 0x1d, 0x89, 0xd3, 0x2a, 0x82, 0x91, 0xd8, 0x06, 0x34, 0x2d, 0x35, 0xd3, 0xc6, 0x97,
- 0xb4, 0xd4, 0x4c, 0x1d, 0x3e, 0xf2, 0x37, 0x18, 0xd3, 0x05, 0x7c, 0xb5, 0x7b, 0xa6, 0xba, 0xb1,
- 0x14, 0x61, 0xf9, 0x0a, 0xc1, 0xfe, 0xf8, 0x36, 0x1b, 0x77, 0x0a, 0x37, 0xb8, 0x97, 0x67, 0x3a,
- 0x37, 0x14, 0x44, 0x6f, 0x32, 0xa2, 0x1f, 0x62, 0x6d, 0x53, 0x88, 0x46, 0xe9, 0xdc, 0xcf, 0xc0,
- 0xbe, 0xb6, 0xf6, 0x35, 0x2d, 0xef, 0x92, 0x9a, 0xf0, 0xb4, 0xbc, 0x4b, 0xec, 0x8f, 0x37, 0xa9,
+ 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xdc, 0x59, 0xcf, 0x6f, 0x13, 0xc7,
+ 0x17, 0xcf, 0x38, 0x06, 0x92, 0x07, 0x5f, 0x7e, 0x4c, 0x12, 0x08, 0x4b, 0x70, 0x82, 0xbf, 0x6a,
+ 0x09, 0x48, 0xec, 0x90, 0x40, 0x29, 0xad, 0x5a, 0x24, 0x12, 0xa9, 0x90, 0xaa, 0xfc, 0xda, 0x14,
+ 0x15, 0x90, 0x5a, 0x77, 0xbd, 0x1e, 0x9c, 0x55, 0xe2, 0xdd, 0xc5, 0xbb, 0x36, 0xa0, 0xd4, 0x55,
+ 0xd5, 0x03, 0x45, 0xea, 0xa5, 0x2a, 0x87, 0x4a, 0xbd, 0x54, 0xea, 0x8d, 0x43, 0x0f, 0xfd, 0x0b,
+ 0x7a, 0xe5, 0x56, 0x24, 0x7a, 0xa8, 0x84, 0x44, 0x2b, 0x82, 0x44, 0xaf, 0xbd, 0xf4, 0x5c, 0xed,
+ 0xfc, 0x58, 0xef, 0xda, 0xbb, 0x1b, 0x3b, 0x8e, 0x25, 0xd4, 0xdb, 0xee, 0xec, 0xbc, 0x37, 0x9f,
+ 0xcf, 0xe7, 0xcd, 0x7b, 0x79, 0xcf, 0x81, 0x49, 0xb3, 0x68, 0x10, 0xc3, 0xae, 0x52, 0x62, 0x2c,
+ 0xe9, 0x96, 0x45, 0x57, 0x48, 0x7d, 0x86, 0xdc, 0xaa, 0xd1, 0xea, 0x5d, 0xd5, 0xa9, 0xda, 0x9e,
+ 0x8d, 0x47, 0xcc, 0xa2, 0xa1, 0xfa, 0x1b, 0x54, 0xb1, 0x41, 0xad, 0xcf, 0x28, 0x21, 0xab, 0x15,
+ 0x93, 0x5a, 0x9e, 0x6f, 0xc4, 0x9f, 0xb8, 0x95, 0x72, 0xd4, 0xb0, 0xdd, 0x8a, 0xed, 0x92, 0xa2,
+ 0xee, 0x52, 0xee, 0x8e, 0xd4, 0x67, 0x8a, 0xd4, 0xd3, 0x67, 0x88, 0xa3, 0x97, 0x4d, 0x4b, 0xf7,
+ 0x4c, 0xdb, 0x12, 0x7b, 0x0f, 0xc5, 0x41, 0x90, 0x87, 0xf1, 0x2d, 0x13, 0x65, 0xdb, 0x2e, 0xaf,
+ 0x50, 0xa2, 0x3b, 0x26, 0xd1, 0x2d, 0xcb, 0xf6, 0x98, 0xbd, 0x2b, 0xbe, 0xee, 0x17, 0x5f, 0xd9,
+ 0x5b, 0xb1, 0x76, 0x93, 0xe8, 0x96, 0x40, 0xaf, 0x8c, 0x96, 0xed, 0xb2, 0xcd, 0x1e, 0x89, 0xff,
+ 0xc4, 0x57, 0xf3, 0x17, 0x60, 0xe4, 0x8a, 0x8f, 0x69, 0x9e, 0x1f, 0xa2, 0xd1, 0x5b, 0x35, 0xea,
+ 0x7a, 0x78, 0x1f, 0x6c, 0x73, 0xec, 0xaa, 0x57, 0x30, 0x4b, 0xe3, 0x68, 0x0a, 0x4d, 0x0f, 0x6b,
+ 0x5b, 0xfd, 0xd7, 0x85, 0x12, 0x3e, 0x08, 0x20, 0xf0, 0xf8, 0xdf, 0x32, 0xec, 0xdb, 0xb0, 0x58,
+ 0x59, 0x28, 0xe5, 0x1f, 0x22, 0x18, 0x8d, 0xfa, 0x73, 0x1d, 0xdb, 0x72, 0x29, 0x3e, 0x05, 0xdb,
+ 0xc4, 0x2e, 0xe6, 0x70, 0xfb, 0xec, 0x84, 0x1a, 0xa3, 0xa6, 0x2a, 0xcd, 0xe4, 0x66, 0x3c, 0x0a,
+ 0x5b, 0x9c, 0xaa, 0x6d, 0xdf, 0x64, 0x47, 0xed, 0xd0, 0xf8, 0x0b, 0x9e, 0x87, 0x1d, 0xec, 0xa1,
+ 0xb0, 0x44, 0xcd, 0xf2, 0x92, 0x37, 0x3e, 0xc8, 0x5c, 0x2a, 0x21, 0x97, 0x3c, 0x02, 0xf5, 0x19,
+ 0xf5, 0x3c, 0xdb, 0x31, 0x97, 0x7d, 0xf4, 0x6c, 0x72, 0x40, 0xdb, 0xce, 0xac, 0xf8, 0x52, 0xfe,
+ 0x93, 0x28, 0x54, 0x57, 0x72, 0x7f, 0x0f, 0xa0, 0x19, 0x18, 0x81, 0xf6, 0x75, 0x95, 0x47, 0x51,
+ 0xf5, 0xa3, 0xa8, 0xf2, 0x4b, 0x21, 0xa2, 0xa8, 0x5e, 0xd6, 0xcb, 0x54, 0xd8, 0x6a, 0x21, 0xcb,
+ 0xfc, 0x33, 0x04, 0x63, 0x2d, 0x07, 0x08, 0x31, 0xe6, 0x60, 0x48, 0xf0, 0x73, 0xc7, 0xd1, 0xd4,
+ 0x20, 0xf3, 0x1f, 0xa7, 0xc6, 0x42, 0x89, 0x5a, 0x9e, 0x79, 0xd3, 0xa4, 0x25, 0xa9, 0x4b, 0x60,
+ 0x87, 0xcf, 0x45, 0x50, 0x66, 0x18, 0xca, 0xc3, 0xeb, 0xa2, 0xe4, 0x00, 0xc2, 0x30, 0xf1, 0x69,
+ 0xd8, 0xda, 0xa5, 0x8a, 0x62, 0x7f, 0xfe, 0x3e, 0x82, 0x1c, 0x27, 0x68, 0x5b, 0x16, 0x35, 0x7c,
+ 0x6f, 0xad, 0x5a, 0xe6, 0x00, 0x8c, 0xe0, 0xa3, 0xb8, 0x4a, 0xa1, 0x95, 0x16, 0xad, 0x33, 0x1b,
+ 0xd6, 0xfa, 0x2f, 0x04, 0x93, 0x89, 0x50, 0xfe, 0x5b, 0xaa, 0x5f, 0x93, 0xa2, 0x73, 0x4c, 0xf3,
+ 0x6c, 0xf7, 0xa2, 0xa7, 0x7b, 0xb4, 0xd7, 0xe4, 0xfd, 0x23, 0x10, 0x31, 0xc6, 0xb5, 0x10, 0x51,
+ 0x87, 0x7d, 0x66, 0xa0, 0x4f, 0x81, 0x43, 0x2d, 0xb8, 0xfe, 0x16, 0x91, 0x29, 0x47, 0xe2, 0x88,
+ 0x84, 0x24, 0x0d, 0xf9, 0x1c, 0x33, 0xe3, 0x96, 0xfb, 0x99, 0xf2, 0x3f, 0x21, 0x38, 0x14, 0x61,
+ 0xe8, 0x73, 0xb2, 0xdc, 0x9a, 0xbb, 0x19, 0xfa, 0xe1, 0xc3, 0xb0, 0xab, 0x4a, 0xeb, 0xa6, 0x6b,
+ 0xda, 0x56, 0xc1, 0xaa, 0x55, 0x8a, 0xb4, 0xca, 0x50, 0x66, 0xb5, 0x9d, 0x72, 0xf9, 0x22, 0x5b,
+ 0x8d, 0x6c, 0x14, 0x74, 0xb2, 0xd1, 0x8d, 0x02, 0xef, 0x53, 0x04, 0xf9, 0x34, 0xbc, 0x22, 0x28,
+ 0xef, 0xc2, 0x2e, 0x43, 0x7e, 0x89, 0x04, 0x63, 0x54, 0xe5, 0x7f, 0x0f, 0x54, 0xf9, 0xf7, 0x40,
+ 0x3d, 0x6b, 0xdd, 0xd5, 0x76, 0x1a, 0x11, 0x37, 0xf8, 0x00, 0x0c, 0x8b, 0x40, 0x06, 0xac, 0x86,
+ 0xf8, 0xc2, 0x42, 0xa9, 0x19, 0x8d, 0xc1, 0xb4, 0x68, 0x64, 0x37, 0x12, 0x8d, 0x2a, 0x4c, 0x30,
+ 0x72, 0x97, 0x75, 0x63, 0x99, 0x7a, 0xf3, 0x76, 0xa5, 0x62, 0x7a, 0x15, 0x6a, 0x79, 0xbd, 0xc6,
+ 0x41, 0x81, 0x21, 0xd7, 0x77, 0x61, 0x19, 0x54, 0x04, 0x20, 0x78, 0xcf, 0x7f, 0x8f, 0xe0, 0x60,
+ 0xc2, 0xa1, 0x42, 0x4c, 0x56, 0xb2, 0xe4, 0x2a, 0x3b, 0x78, 0x87, 0x16, 0x5a, 0xe9, 0xe7, 0xf5,
+ 0xfc, 0x21, 0x09, 0x9c, 0xdb, 0xab, 0x24, 0xd1, 0x3a, 0x3b, 0xb8, 0xe1, 0x3a, 0xfb, 0x52, 0x96,
+ 0xfc, 0x18, 0x84, 0x41, 0x99, 0xdd, 0xde, 0x54, 0x4b, 0x56, 0xda, 0xa9, 0xd8, 0x4a, 0xcb, 0x9d,
+ 0xf0, 0xbb, 0x1c, 0x36, 0x7a, 0x15, 0xca, 0xac, 0x0d, 0xfb, 0x43, 0x44, 0x35, 0x6a, 0x50, 0xd3,
+ 0xe9, 0xeb, 0xcd, 0x7c, 0x80, 0x40, 0x89, 0x3b, 0x51, 0xc8, 0xaa, 0xc0, 0x50, 0xd5, 0x5f, 0xaa,
+ 0x53, 0xee, 0x77, 0x48, 0x0b, 0xde, 0xfb, 0x99, 0xa3, 0xb7, 0x45, 0xc1, 0xe4, 0xa0, 0xce, 0x1a,
+ 0xcb, 0x96, 0x7d, 0x7b, 0x85, 0x96, 0xca, 0xb4, 0xdf, 0x89, 0xfa, 0x50, 0x96, 0xbe, 0x84, 0x93,
+ 0x85, 0x2c, 0xd3, 0xb0, 0x4b, 0x8f, 0x7e, 0x12, 0x29, 0xdb, 0xba, 0xdc, 0xcf, 0xbc, 0x7d, 0x91,
+ 0x8a, 0xf5, 0x55, 0x49, 0x5e, 0x7c, 0x06, 0x0e, 0x38, 0x0c, 0x60, 0xa1, 0x99, 0x6b, 0x05, 0x29,
+ 0xb8, 0x3b, 0x9e, 0x9d, 0x1a, 0x9c, 0xce, 0x6a, 0xfb, 0x9d, 0x96, 0xcc, 0x5e, 0x94, 0x1b, 0xf2,
+ 0xff, 0x20, 0xf8, 0x7f, 0x2a, 0x4d, 0x11, 0x93, 0x0f, 0x60, 0x77, 0x8b, 0xf8, 0x9d, 0x97, 0x81,
+ 0x36, 0xcb, 0x57, 0xa1, 0x16, 0x7c, 0x27, 0xeb, 0xf2, 0x55, 0x4b, 0xe6, 0x1c, 0xc7, 0xdc, 0x73,
+ 0x68, 0xd7, 0x09, 0xc9, 0xe0, 0x7a, 0x21, 0xb9, 0x23, 0xca, 0x71, 0x0c, 0x30, 0x11, 0x8c, 0x09,
+ 0x18, 0x6e, 0xfa, 0x43, 0xcc, 0x5f, 0x73, 0x21, 0xa4, 0x49, 0xa6, 0x4b, 0x4d, 0xee, 0xc9, 0x72,
+ 0xd5, 0x3c, 0xfa, 0xac, 0xb1, 0xdc, 0xb3, 0x20, 0xc7, 0x61, 0x54, 0x08, 0xa2, 0x1b, 0xcb, 0x6d,
+ 0x4a, 0x60, 0x47, 0xde, 0xbc, 0xa6, 0x04, 0x35, 0x38, 0x10, 0x8b, 0xa3, 0xcf, 0xfc, 0xaf, 0x8b,
+ 0x5e, 0xf9, 0x22, 0xbd, 0x13, 0xc4, 0x43, 0xe3, 0x00, 0x7a, 0xed, 0xc3, 0x7f, 0x46, 0x30, 0x95,
+ 0xec, 0x5b, 0xf0, 0x9a, 0x85, 0x31, 0x8b, 0xde, 0x69, 0x5e, 0x96, 0x82, 0x60, 0xcf, 0x8e, 0xca,
+ 0x6a, 0x23, 0x56, 0xbb, 0x6d, 0x1f, 0x4b, 0xe0, 0xec, 0xd7, 0x7b, 0x61, 0x0b, 0xc3, 0x8c, 0x7f,
+ 0x44, 0xb0, 0x4d, 0xb4, 0xab, 0x78, 0x3a, 0x36, 0xdf, 0x63, 0x7e, 0x70, 0x50, 0x8e, 0x74, 0xb0,
+ 0x93, 0x33, 0xcf, 0xcf, 0x7d, 0xf9, 0xe4, 0xc5, 0x83, 0xcc, 0x3b, 0xf8, 0x6d, 0x92, 0xf2, 0x6b,
+ 0x89, 0x4b, 0x56, 0x9b, 0x12, 0x37, 0x88, 0x2f, 0xbc, 0x4b, 0x56, 0x45, 0x38, 0x1a, 0xf8, 0x3e,
+ 0x82, 0x21, 0x39, 0x20, 0xe2, 0xf5, 0xcf, 0x96, 0xd7, 0x5a, 0x39, 0xda, 0xc9, 0x56, 0x81, 0xf3,
+ 0x35, 0x86, 0x73, 0x12, 0x1f, 0x4c, 0xc5, 0x89, 0x7f, 0x41, 0x80, 0xdb, 0xa7, 0x56, 0x7c, 0x22,
+ 0xe5, 0xa4, 0xa4, 0x71, 0x5b, 0x39, 0xd9, 0x9d, 0x91, 0x00, 0x7a, 0x86, 0x01, 0x3d, 0x8d, 0x4f,
+ 0xc5, 0x03, 0x0d, 0x0c, 0x7d, 0x4d, 0x83, 0x97, 0x46, 0x93, 0xc1, 0x63, 0x9f, 0x41, 0xdb, 0xc8,
+ 0x98, 0xca, 0x20, 0x69, 0x76, 0x4d, 0x65, 0x90, 0x38, 0x95, 0xe6, 0x2f, 0x31, 0x06, 0x0b, 0xf8,
+ 0xdc, 0xc6, 0xaf, 0x04, 0x09, 0xcf, 0xb2, 0xf8, 0xdb, 0x0c, 0x8c, 0xc5, 0xce, 0x5c, 0xf8, 0xd4,
+ 0xfa, 0x00, 0xe3, 0x86, 0x4a, 0xe5, 0xcd, 0xae, 0xed, 0x04, 0xb7, 0xaf, 0x10, 0x23, 0xf7, 0x05,
+ 0xc2, 0x9f, 0xf7, 0xc2, 0x2e, 0x3a, 0x1f, 0x12, 0x39, 0x68, 0x92, 0xd5, 0x96, 0x91, 0xb5, 0x41,
+ 0x78, 0x19, 0x08, 0x7d, 0xe0, 0x0b, 0x0d, 0xfc, 0x14, 0xc1, 0xee, 0xd6, 0xbe, 0x1f, 0xcf, 0x24,
+ 0xf3, 0x4a, 0x98, 0xeb, 0x94, 0xd9, 0x6e, 0x4c, 0x84, 0x0a, 0x9f, 0x32, 0x11, 0x6e, 0xe0, 0x6b,
+ 0x3d, 0x68, 0xd0, 0xf6, 0x97, 0xd6, 0x25, 0xab, 0xb2, 0x7c, 0x36, 0xf0, 0x13, 0x04, 0x7b, 0xda,
+ 0xa6, 0x1a, 0xdc, 0x05, 0xd6, 0x20, 0x0b, 0x4f, 0x74, 0x65, 0x23, 0x08, 0x5e, 0x65, 0x04, 0x2f,
+ 0xe1, 0x0b, 0x9b, 0x4a, 0x10, 0xff, 0x8a, 0xe0, 0x7f, 0x91, 0x81, 0x02, 0xab, 0xeb, 0xa1, 0x8b,
+ 0xce, 0x3a, 0x0a, 0xe9, 0x78, 0xbf, 0x60, 0xf2, 0x31, 0x63, 0xf2, 0x11, 0xbe, 0xda, 0x3b, 0x93,
+ 0x2a, 0x77, 0x1d, 0x89, 0xd3, 0x1a, 0x82, 0xb1, 0xd8, 0x06, 0x34, 0x2d, 0x35, 0xd3, 0xc6, 0x97,
+ 0xb4, 0xd4, 0x4c, 0x1d, 0x3e, 0xf2, 0xd7, 0x19, 0xd3, 0x45, 0x7c, 0xa5, 0x77, 0xa6, 0xba, 0xb1,
+ 0x1c, 0x61, 0xf9, 0x12, 0xc1, 0xde, 0xf8, 0x36, 0x1b, 0x77, 0x0b, 0x37, 0xb8, 0x97, 0xa7, 0xbb,
+ 0x37, 0x14, 0x44, 0x6f, 0x30, 0xa2, 0x1f, 0x62, 0x6d, 0x53, 0x88, 0x46, 0xe9, 0xdc, 0xcb, 0xc0,
+ 0x9e, 0xb6, 0xf6, 0x35, 0x2d, 0xef, 0x92, 0x9a, 0xf0, 0xb4, 0xbc, 0x4b, 0xec, 0x8f, 0x37, 0xa9,
0xbc, 0xc6, 0x95, 0x96, 0x94, 0xc6, 0xbe, 0x41, 0x6a, 0x01, 0xa0, 0x82, 0x23, 0x28, 0xff, 0x8d,
- 0x60, 0x77, 0xb4, 0x89, 0xc5, 0x64, 0x3d, 0x8c, 0x42, 0x6d, 0xb7, 0x72, 0x72, 0xfd, 0x06, 0x82,
- 0xff, 0x67, 0x8c, 0x7e, 0x1d, 0x7b, 0xbd, 0x61, 0x1f, 0xe9, 0xe2, 0x23, 0xb4, 0xfd, 0x1b, 0x8f,
- 0x7f, 0x43, 0x30, 0x14, 0xd3, 0xe5, 0xe2, 0x94, 0x36, 0x20, 0xb9, 0xe1, 0x56, 0xde, 0xe8, 0xd0,
- 0x4a, 0x48, 0x70, 0x85, 0x49, 0xf0, 0x3e, 0xbe, 0xd0, 0x85, 0x04, 0x91, 0x5e, 0x7c, 0x76, 0xe1,
- 0xf1, 0x8b, 0x1c, 0x7a, 0xf2, 0x22, 0x87, 0xfe, 0x7c, 0x91, 0x43, 0xdf, 0xac, 0xe6, 0xfa, 0x9e,
- 0xac, 0xe6, 0xfa, 0x7e, 0x5f, 0xcd, 0xf5, 0xdd, 0x7c, 0xab, 0x6c, 0x7a, 0x8b, 0xb5, 0xa2, 0x6a,
- 0xd8, 0x15, 0x22, 0xfe, 0x31, 0x68, 0x16, 0x8d, 0x13, 0x65, 0x9b, 0xd4, 0x67, 0x48, 0xc5, 0x2e,
- 0xd5, 0x96, 0xa9, 0xcb, 0x21, 0x9c, 0x3c, 0x75, 0x42, 0xa2, 0xf0, 0xee, 0x39, 0xd4, 0x2d, 0x6e,
- 0x67, 0x3f, 0xe2, 0xce, 0xfc, 0x1b, 0x00, 0x00, 0xff, 0xff, 0x82, 0x70, 0x0e, 0x40, 0xa8, 0x1c,
+ 0x60, 0x67, 0xb4, 0x89, 0xc5, 0xa4, 0x13, 0x46, 0xa1, 0xb6, 0x5b, 0x39, 0xde, 0xb9, 0x81, 0xe0,
+ 0xff, 0x19, 0xa3, 0x5f, 0xc7, 0x5e, 0x7f, 0xd8, 0x47, 0xba, 0xf8, 0x08, 0x6d, 0xff, 0xc6, 0xe3,
+ 0xdf, 0x10, 0x8c, 0xc4, 0x74, 0xb9, 0x38, 0xa5, 0x0d, 0x48, 0x6e, 0xb8, 0x95, 0x37, 0xba, 0xb4,
+ 0x12, 0x12, 0x5c, 0x66, 0x12, 0xbc, 0x8f, 0xcf, 0xf7, 0x20, 0x41, 0xa4, 0x17, 0x9f, 0x5b, 0x7c,
+ 0xf4, 0x3c, 0x87, 0x1e, 0x3f, 0xcf, 0xa1, 0x3f, 0x9f, 0xe7, 0xd0, 0x37, 0x6b, 0xb9, 0x81, 0xc7,
+ 0x6b, 0xb9, 0x81, 0xdf, 0xd7, 0x72, 0x03, 0x37, 0xde, 0x2a, 0x9b, 0xde, 0x52, 0xad, 0xa8, 0x1a,
+ 0x76, 0x85, 0x88, 0x7f, 0x0c, 0x9a, 0x45, 0xe3, 0x58, 0xd9, 0x26, 0xf5, 0x93, 0xa4, 0x62, 0x97,
+ 0x6a, 0x2b, 0xd4, 0xe5, 0x10, 0x8e, 0x9f, 0x3c, 0x26, 0x51, 0x78, 0x77, 0x1d, 0xea, 0x16, 0xb7,
+ 0xb2, 0x1f, 0x71, 0x4f, 0xfc, 0x1b, 0x00, 0x00, 0xff, 0xff, 0x9c, 0x44, 0xc0, 0x72, 0xa8, 0x1c,
0x00, 0x00,
}
diff --git a/modules/core/04-channel/types/tx.pb.go b/modules/core/04-channel/types/tx.pb.go
index eafaf199945..0f065d903f1 100644
--- a/modules/core/04-channel/types/tx.pb.go
+++ b/modules/core/04-channel/types/tx.pb.go
@@ -6,7 +6,7 @@ package types
import (
context "context"
fmt "fmt"
- types "github.com/cosmos/ibc-go/v3/modules/core/02-client/types"
+ types "github.com/cosmos/ibc-go/v4/modules/core/02-client/types"
_ "github.com/gogo/protobuf/gogoproto"
grpc1 "github.com/gogo/protobuf/grpc"
proto "github.com/gogo/protobuf/proto"
@@ -160,9 +160,8 @@ func (m *MsgChannelOpenInitResponse) GetVersion() string {
// value will be ignored by core IBC.
type MsgChannelOpenTry struct {
PortId string `protobuf:"bytes,1,opt,name=port_id,json=portId,proto3" json:"port_id,omitempty" yaml:"port_id"`
- // in the case of crossing hello's, when both chains call OpenInit, we need
- // the channel identifier of the previous channel in state INIT
- PreviousChannelId string `protobuf:"bytes,2,opt,name=previous_channel_id,json=previousChannelId,proto3" json:"previous_channel_id,omitempty" yaml:"previous_channel_id"`
+ // Deprecated: this field is unused. Crossing hello's are no longer supported in core IBC.
+ PreviousChannelId string `protobuf:"bytes,2,opt,name=previous_channel_id,json=previousChannelId,proto3" json:"previous_channel_id,omitempty" yaml:"previous_channel_id"` // Deprecated: Do not use.
// NOTE: the version field within the channel has been deprecated. Its value will be ignored by core IBC.
Channel Channel `protobuf:"bytes,3,opt,name=channel,proto3" json:"channel"`
CounterpartyVersion string `protobuf:"bytes,4,opt,name=counterparty_version,json=counterpartyVersion,proto3" json:"counterparty_version,omitempty" yaml:"counterparty_version"`
@@ -1375,98 +1374,98 @@ func init() { proto.RegisterFile("ibc/core/channel/v1/tx.proto", fileDescriptor_
var fileDescriptor_bc4637e0ac3fc7b7 = []byte{
// 1475 bytes of a gzipped FileDescriptorProto
- 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x59, 0x5f, 0x6f, 0xd3, 0xd6,
- 0x1b, 0x4e, 0xd2, 0x90, 0xd2, 0xb7, 0xfc, 0xda, 0xd4, 0x6d, 0x21, 0xb8, 0x25, 0x0e, 0xfe, 0x4d,
- 0xd0, 0xb1, 0x35, 0xa1, 0x85, 0x6a, 0x02, 0x4d, 0x9a, 0x9a, 0x2c, 0x68, 0xd5, 0xd6, 0x3f, 0x72,
- 0xd2, 0x49, 0x63, 0xd3, 0xa2, 0xc4, 0x39, 0xb8, 0x56, 0x12, 0x3b, 0xd8, 0x4e, 0x20, 0x93, 0x76,
- 0x39, 0x09, 0x71, 0xc5, 0x35, 0x12, 0x12, 0xd3, 0xae, 0xa6, 0x5d, 0x6c, 0x1f, 0x83, 0x4b, 0xae,
- 0xb6, 0x69, 0x17, 0xd1, 0x04, 0x37, 0xbb, 0xce, 0x27, 0x98, 0x7c, 0x7c, 0x6c, 0x9f, 0xc4, 0x36,
- 0x71, 0xa0, 0x85, 0xdd, 0xd9, 0xe7, 0x3c, 0xe7, 0x79, 0xcf, 0x79, 0xde, 0xe7, 0x9c, 0xf7, 0x38,
- 0x81, 0x55, 0xb9, 0x26, 0xe6, 0x44, 0x55, 0x43, 0x39, 0xf1, 0xa8, 0xaa, 0x28, 0xa8, 0x99, 0xeb,
- 0x6e, 0xe4, 0x8c, 0xfb, 0xd9, 0xb6, 0xa6, 0x1a, 0x2a, 0xb3, 0x28, 0xd7, 0xc4, 0xac, 0xd9, 0x9b,
- 0x25, 0xbd, 0xd9, 0xee, 0x06, 0xbb, 0x24, 0xa9, 0x92, 0x8a, 0xfb, 0x73, 0xe6, 0x93, 0x05, 0x65,
- 0x39, 0x97, 0xa8, 0x29, 0x23, 0xc5, 0x30, 0x79, 0xac, 0x27, 0x02, 0xb8, 0xe8, 0x17, 0xc9, 0xa6,
- 0xc5, 0x10, 0xfe, 0xc7, 0x28, 0x30, 0xbb, 0xba, 0x54, 0xb0, 0x1a, 0xf7, 0xdb, 0x48, 0xd9, 0x51,
- 0x64, 0x83, 0xf9, 0x00, 0xa6, 0xdb, 0xaa, 0x66, 0x54, 0xe4, 0x7a, 0x2a, 0x9a, 0x89, 0xae, 0xcd,
- 0xe4, 0x99, 0x41, 0x9f, 0x9b, 0xeb, 0x55, 0x5b, 0xcd, 0x9b, 0x3c, 0xe9, 0xe0, 0x85, 0x84, 0xf9,
- 0xb4, 0x53, 0x67, 0x3e, 0x86, 0x69, 0x42, 0x9a, 0x8a, 0x65, 0xa2, 0x6b, 0xb3, 0x9b, 0xab, 0x59,
- 0x9f, 0x45, 0x64, 0x49, 0x8c, 0x7c, 0xfc, 0x59, 0x9f, 0x8b, 0x08, 0xf6, 0x10, 0xe6, 0x2c, 0x24,
- 0x74, 0x59, 0x52, 0x90, 0x96, 0x9a, 0x32, 0x23, 0x09, 0xe4, 0xed, 0xe6, 0xe9, 0x07, 0x4f, 0xb9,
- 0xc8, 0x3f, 0x4f, 0xb9, 0x08, 0xdf, 0x04, 0xd6, 0x3b, 0x45, 0x01, 0xe9, 0x6d, 0x55, 0xd1, 0x11,
- 0x73, 0x1d, 0x80, 0x50, 0xb9, 0xb3, 0x5d, 0x1e, 0xf4, 0xb9, 0x05, 0x6b, 0xb6, 0x6e, 0x1f, 0x2f,
- 0xcc, 0x90, 0x97, 0x9d, 0x3a, 0x93, 0x82, 0xe9, 0x2e, 0xd2, 0x74, 0x59, 0x55, 0xf0, 0x9c, 0x67,
- 0x04, 0xfb, 0x95, 0xff, 0x7d, 0x0a, 0x16, 0x86, 0xc3, 0x95, 0xb5, 0xde, 0x64, 0x82, 0xec, 0xc1,
- 0x62, 0x5b, 0x43, 0x5d, 0x59, 0xed, 0xe8, 0x15, 0x6a, 0x6e, 0x38, 0x50, 0x3e, 0x3d, 0xe8, 0x73,
- 0x2c, 0x19, 0xe8, 0x05, 0xf1, 0xc2, 0x82, 0xdd, 0x5a, 0x70, 0x26, 0x4b, 0x09, 0x3c, 0x35, 0xb9,
- 0xc0, 0x02, 0x2c, 0x89, 0x6a, 0x47, 0x31, 0x90, 0xd6, 0xae, 0x6a, 0x46, 0xaf, 0x62, 0xaf, 0x3b,
- 0x8e, 0xa7, 0xc3, 0x0d, 0xfa, 0xdc, 0x0a, 0x91, 0xca, 0x07, 0xc5, 0x0b, 0x8b, 0x74, 0xf3, 0x97,
- 0x56, 0xab, 0x29, 0x7a, 0x5b, 0x53, 0xd5, 0x3b, 0x15, 0x59, 0x91, 0x8d, 0xd4, 0xa9, 0x4c, 0x74,
- 0xed, 0x0c, 0x2d, 0xba, 0xdb, 0xc7, 0x0b, 0x33, 0xf8, 0x05, 0xbb, 0xea, 0x36, 0x9c, 0xb1, 0x7a,
- 0x8e, 0x90, 0x2c, 0x1d, 0x19, 0xa9, 0x04, 0x5e, 0x0c, 0x4b, 0x2d, 0xc6, 0x72, 0x6f, 0x77, 0x23,
- 0xfb, 0x19, 0x46, 0xe4, 0x57, 0xcc, 0xa5, 0x0c, 0xfa, 0xdc, 0x22, 0xcd, 0x6b, 0x8d, 0xe6, 0x85,
- 0x59, 0xfc, 0x6a, 0x21, 0x29, 0x1b, 0x4d, 0x07, 0xd8, 0x68, 0x0b, 0xce, 0x7b, 0xf2, 0xea, 0xb8,
- 0x88, 0xf2, 0x43, 0x74, 0xd8, 0x0f, 0x7f, 0x78, 0xfc, 0xb0, 0x2d, 0x36, 0x26, 0xf3, 0xc3, 0xb0,
- 0x45, 0x63, 0x21, 0x2d, 0x7a, 0x1b, 0xce, 0x0d, 0x65, 0x84, 0xa2, 0xc0, 0x3b, 0x25, 0xcf, 0x0f,
- 0xfa, 0x5c, 0xda, 0x27, 0x75, 0x34, 0xdf, 0x32, 0xdd, 0xe3, 0x3a, 0xea, 0x24, 0x3c, 0xb1, 0x01,
- 0x56, 0xaa, 0x2b, 0x86, 0xd6, 0x23, 0x96, 0x58, 0x1a, 0xf4, 0xb9, 0x24, 0x9d, 0x3a, 0x43, 0xeb,
- 0xf1, 0xc2, 0x69, 0xfc, 0x6c, 0xee, 0xaa, 0x77, 0x6b, 0x88, 0x95, 0x51, 0x43, 0x6c, 0x8b, 0x0d,
- 0xdb, 0x10, 0xfc, 0x2f, 0x31, 0x58, 0x1e, 0xee, 0x2d, 0xa8, 0xca, 0x1d, 0x59, 0x6b, 0xbd, 0x8d,
- 0xd4, 0x3b, 0x52, 0x56, 0xc5, 0x06, 0x4e, 0xb6, 0x8f, 0x94, 0x55, 0xb1, 0x61, 0x4b, 0x69, 0x1a,
- 0x72, 0x54, 0xca, 0xf8, 0x89, 0x48, 0x79, 0x2a, 0x40, 0x4a, 0x0e, 0x2e, 0xf8, 0x8a, 0xe5, 0xc8,
- 0xf9, 0x38, 0x0a, 0x8b, 0x2e, 0xa2, 0xd0, 0x54, 0x75, 0x34, 0x79, 0xa1, 0x79, 0x3d, 0x31, 0xc7,
- 0x17, 0x98, 0x0b, 0xb0, 0xe2, 0x33, 0x37, 0x67, 0xee, 0xbf, 0xc6, 0xe0, 0xec, 0x48, 0xff, 0x5b,
- 0xf4, 0xc2, 0xf0, 0x51, 0x3b, 0xf5, 0x9a, 0x47, 0xed, 0xdb, 0xb5, 0x43, 0x06, 0xd2, 0xfe, 0x82,
- 0x39, 0x9a, 0x3e, 0x8a, 0xc1, 0xff, 0x76, 0x75, 0x49, 0x40, 0x62, 0xf7, 0xa0, 0x2a, 0x36, 0x90,
- 0xc1, 0xdc, 0x80, 0x44, 0x1b, 0x3f, 0x61, 0x25, 0x67, 0x37, 0x57, 0x7c, 0x6b, 0x9c, 0x05, 0x26,
- 0x25, 0x8e, 0x0c, 0x60, 0x6e, 0x41, 0xd2, 0x9a, 0xae, 0xa8, 0xb6, 0x5a, 0xb2, 0xd1, 0x42, 0x8a,
- 0x81, 0xe5, 0x3d, 0x93, 0x5f, 0x19, 0xf4, 0xb9, 0x73, 0xf4, 0x82, 0x5c, 0x04, 0x2f, 0xcc, 0xe3,
- 0xa6, 0x82, 0xd3, 0xe2, 0x11, 0x6d, 0xea, 0x44, 0x44, 0x8b, 0x07, 0x88, 0xf6, 0x2d, 0x3e, 0x70,
- 0x5c, 0x45, 0x9c, 0xda, 0xf4, 0x09, 0x24, 0x34, 0xa4, 0x77, 0x9a, 0x96, 0x32, 0x73, 0x9b, 0x97,
- 0x7d, 0x95, 0xb1, 0xe1, 0x02, 0x86, 0x96, 0x7b, 0x6d, 0x24, 0x90, 0x61, 0x37, 0xe3, 0x66, 0x0c,
- 0xfe, 0xaf, 0x18, 0xc0, 0xae, 0x2e, 0x95, 0xe5, 0x16, 0x52, 0x3b, 0xc7, 0xa3, 0x77, 0x47, 0xd1,
- 0x90, 0x88, 0xe4, 0x2e, 0xaa, 0x07, 0xe9, 0xed, 0x22, 0x6c, 0xbd, 0x0f, 0x9d, 0x96, 0x13, 0xd5,
- 0xfb, 0x73, 0x60, 0x14, 0x74, 0xdf, 0xa8, 0xe8, 0xe8, 0x6e, 0x07, 0x29, 0x22, 0xaa, 0x68, 0x48,
- 0xec, 0x62, 0xed, 0xe3, 0xf9, 0x0b, 0x83, 0x3e, 0x77, 0xde, 0x62, 0xf0, 0x62, 0x78, 0x21, 0x69,
- 0x36, 0x96, 0x48, 0x9b, 0x99, 0x8f, 0x10, 0x8e, 0xff, 0x1a, 0x5f, 0xa3, 0x89, 0xb6, 0xc7, 0x9d,
- 0xb9, 0xc7, 0xd6, 0x15, 0x84, 0xb0, 0xef, 0x2b, 0x78, 0x47, 0xfd, 0x17, 0x12, 0xf8, 0x11, 0xcc,
- 0x92, 0x6d, 0x65, 0xce, 0x88, 0x1c, 0x4e, 0x67, 0x07, 0x7d, 0x8e, 0x19, 0xda, 0x73, 0x66, 0x27,
- 0x2f, 0x58, 0xc7, 0x98, 0x35, 0xf7, 0x93, 0x3c, 0x9e, 0xfc, 0x33, 0x7f, 0xea, 0x4d, 0x33, 0x9f,
- 0x08, 0xc8, 0x7c, 0x0d, 0xdf, 0x22, 0x86, 0x73, 0x73, 0xdc, 0x06, 0xf8, 0x2d, 0x86, 0xed, 0xb5,
- 0x2d, 0x36, 0x14, 0xf5, 0x5e, 0x13, 0xd5, 0x25, 0x84, 0xcf, 0xab, 0x37, 0x70, 0xc0, 0x1a, 0xcc,
- 0x57, 0x87, 0xd9, 0x2c, 0x03, 0x08, 0xa3, 0xcd, 0x6e, 0x8e, 0xcd, 0x81, 0xf5, 0xa0, 0x1c, 0xe3,
- 0x4e, 0x3b, 0xc7, 0xdb, 0xe6, 0xcb, 0x3b, 0x2e, 0x41, 0x22, 0xfe, 0x68, 0x1c, 0x51, 0xec, 0xb8,
- 0xf3, 0x72, 0x91, 0xbe, 0x23, 0x1e, 0xb6, 0x25, 0xad, 0x5a, 0xc7, 0x57, 0x87, 0xa0, 0x9b, 0x11,
- 0x05, 0x71, 0x2a, 0x61, 0x06, 0x96, 0x3c, 0x80, 0xb2, 0xd6, 0xa3, 0x28, 0xd2, 0xb0, 0xea, 0x87,
- 0x78, 0x25, 0xc3, 0xb6, 0xd8, 0x18, 0xc3, 0x40, 0x5f, 0x76, 0xdf, 0x83, 0x94, 0xa7, 0x9f, 0x54,
- 0x6c, 0x8a, 0x85, 0x87, 0x4c, 0x10, 0xea, 0x95, 0x4c, 0x64, 0x6f, 0x8c, 0x61, 0x1a, 0x39, 0x3b,
- 0xf9, 0xff, 0xc3, 0x39, 0x6f, 0xb4, 0xaa, 0x22, 0xa2, 0x26, 0x45, 0x74, 0x11, 0xb8, 0x00, 0x90,
- 0xcd, 0x73, 0xe5, 0xe7, 0x28, 0x30, 0xde, 0x44, 0x32, 0x5b, 0x90, 0x11, 0x8a, 0xa5, 0x83, 0xfd,
- 0xbd, 0x52, 0xb1, 0x22, 0x14, 0x4b, 0x87, 0x5f, 0x94, 0x2b, 0xe5, 0xaf, 0x0e, 0x8a, 0x95, 0xc3,
- 0xbd, 0xd2, 0x41, 0xb1, 0xb0, 0x73, 0x6b, 0xa7, 0xf8, 0x69, 0x32, 0xc2, 0xce, 0x3f, 0x7c, 0x92,
- 0x99, 0xa5, 0x9a, 0x98, 0xcb, 0x70, 0xde, 0x77, 0xd8, 0xde, 0xfe, 0xfe, 0x41, 0x32, 0xca, 0x9e,
- 0x7e, 0xf8, 0x24, 0x13, 0x37, 0x9f, 0x99, 0x75, 0x58, 0xf5, 0x05, 0x96, 0x0e, 0x0b, 0x85, 0x62,
- 0xa9, 0x94, 0x8c, 0xb1, 0xb3, 0x0f, 0x9f, 0x64, 0xa6, 0xc9, 0x2b, 0x1b, 0x7f, 0xf0, 0x53, 0x3a,
- 0xb2, 0xf9, 0xc3, 0x1c, 0x4c, 0xed, 0xea, 0x12, 0xd3, 0x80, 0xf9, 0xd1, 0x5f, 0x64, 0xfc, 0x1d,
- 0xea, 0xfd, 0x5d, 0x84, 0xcd, 0x85, 0x04, 0x3a, 0x7b, 0xe1, 0x08, 0xe6, 0x46, 0x7e, 0xec, 0xb8,
- 0x14, 0x82, 0xa2, 0xac, 0xf5, 0xd8, 0x6c, 0x38, 0x5c, 0x40, 0x24, 0xf3, 0xab, 0x25, 0x4c, 0xa4,
- 0x6d, 0xb1, 0x11, 0x2a, 0x12, 0x65, 0x68, 0xc6, 0x00, 0xc6, 0xe7, 0xcb, 0xed, 0x4a, 0x08, 0x16,
- 0x82, 0x65, 0x37, 0xc3, 0x63, 0x9d, 0xa8, 0x0a, 0x24, 0x3d, 0x1f, 0x38, 0x6b, 0x63, 0x78, 0x1c,
- 0x24, 0x7b, 0x35, 0x2c, 0xd2, 0x89, 0x77, 0x0f, 0x16, 0x7d, 0x3f, 0x4a, 0xc2, 0x10, 0xd9, 0xeb,
- 0xbc, 0x36, 0x01, 0xd8, 0x09, 0xfc, 0x0d, 0x00, 0x75, 0x73, 0xe7, 0x83, 0x28, 0x5c, 0x0c, 0x7b,
- 0x65, 0x3c, 0xc6, 0x61, 0x2f, 0xc1, 0xb4, 0x7d, 0x49, 0xe5, 0x82, 0x86, 0x11, 0x00, 0x7b, 0x79,
- 0x0c, 0x80, 0xf6, 0xde, 0xc8, 0xfd, 0xe9, 0xd2, 0x98, 0xa1, 0x04, 0x17, 0xec, 0xbd, 0x80, 0x9a,
- 0xdf, 0x80, 0xf9, 0xd1, 0x42, 0x1d, 0x38, 0xcb, 0x11, 0x60, 0xf0, 0xe6, 0x0d, 0x2a, 0x64, 0xae,
- 0xd1, 0xa9, 0xda, 0x32, 0xd6, 0xe8, 0x14, 0x76, 0xac, 0xd1, 0x7d, 0x6a, 0x16, 0x73, 0x17, 0x16,
- 0x3c, 0xe5, 0x88, 0x79, 0x3f, 0x1c, 0x91, 0x79, 0x70, 0x6c, 0x84, 0x86, 0x06, 0x87, 0x34, 0x8f,
- 0x8f, 0x90, 0x21, 0xcd, 0x13, 0x64, 0x23, 0x34, 0xd4, 0x09, 0xf9, 0x3d, 0x2c, 0xfb, 0x16, 0x3b,
- 0x66, 0x3d, 0x1c, 0x97, 0xbd, 0xc5, 0xb6, 0x26, 0x82, 0x07, 0x87, 0xb7, 0x37, 0x45, 0xc8, 0xf0,
- 0xf6, 0x16, 0xd9, 0x9a, 0x08, 0xee, 0x84, 0xff, 0x0e, 0x96, 0xfc, 0xea, 0x2a, 0xf3, 0x61, 0xc8,
- 0xd5, 0x60, 0x34, 0x7b, 0x7d, 0x12, 0xb4, 0x1d, 0x3b, 0x5f, 0x7a, 0xf6, 0x22, 0x1d, 0x7d, 0xfe,
- 0x22, 0x1d, 0xfd, 0xfb, 0x45, 0x3a, 0xfa, 0xe8, 0x65, 0x3a, 0xf2, 0xfc, 0x65, 0x3a, 0xf2, 0xe7,
- 0xcb, 0x74, 0xe4, 0xf6, 0x0d, 0x49, 0x36, 0x8e, 0x3a, 0xb5, 0xac, 0xa8, 0xb6, 0x72, 0xa2, 0xaa,
- 0xb7, 0x54, 0x3d, 0x27, 0xd7, 0xc4, 0x75, 0x49, 0xcd, 0x75, 0xaf, 0xe5, 0x5a, 0x6a, 0xbd, 0xd3,
- 0x44, 0xba, 0xf5, 0x97, 0xc7, 0xd5, 0xeb, 0xeb, 0xf6, 0xbf, 0x1e, 0x46, 0xaf, 0x8d, 0xf4, 0x5a,
- 0x02, 0xff, 0xe3, 0x71, 0xed, 0xdf, 0x00, 0x00, 0x00, 0xff, 0xff, 0x6f, 0xbd, 0x8c, 0x84, 0x80,
+ 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x59, 0xd1, 0x6f, 0xd3, 0xc6,
+ 0x1f, 0x8f, 0xd3, 0x90, 0xd2, 0x6f, 0xf9, 0xb5, 0xa9, 0xdb, 0x42, 0x70, 0x4b, 0x1c, 0xfc, 0x9b,
+ 0xa0, 0x63, 0x6b, 0x42, 0x4b, 0xab, 0x09, 0x34, 0x69, 0x6a, 0xb2, 0xa0, 0x55, 0x5b, 0x69, 0xe5,
+ 0xa4, 0x93, 0xc6, 0xa6, 0x45, 0x89, 0x73, 0xa4, 0x56, 0x12, 0x3b, 0xd8, 0x4e, 0x20, 0x93, 0xf6,
+ 0x38, 0x09, 0xf1, 0xc4, 0x33, 0x12, 0x12, 0xd3, 0x9e, 0xa6, 0x3d, 0x6c, 0x7f, 0x06, 0x8f, 0xbc,
+ 0x0d, 0xed, 0x21, 0x9a, 0xe0, 0x65, 0xcf, 0xf9, 0x0b, 0x26, 0x9f, 0xcf, 0xf6, 0x25, 0xb6, 0x89,
+ 0x03, 0x2d, 0xec, 0xcd, 0xbe, 0xfb, 0xdc, 0xe7, 0x7b, 0xf7, 0xf9, 0x7e, 0xee, 0xbe, 0xe7, 0x04,
+ 0x56, 0xe5, 0xaa, 0x94, 0x95, 0x54, 0x0d, 0x65, 0xa5, 0xa3, 0x8a, 0xa2, 0xa0, 0x66, 0xb6, 0xbb,
+ 0x91, 0x35, 0xee, 0x67, 0xda, 0x9a, 0x6a, 0xa8, 0xec, 0xa2, 0x5c, 0x95, 0x32, 0x66, 0x6f, 0x86,
+ 0xf4, 0x66, 0xba, 0x1b, 0xdc, 0x52, 0x5d, 0xad, 0xab, 0xb8, 0x3f, 0x6b, 0x3e, 0x59, 0x50, 0x8e,
+ 0x77, 0x89, 0x9a, 0x32, 0x52, 0x0c, 0x93, 0xc7, 0x7a, 0x22, 0x80, 0x8b, 0x7e, 0x91, 0x6c, 0x5a,
+ 0x0c, 0x11, 0x7e, 0x66, 0x80, 0xdd, 0xd3, 0xeb, 0x79, 0xab, 0x71, 0xbf, 0x8d, 0x94, 0x5d, 0x45,
+ 0x36, 0xd8, 0x8f, 0x60, 0xba, 0xad, 0x6a, 0x46, 0x59, 0xae, 0x25, 0x99, 0x34, 0xb3, 0x36, 0x93,
+ 0x63, 0x07, 0x7d, 0x7e, 0xae, 0x57, 0x69, 0x35, 0x6f, 0x08, 0xa4, 0x43, 0x10, 0xe3, 0xe6, 0xd3,
+ 0x6e, 0x8d, 0xfd, 0x14, 0xa6, 0x09, 0x69, 0x32, 0x9a, 0x66, 0xd6, 0x66, 0x37, 0x57, 0x33, 0x3e,
+ 0x8b, 0xc8, 0x90, 0x18, 0xb9, 0xd8, 0xb3, 0x3e, 0x1f, 0x11, 0xed, 0x21, 0xec, 0x59, 0x88, 0xeb,
+ 0x72, 0x5d, 0x41, 0x5a, 0x72, 0xca, 0x8c, 0x24, 0x92, 0xb7, 0x1b, 0xa7, 0x1f, 0x3c, 0xe5, 0x23,
+ 0xff, 0x3c, 0xe5, 0x23, 0x42, 0x13, 0x38, 0xef, 0x14, 0x45, 0xa4, 0xb7, 0x55, 0x45, 0x47, 0xec,
+ 0x16, 0x00, 0xa1, 0x72, 0x67, 0xbb, 0x3c, 0xe8, 0xf3, 0x0b, 0xd6, 0x6c, 0xdd, 0x3e, 0x41, 0x9c,
+ 0x21, 0x2f, 0xbb, 0x35, 0x36, 0x09, 0xd3, 0x5d, 0xa4, 0xe9, 0xb2, 0xaa, 0xe0, 0x39, 0xcf, 0x88,
+ 0xf6, 0xab, 0xf0, 0x62, 0x0a, 0x16, 0x86, 0xc3, 0x95, 0xb4, 0xde, 0x64, 0x82, 0x1c, 0xc0, 0x62,
+ 0x5b, 0x43, 0x5d, 0x59, 0xed, 0xe8, 0x65, 0x6a, 0x6e, 0x38, 0x50, 0x2e, 0x3d, 0xe8, 0xf3, 0x1c,
+ 0x19, 0xe8, 0x05, 0x09, 0x49, 0x46, 0x5c, 0xb0, 0xdb, 0xf3, 0xce, 0x74, 0x29, 0x89, 0xa7, 0x26,
+ 0x97, 0x58, 0x84, 0x25, 0x49, 0xed, 0x28, 0x06, 0xd2, 0xda, 0x15, 0xcd, 0xe8, 0x95, 0xed, 0x95,
+ 0xc7, 0xf0, 0x84, 0xf8, 0x41, 0x9f, 0x5f, 0x21, 0x62, 0xf9, 0xa0, 0x04, 0x71, 0x91, 0x6e, 0xfe,
+ 0xda, 0x6a, 0x35, 0x65, 0x6f, 0x6b, 0xaa, 0x7a, 0xa7, 0x2c, 0x2b, 0xb2, 0x91, 0x3c, 0x95, 0x66,
+ 0xd6, 0xce, 0xd0, 0xb2, 0xbb, 0x7d, 0x82, 0x38, 0x83, 0x5f, 0xb0, 0xaf, 0x6e, 0xc3, 0x19, 0xab,
+ 0xe7, 0x08, 0xc9, 0xf5, 0x23, 0x23, 0x19, 0xc7, 0x8b, 0xe1, 0xa8, 0xc5, 0x58, 0xfe, 0xed, 0x6e,
+ 0x64, 0xbe, 0xc0, 0x88, 0xdc, 0x8a, 0xb9, 0x94, 0x41, 0x9f, 0x5f, 0xa4, 0x79, 0xad, 0xd1, 0x82,
+ 0x38, 0x8b, 0x5f, 0x2d, 0x24, 0x65, 0xa4, 0xe9, 0x00, 0x23, 0x6d, 0xc3, 0x79, 0x4f, 0x66, 0x1d,
+ 0x1f, 0x51, 0x8e, 0x60, 0x86, 0x1d, 0xf1, 0xa7, 0xc7, 0x11, 0x3b, 0x52, 0x63, 0x32, 0x47, 0x0c,
+ 0x9b, 0x34, 0x1a, 0xd2, 0xa4, 0xb7, 0xe1, 0xdc, 0x50, 0x46, 0x28, 0x0a, 0xbc, 0x57, 0x72, 0xc2,
+ 0xa0, 0xcf, 0xa7, 0x7c, 0x52, 0x47, 0xf3, 0x2d, 0xd3, 0x3d, 0xae, 0xa3, 0x4e, 0xc2, 0x13, 0x1b,
+ 0x60, 0xa5, 0xba, 0x6c, 0x68, 0x3d, 0x62, 0x89, 0xa5, 0x41, 0x9f, 0x4f, 0xd0, 0xa9, 0x33, 0xb4,
+ 0x9e, 0x20, 0x9e, 0xc6, 0xcf, 0xe6, 0xbe, 0x7a, 0xbf, 0x86, 0x58, 0x19, 0x35, 0xc4, 0x8e, 0xd4,
+ 0xb0, 0x0d, 0x21, 0xfc, 0x16, 0x85, 0xe5, 0xe1, 0xde, 0xbc, 0xaa, 0xdc, 0x91, 0xb5, 0xd6, 0xbb,
+ 0x48, 0xbd, 0x23, 0x65, 0x45, 0x6a, 0xe0, 0x64, 0xfb, 0x48, 0x59, 0x91, 0x1a, 0xb6, 0x94, 0xa6,
+ 0x21, 0x47, 0xa5, 0x8c, 0x9d, 0x88, 0x94, 0xa7, 0x02, 0xa4, 0xe4, 0xe1, 0x82, 0xaf, 0x58, 0x8e,
+ 0x9c, 0x8f, 0x19, 0x58, 0x74, 0x11, 0xf9, 0xa6, 0xaa, 0xa3, 0xc9, 0x4b, 0xcd, 0x9b, 0x89, 0x39,
+ 0xbe, 0xc4, 0x5c, 0x80, 0x15, 0x9f, 0xb9, 0x39, 0x73, 0xff, 0x3d, 0x0a, 0x67, 0x47, 0xfa, 0xdf,
+ 0xa1, 0x17, 0x86, 0x8f, 0xda, 0xa9, 0x37, 0x3c, 0x6a, 0xdf, 0xad, 0x1d, 0xd2, 0x90, 0xf2, 0x17,
+ 0xcc, 0xd1, 0xf4, 0x51, 0x14, 0xfe, 0xb7, 0xa7, 0xd7, 0x45, 0x24, 0x75, 0x0f, 0x2a, 0x52, 0x03,
+ 0x19, 0xec, 0x75, 0x88, 0xb7, 0xf1, 0x13, 0x56, 0x72, 0x76, 0x73, 0xc5, 0xb7, 0xc6, 0x59, 0x60,
+ 0x52, 0xe2, 0xc8, 0x00, 0xf6, 0x26, 0x24, 0xac, 0xe9, 0x4a, 0x6a, 0xab, 0x25, 0x1b, 0x2d, 0xa4,
+ 0x18, 0x58, 0xde, 0x33, 0xb9, 0x95, 0x41, 0x9f, 0x3f, 0x47, 0x2f, 0xc8, 0x45, 0x08, 0xe2, 0x3c,
+ 0x6e, 0xca, 0x3b, 0x2d, 0x1e, 0xd1, 0xa6, 0x4e, 0x44, 0xb4, 0x58, 0x80, 0x68, 0xdf, 0xe3, 0x03,
+ 0xc7, 0x55, 0xc4, 0xa9, 0x4d, 0x9f, 0x41, 0x5c, 0x43, 0x7a, 0xa7, 0x69, 0x29, 0x33, 0xb7, 0x79,
+ 0xd9, 0x57, 0x19, 0x1b, 0x2e, 0x62, 0x68, 0xa9, 0xd7, 0x46, 0x22, 0x19, 0x76, 0x23, 0x66, 0xc6,
+ 0x10, 0xfe, 0x8a, 0x02, 0xec, 0xe9, 0xf5, 0x92, 0xdc, 0x42, 0x6a, 0xe7, 0x78, 0xf4, 0xee, 0x28,
+ 0x1a, 0x92, 0x90, 0xdc, 0x45, 0xb5, 0x20, 0xbd, 0x5d, 0x84, 0xad, 0xf7, 0xa1, 0xd3, 0x72, 0xa2,
+ 0x7a, 0x7f, 0x09, 0xac, 0x82, 0xee, 0x1b, 0x65, 0x1d, 0xdd, 0xed, 0x20, 0x45, 0x42, 0x65, 0x0d,
+ 0x49, 0x5d, 0xac, 0x7d, 0x2c, 0x77, 0x61, 0xd0, 0xe7, 0xcf, 0x5b, 0x0c, 0x5e, 0x8c, 0x20, 0x26,
+ 0xcc, 0xc6, 0x22, 0x69, 0x33, 0xf3, 0x11, 0xc2, 0xf1, 0xdf, 0xe2, 0x8b, 0x34, 0xd1, 0xf6, 0xb8,
+ 0x33, 0xf7, 0xd8, 0xba, 0x82, 0x10, 0xf6, 0x7d, 0x05, 0xef, 0xa8, 0xff, 0x42, 0x02, 0x3f, 0x81,
+ 0x59, 0xb2, 0xad, 0xcc, 0x19, 0x91, 0xc3, 0xe9, 0xec, 0xa0, 0xcf, 0xb3, 0x43, 0x7b, 0xce, 0xec,
+ 0x14, 0x44, 0xeb, 0x18, 0xb3, 0xe6, 0x7e, 0x92, 0xc7, 0x93, 0x7f, 0xe6, 0x4f, 0xbd, 0x6d, 0xe6,
+ 0xe3, 0x01, 0x99, 0xaf, 0xe2, 0x5b, 0xc4, 0x70, 0x6e, 0x8e, 0xdb, 0x00, 0x7f, 0x44, 0xb1, 0xbd,
+ 0x76, 0xa4, 0x86, 0xa2, 0xde, 0x6b, 0xa2, 0x5a, 0x1d, 0xe1, 0xf3, 0xea, 0x2d, 0x1c, 0xb0, 0x06,
+ 0xf3, 0x95, 0x61, 0x36, 0xcb, 0x00, 0xe2, 0x68, 0xb3, 0x9b, 0x63, 0x73, 0x60, 0x2d, 0x28, 0xc7,
+ 0xb8, 0xd3, 0xce, 0xf1, 0x8e, 0xf9, 0xf2, 0x9e, 0x4b, 0x90, 0x84, 0x3f, 0x1b, 0x47, 0x14, 0x3b,
+ 0xee, 0xbc, 0x5c, 0xa4, 0xef, 0x88, 0x87, 0xed, 0xba, 0x56, 0xa9, 0xe1, 0xab, 0x43, 0xd0, 0xcd,
+ 0x88, 0x82, 0x38, 0x95, 0x30, 0x0d, 0x4b, 0x1e, 0x40, 0x49, 0xeb, 0x51, 0x14, 0x29, 0x58, 0xf5,
+ 0x43, 0xbc, 0x96, 0x61, 0x47, 0x6a, 0x8c, 0x61, 0xa0, 0x2f, 0xbb, 0x1f, 0x40, 0xd2, 0xd3, 0x4f,
+ 0x2a, 0x36, 0xc5, 0x22, 0x40, 0x3a, 0x08, 0xf5, 0x5a, 0x26, 0xb2, 0x37, 0xc6, 0x30, 0x8d, 0x9c,
+ 0x9d, 0xc2, 0xff, 0xe1, 0x9c, 0x37, 0x5a, 0x45, 0x91, 0x50, 0x93, 0x22, 0xba, 0x08, 0x7c, 0x00,
+ 0xc8, 0xe6, 0xb9, 0xf2, 0x2b, 0x03, 0xac, 0x37, 0x91, 0xec, 0x36, 0xa4, 0xc5, 0x42, 0xf1, 0x60,
+ 0xff, 0x56, 0xb1, 0x50, 0x16, 0x0b, 0xc5, 0xc3, 0xaf, 0x4a, 0xe5, 0xd2, 0x37, 0x07, 0x85, 0xf2,
+ 0xe1, 0xad, 0xe2, 0x41, 0x21, 0xbf, 0x7b, 0x73, 0xb7, 0xf0, 0x79, 0x22, 0xc2, 0xcd, 0x3f, 0x7c,
+ 0x92, 0x9e, 0xa5, 0x9a, 0xd8, 0xcb, 0x70, 0xde, 0x77, 0xd8, 0xad, 0xfd, 0xfd, 0x83, 0x04, 0xc3,
+ 0x9d, 0x7e, 0xf8, 0x24, 0x1d, 0x33, 0x9f, 0xd9, 0x75, 0x58, 0xf5, 0x05, 0x16, 0x0f, 0xf3, 0xf9,
+ 0x42, 0xb1, 0x98, 0x88, 0x72, 0xb3, 0x0f, 0x9f, 0xa4, 0xa7, 0xc9, 0x2b, 0x17, 0x7b, 0xf0, 0x4b,
+ 0x2a, 0xb2, 0xf9, 0xd3, 0x1c, 0x4c, 0xed, 0xe9, 0x75, 0xb6, 0x01, 0xf3, 0xa3, 0xbf, 0xc9, 0xf8,
+ 0x3b, 0xd4, 0xfb, 0xcb, 0x08, 0x97, 0x0d, 0x09, 0x74, 0xf6, 0xc2, 0x11, 0xcc, 0x8d, 0xfc, 0xdc,
+ 0x71, 0x29, 0x04, 0x45, 0x49, 0xeb, 0x71, 0x99, 0x70, 0xb8, 0x80, 0x48, 0xe6, 0x57, 0x4b, 0x98,
+ 0x48, 0x3b, 0x52, 0x23, 0x54, 0x24, 0xca, 0xd0, 0xac, 0x01, 0xac, 0xcf, 0x97, 0xdb, 0x95, 0x10,
+ 0x2c, 0x04, 0xcb, 0x6d, 0x86, 0xc7, 0x3a, 0x51, 0x15, 0x48, 0x78, 0x3e, 0x70, 0xd6, 0xc6, 0xf0,
+ 0x38, 0x48, 0xee, 0x6a, 0x58, 0xa4, 0x13, 0xef, 0x1e, 0x2c, 0xfa, 0x7e, 0x94, 0x84, 0x21, 0xb2,
+ 0xd7, 0x79, 0x6d, 0x02, 0xb0, 0x13, 0xf8, 0x3b, 0x00, 0xea, 0xe6, 0x2e, 0x04, 0x51, 0xb8, 0x18,
+ 0xee, 0xca, 0x78, 0x8c, 0xc3, 0x5e, 0x84, 0x69, 0xfb, 0x92, 0xca, 0x07, 0x0d, 0x23, 0x00, 0xee,
+ 0xf2, 0x18, 0x00, 0xed, 0xbd, 0x91, 0xfb, 0xd3, 0xa5, 0x31, 0x43, 0x09, 0x2e, 0xd8, 0x7b, 0x01,
+ 0x35, 0xbf, 0x01, 0xf3, 0xa3, 0x85, 0x3a, 0x70, 0x96, 0x23, 0xc0, 0xe0, 0xcd, 0x1b, 0x54, 0xc8,
+ 0x5c, 0xa3, 0x53, 0xb5, 0x65, 0xac, 0xd1, 0x29, 0xec, 0x58, 0xa3, 0xfb, 0xd4, 0x2c, 0xf6, 0x2e,
+ 0x2c, 0x78, 0xca, 0x11, 0xfb, 0x61, 0x38, 0x22, 0xf3, 0xe0, 0xd8, 0x08, 0x0d, 0x0d, 0x0e, 0x69,
+ 0x1e, 0x1f, 0x21, 0x43, 0x9a, 0x27, 0xc8, 0x46, 0x68, 0xa8, 0x13, 0xf2, 0x47, 0x58, 0xf6, 0x2d,
+ 0x76, 0xec, 0x7a, 0x38, 0x2e, 0x7b, 0x8b, 0x6d, 0x4f, 0x04, 0x0f, 0x0e, 0x6f, 0x6f, 0x8a, 0x90,
+ 0xe1, 0xed, 0x2d, 0xb2, 0x3d, 0x11, 0xdc, 0x09, 0xff, 0x03, 0x2c, 0xf9, 0xd5, 0x55, 0xf6, 0xe3,
+ 0x90, 0xab, 0xc1, 0x68, 0x6e, 0x6b, 0x12, 0xb4, 0x1d, 0x3b, 0x57, 0x7c, 0xf6, 0x32, 0xc5, 0x3c,
+ 0x7f, 0x99, 0x62, 0xfe, 0x7e, 0x99, 0x62, 0x1e, 0xbd, 0x4a, 0x45, 0x9e, 0xbf, 0x4a, 0x45, 0x5e,
+ 0xbc, 0x4a, 0x45, 0x6e, 0x5f, 0xaf, 0xcb, 0xc6, 0x51, 0xa7, 0x9a, 0x91, 0xd4, 0x56, 0x56, 0x52,
+ 0xf5, 0x96, 0xaa, 0x67, 0xe5, 0xaa, 0xb4, 0x5e, 0x57, 0xb3, 0xdd, 0xad, 0x6c, 0x4b, 0xad, 0x75,
+ 0x9a, 0x48, 0xb7, 0xfe, 0xf4, 0xb8, 0xba, 0xb5, 0x6e, 0xff, 0xef, 0x61, 0xf4, 0xda, 0x48, 0xaf,
+ 0xc6, 0xf1, 0x7f, 0x1e, 0xd7, 0xfe, 0x0d, 0x00, 0x00, 0xff, 0xff, 0x6b, 0x06, 0xe5, 0xd6, 0x82,
0x19, 0x00, 0x00,
}
diff --git a/modules/core/04-channel/types/upgrade.pb.go b/modules/core/04-channel/types/upgrade.pb.go
index ff8c4815b1f..7d4674d801e 100644
--- a/modules/core/04-channel/types/upgrade.pb.go
+++ b/modules/core/04-channel/types/upgrade.pb.go
@@ -5,7 +5,7 @@ package types
import (
fmt "fmt"
- types "github.com/cosmos/ibc-go/v3/modules/core/02-client/types"
+ types "github.com/cosmos/ibc-go/v4/modules/core/02-client/types"
_ "github.com/gogo/protobuf/gogoproto"
proto "github.com/gogo/protobuf/proto"
io "io"
@@ -148,7 +148,7 @@ var fileDescriptor_fb1cef68588848b2 = []byte{
// 334 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x54, 0x91, 0xb1, 0x4e, 0xf3, 0x30,
0x14, 0x85, 0xe3, 0x5f, 0xfd, 0x11, 0x18, 0xa8, 0x20, 0x14, 0xa9, 0x8a, 0x20, 0x29, 0x99, 0xba,
- 0xd4, 0xa6, 0x94, 0x05, 0x26, 0x54, 0x09, 0x09, 0xd6, 0x50, 0x16, 0x16, 0x48, 0xdc, 0xab, 0xc4,
+ 0xd4, 0xa6, 0xd0, 0x05, 0x26, 0x54, 0x09, 0x09, 0xd6, 0x50, 0x16, 0x16, 0x48, 0xdc, 0xab, 0xc4,
0x52, 0x12, 0x87, 0xc4, 0x89, 0xd4, 0xb7, 0xe0, 0x85, 0xd8, 0x3b, 0x76, 0x64, 0xaa, 0x50, 0xfb,
0x06, 0x7d, 0x02, 0x94, 0xb8, 0x4d, 0xd5, 0xc9, 0xe7, 0x1e, 0x7f, 0x3e, 0xd7, 0xba, 0x17, 0x5f,
0x71, 0x8f, 0x51, 0x26, 0x52, 0xa0, 0x2c, 0x70, 0xe3, 0x18, 0x42, 0x5a, 0xf4, 0x69, 0x9e, 0xf8,
@@ -165,8 +165,8 @@ var fileDescriptor_fb1cef68588848b2 = []byte{
0x54, 0x31, 0x7c, 0x99, 0x2e, 0x4c, 0x34, 0x5b, 0x98, 0xe8, 0x77, 0x61, 0xa2, 0xaf, 0xa5, 0xa9,
0xcd, 0x96, 0xa6, 0xf6, 0xb3, 0x34, 0xb5, 0xb7, 0x3b, 0x9f, 0xcb, 0x20, 0xf7, 0x08, 0x13, 0x11,
0x65, 0x22, 0x8b, 0x44, 0x46, 0xb9, 0xc7, 0x7a, 0xbe, 0xa0, 0xc5, 0x80, 0x46, 0x62, 0x9c, 0x87,
- 0x90, 0xa9, 0xe1, 0x5e, 0xdf, 0xf6, 0x36, 0xdb, 0x92, 0x93, 0x04, 0x32, 0x6f, 0xaf, 0x9a, 0xee,
- 0xe0, 0x2f, 0x00, 0x00, 0xff, 0xff, 0x8a, 0xb9, 0x65, 0x35, 0xce, 0x01, 0x00, 0x00,
+ 0x90, 0xa9, 0xe1, 0x5e, 0x0f, 0x7a, 0x9b, 0x6d, 0xc9, 0x49, 0x02, 0x99, 0xb7, 0x57, 0x4d, 0xf7,
+ 0xf6, 0x2f, 0x00, 0x00, 0xff, 0xff, 0x94, 0x8d, 0xab, 0x07, 0xce, 0x01, 0x00, 0x00,
}
func (m *UpgradeTimeout) Marshal() (dAtA []byte, err error) {
diff --git a/modules/core/04-channel/types/version.go b/modules/core/04-channel/types/version.go
deleted file mode 100644
index a2696d291ed..00000000000
--- a/modules/core/04-channel/types/version.go
+++ /dev/null
@@ -1,27 +0,0 @@
-package types
-
-import "strings"
-
-const ChannelVersionDelimiter = ":"
-
-// SplitChannelVersion middleware version will split the channel version string
-// into the outermost middleware version and the underlying app version.
-// It will use the default delimiter `:` for middleware versions.
-// In case there's no delimeter, this function returns an empty string for the middleware version (first return argument),
-// and the full input as the second underlying app version.
-func SplitChannelVersion(version string) (middlewareVersion, appVersion string) {
- // only split out the first middleware version
- splitVersions := strings.Split(version, ChannelVersionDelimiter)
- if len(splitVersions) == 1 {
- return "", version
- }
- middlewareVersion = splitVersions[0]
- appVersion = strings.Join(splitVersions[1:], ChannelVersionDelimiter)
- return
-}
-
-// MergeChannelVersions merges the provided versions together with the channel version delimiter
-// the versions should be passed in from the highest-level middleware to the base application
-func MergeChannelVersions(versions ...string) string {
- return strings.Join(versions, ChannelVersionDelimiter)
-}
diff --git a/modules/core/04-channel/types/version_test.go b/modules/core/04-channel/types/version_test.go
deleted file mode 100644
index 1ccacf7d9f2..00000000000
--- a/modules/core/04-channel/types/version_test.go
+++ /dev/null
@@ -1,77 +0,0 @@
-package types_test
-
-import (
- "testing"
-
- "github.com/stretchr/testify/require"
-
- "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types"
-)
-
-func TestSplitVersions(t *testing.T) {
- testCases := []struct {
- name string
- version string
- mwVersion string
- appVersion string
- }{
- {
- "single wrapped middleware",
- "fee29-1:ics20-1",
- "fee29-1",
- "ics20-1",
- },
- {
- "multiple wrapped middleware",
- "fee29-1:whitelist:ics20-1",
- "fee29-1",
- "whitelist:ics20-1",
- },
- {
- "no middleware",
- "ics20-1",
- "",
- "ics20-1",
- },
- }
-
- for _, tc := range testCases {
- mwVersion, appVersion := types.SplitChannelVersion(tc.version)
- require.Equal(t, tc.mwVersion, mwVersion, "middleware version is unexpected for case: %s", tc.name)
- require.Equal(t, tc.appVersion, appVersion, "app version is unexpected for case: %s", tc.name)
- }
-}
-
-func TestMergeVersions(t *testing.T) {
- testCases := []struct {
- name string
- versions []string
- merged string
- }{
- {
- "single version",
- []string{"ics20-1"},
- "ics20-1",
- },
- {
- "empty version",
- []string{},
- "",
- },
- {
- "two versions",
- []string{"fee29-1", "ics20-1"},
- "fee29-1:ics20-1",
- },
- {
- "multiple versions",
- []string{"fee29-1", "whitelist", "ics20-1"},
- "fee29-1:whitelist:ics20-1",
- },
- }
-
- for _, tc := range testCases {
- actual := types.MergeChannelVersions(tc.versions...)
- require.Equal(t, tc.merged, actual, "merged versions string does not equal expected value")
- }
-}
diff --git a/modules/core/05-port/keeper/keeper.go b/modules/core/05-port/keeper/keeper.go
index ef898664337..db65f384455 100644
--- a/modules/core/05-port/keeper/keeper.go
+++ b/modules/core/05-port/keeper/keeper.go
@@ -8,8 +8,8 @@ import (
capabilitytypes "github.com/cosmos/cosmos-sdk/x/capability/types"
"github.com/tendermint/tendermint/libs/log"
- "github.com/cosmos/ibc-go/v3/modules/core/05-port/types"
- host "github.com/cosmos/ibc-go/v3/modules/core/24-host"
+ "github.com/cosmos/ibc-go/v4/modules/core/05-port/types"
+ host "github.com/cosmos/ibc-go/v4/modules/core/24-host"
)
// Keeper defines the IBC connection keeper
diff --git a/modules/core/05-port/keeper/keeper_test.go b/modules/core/05-port/keeper/keeper_test.go
index 52fa4198730..fe2449b81be 100644
--- a/modules/core/05-port/keeper/keeper_test.go
+++ b/modules/core/05-port/keeper/keeper_test.go
@@ -8,8 +8,8 @@ import (
"github.com/stretchr/testify/suite"
tmproto "github.com/tendermint/tendermint/proto/tendermint/types"
- "github.com/cosmos/ibc-go/v3/modules/core/05-port/keeper"
- "github.com/cosmos/ibc-go/v3/testing/simapp"
+ "github.com/cosmos/ibc-go/v4/modules/core/05-port/keeper"
+ "github.com/cosmos/ibc-go/v4/testing/simapp"
)
var (
diff --git a/modules/core/05-port/module.go b/modules/core/05-port/module.go
index 8aab55b1fb8..dd13e8a1b1b 100644
--- a/modules/core/05-port/module.go
+++ b/modules/core/05-port/module.go
@@ -4,8 +4,8 @@ import (
"github.com/gogo/protobuf/grpc"
"github.com/spf13/cobra"
- "github.com/cosmos/ibc-go/v3/modules/core/05-port/types"
- "github.com/cosmos/ibc-go/v3/modules/core/client/cli"
+ "github.com/cosmos/ibc-go/v4/modules/core/05-port/types"
+ "github.com/cosmos/ibc-go/v4/modules/core/client/cli"
)
// Name returns the IBC port ICS name.
diff --git a/modules/core/05-port/types/module.go b/modules/core/05-port/types/module.go
index 26501af313c..3f71e1d0339 100644
--- a/modules/core/05-port/types/module.go
+++ b/modules/core/05-port/types/module.go
@@ -4,8 +4,8 @@ import (
sdk "github.com/cosmos/cosmos-sdk/types"
capabilitytypes "github.com/cosmos/cosmos-sdk/x/capability/types"
- channeltypes "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types"
- "github.com/cosmos/ibc-go/v3/modules/core/exported"
+ channeltypes "github.com/cosmos/ibc-go/v4/modules/core/04-channel/types"
+ "github.com/cosmos/ibc-go/v4/modules/core/exported"
)
// IBCModule defines an interface that implements all the callbacks
diff --git a/modules/core/05-port/types/query.pb.go b/modules/core/05-port/types/query.pb.go
index 17a6cfc65da..3d7b414c747 100644
--- a/modules/core/05-port/types/query.pb.go
+++ b/modules/core/05-port/types/query.pb.go
@@ -6,7 +6,7 @@ package types
import (
context "context"
fmt "fmt"
- types "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types"
+ types "github.com/cosmos/ibc-go/v4/modules/core/04-channel/types"
grpc1 "github.com/gogo/protobuf/grpc"
proto "github.com/gogo/protobuf/proto"
grpc "google.golang.org/grpc"
diff --git a/modules/core/23-commitment/types/codec.go b/modules/core/23-commitment/types/codec.go
index 886a6c14e5b..5c1334cec6d 100644
--- a/modules/core/23-commitment/types/codec.go
+++ b/modules/core/23-commitment/types/codec.go
@@ -3,7 +3,7 @@ package types
import (
codectypes "github.com/cosmos/cosmos-sdk/codec/types"
- "github.com/cosmos/ibc-go/v3/modules/core/exported"
+ "github.com/cosmos/ibc-go/v4/modules/core/exported"
)
// RegisterInterfaces registers the commitment interfaces to protobuf Any.
diff --git a/modules/core/23-commitment/types/commitment.pb.go b/modules/core/23-commitment/types/commitment.pb.go
index b5c4a458535..8b77f6aa693 100644
--- a/modules/core/23-commitment/types/commitment.pb.go
+++ b/modules/core/23-commitment/types/commitment.pb.go
@@ -217,28 +217,28 @@ func init() {
}
var fileDescriptor_7921d88972a41469 = []byte{
- // 334 bytes of a gzipped FileDescriptorProto
- 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x4c, 0x91, 0xbf, 0x4e, 0xeb, 0x30,
- 0x14, 0xc6, 0x13, 0xdd, 0xaa, 0x97, 0xba, 0x95, 0x10, 0x01, 0x2a, 0xd4, 0x21, 0x45, 0x19, 0xa0,
- 0x4b, 0x6d, 0xb5, 0x61, 0xaa, 0x60, 0x09, 0xac, 0x48, 0x55, 0x06, 0x06, 0x16, 0x94, 0x18, 0x37,
- 0xb1, 0xda, 0x70, 0xa2, 0xd8, 0xad, 0xc8, 0x1b, 0x30, 0x32, 0x32, 0xf2, 0x38, 0x8c, 0x1d, 0x99,
- 0x2a, 0xd4, 0xbe, 0x41, 0x9f, 0x00, 0xd9, 0xa6, 0x90, 0xed, 0x7c, 0x3a, 0xbf, 0xf3, 0xef, 0x3b,
- 0xe8, 0x9c, 0xc7, 0x94, 0x50, 0x28, 0x18, 0xa1, 0x90, 0x65, 0x5c, 0x66, 0xec, 0x49, 0x92, 0xc5,
- 0xa0, 0xa2, 0x70, 0x5e, 0x80, 0x04, 0xa7, 0xcd, 0x63, 0x8a, 0x15, 0x88, 0x2b, 0xa9, 0xc5, 0xa0,
- 0x73, 0x94, 0x40, 0x02, 0x1a, 0x21, 0x2a, 0x32, 0x74, 0xa7, 0x95, 0x17, 0x00, 0x13, 0x61, 0x94,
- 0x77, 0x86, 0xd0, 0x2d, 0x2b, 0xa6, 0x33, 0x16, 0x02, 0x48, 0xc7, 0x41, 0xb5, 0x34, 0x12, 0xe9,
- 0x89, 0x7d, 0x6a, 0xf7, 0x5a, 0xa1, 0x8e, 0x47, 0xb5, 0x97, 0xf7, 0xae, 0xe5, 0xdd, 0xa0, 0x96,
- 0xe1, 0xc6, 0x05, 0x9b, 0xf0, 0x67, 0xe7, 0x02, 0xa1, 0x29, 0x2b, 0x1f, 0x72, 0xad, 0x0c, 0x1f,
- 0x1c, 0x6f, 0x57, 0xdd, 0x83, 0x32, 0xca, 0x66, 0x23, 0xef, 0x2f, 0xe7, 0x85, 0x8d, 0x29, 0x2b,
- 0x4d, 0x95, 0x17, 0xec, 0xa6, 0x8d, 0x23, 0x99, 0x3a, 0x18, 0xed, 0x69, 0x2e, 0x92, 0x6a, 0xe2,
- 0xbf, 0x5e, 0x23, 0x38, 0xdc, 0xae, 0xba, 0xfb, 0x95, 0x0e, 0x91, 0x4c, 0xbd, 0xf0, 0xbf, 0xaa,
- 0x8f, 0x64, 0x3a, 0xaa, 0xbd, 0xa9, 0x4d, 0xae, 0x50, 0x73, 0xb7, 0x09, 0xc0, 0xc4, 0xc1, 0xa8,
- 0x6e, 0x0e, 0xd2, 0x2d, 0x9a, 0xc3, 0x36, 0xe6, 0x54, 0x0c, 0x7d, 0x7c, 0xfd, 0x6b, 0x85, 0xe6,
- 0xc2, 0x1f, 0x2a, 0xb8, 0xfb, 0x58, 0xbb, 0xf6, 0x72, 0xed, 0xda, 0x5f, 0x6b, 0xd7, 0x7e, 0xdd,
- 0xb8, 0xd6, 0x72, 0xe3, 0x5a, 0x9f, 0x1b, 0xd7, 0xba, 0xbf, 0x4c, 0xb8, 0x4c, 0xe7, 0xb1, 0x32,
- 0x91, 0x50, 0x10, 0x19, 0x08, 0xc2, 0x63, 0xda, 0x4f, 0x80, 0x2c, 0x7c, 0x92, 0xc1, 0xe3, 0x7c,
- 0xc6, 0x84, 0xf9, 0xc7, 0xd0, 0xef, 0x57, 0x5e, 0x22, 0xcb, 0x9c, 0x89, 0xb8, 0xae, 0xfd, 0xf4,
- 0xbf, 0x03, 0x00, 0x00, 0xff, 0xff, 0xec, 0x9a, 0x38, 0xca, 0xb6, 0x01, 0x00, 0x00,
+ // 333 bytes of a gzipped FileDescriptorProto
+ 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x4c, 0x91, 0xbd, 0x4e, 0xc3, 0x30,
+ 0x10, 0xc7, 0x13, 0x51, 0x15, 0xea, 0x56, 0x42, 0x04, 0xa8, 0x50, 0x87, 0x14, 0x65, 0x80, 0x2e,
+ 0xb5, 0xd5, 0x8f, 0xa9, 0x82, 0x25, 0xb0, 0x22, 0x55, 0x19, 0x18, 0x58, 0x50, 0x62, 0xdc, 0xc4,
+ 0x6a, 0xc3, 0x45, 0xb1, 0x5b, 0x91, 0x37, 0x60, 0x64, 0x64, 0xe4, 0x71, 0x18, 0x3b, 0x32, 0x55,
+ 0xa8, 0x7d, 0x83, 0x3e, 0x01, 0xb2, 0x4d, 0x21, 0xdb, 0xfd, 0x75, 0xbf, 0xfb, 0xfa, 0x1f, 0xba,
+ 0xe4, 0x11, 0x25, 0x14, 0x72, 0x46, 0x28, 0xa4, 0x29, 0x97, 0x29, 0x7b, 0x96, 0x64, 0xd1, 0x2b,
+ 0x29, 0x9c, 0xe5, 0x20, 0xc1, 0x69, 0xf2, 0x88, 0x62, 0x05, 0xe2, 0x52, 0x6a, 0xd1, 0x6b, 0x9d,
+ 0xc4, 0x10, 0x83, 0x46, 0x88, 0x8a, 0x0c, 0xdd, 0x6a, 0x64, 0x39, 0xc0, 0x44, 0x18, 0xe5, 0x5d,
+ 0x20, 0x74, 0xc7, 0xf2, 0xe9, 0x8c, 0x05, 0x00, 0xd2, 0x71, 0x50, 0x25, 0x09, 0x45, 0x72, 0x66,
+ 0x9f, 0xdb, 0x9d, 0x46, 0xa0, 0xe3, 0x51, 0xe5, 0xf5, 0xa3, 0x6d, 0x79, 0xb7, 0xa8, 0x61, 0xb8,
+ 0x71, 0xce, 0x26, 0xfc, 0xc5, 0x19, 0x22, 0x34, 0x65, 0xc5, 0x63, 0xa6, 0x95, 0xe1, 0xfd, 0xd3,
+ 0xed, 0xaa, 0x7d, 0x54, 0x84, 0xe9, 0x6c, 0xe4, 0xfd, 0xe7, 0xbc, 0xa0, 0x36, 0x65, 0x85, 0xa9,
+ 0xf2, 0xfc, 0xdd, 0xb4, 0x71, 0x28, 0x13, 0x07, 0xa3, 0x03, 0xcd, 0x85, 0x52, 0x4d, 0xdc, 0xeb,
+ 0xd4, 0xfc, 0xe3, 0xed, 0xaa, 0x7d, 0x58, 0xea, 0x10, 0xca, 0xc4, 0x0b, 0xf6, 0x55, 0x7d, 0x28,
+ 0x93, 0x51, 0xe5, 0x5d, 0x6d, 0x72, 0x8d, 0xea, 0xbb, 0x4d, 0x00, 0x26, 0x0e, 0x46, 0x55, 0x73,
+ 0x90, 0x6e, 0x51, 0xef, 0x37, 0x31, 0xa7, 0xa2, 0x3f, 0xc0, 0x37, 0x7f, 0x56, 0x68, 0x2e, 0xf8,
+ 0xa5, 0xfc, 0xfb, 0xcf, 0xb5, 0x6b, 0x2f, 0xd7, 0xae, 0xfd, 0xbd, 0x76, 0xed, 0xb7, 0x8d, 0x6b,
+ 0x2d, 0x37, 0xae, 0xf5, 0xb5, 0x71, 0xad, 0x87, 0xab, 0x98, 0xcb, 0x64, 0x1e, 0x29, 0x13, 0x09,
+ 0x05, 0x91, 0x82, 0x20, 0x3c, 0xa2, 0xdd, 0x18, 0xc8, 0x62, 0x48, 0x52, 0x78, 0x9a, 0xcf, 0x98,
+ 0x30, 0xff, 0xe8, 0x0f, 0xba, 0xa5, 0x97, 0xc8, 0x22, 0x63, 0x22, 0xaa, 0x6a, 0x3f, 0x07, 0x3f,
+ 0x01, 0x00, 0x00, 0xff, 0xff, 0xe4, 0x08, 0x76, 0x1b, 0xb6, 0x01, 0x00, 0x00,
}
func (m *MerkleRoot) Marshal() (dAtA []byte, err error) {
diff --git a/modules/core/23-commitment/types/merkle.go b/modules/core/23-commitment/types/merkle.go
index 17f1487d982..b661855935f 100644
--- a/modules/core/23-commitment/types/merkle.go
+++ b/modules/core/23-commitment/types/merkle.go
@@ -10,7 +10,7 @@ import (
"github.com/gogo/protobuf/proto"
tmcrypto "github.com/tendermint/tendermint/proto/tendermint/crypto"
- "github.com/cosmos/ibc-go/v3/modules/core/exported"
+ "github.com/cosmos/ibc-go/v4/modules/core/exported"
)
// var representing the proofspecs for a SDK chain
@@ -128,7 +128,7 @@ func ApplyPrefix(prefix exported.Prefix, path MerklePath) (MerklePath, error) {
var _ exported.Proof = (*MerkleProof)(nil)
-// VerifyMembership verifies the membership pf a merkle proof against the given root, path, and value.
+// VerifyMembership verifies the membership of a merkle proof against the given root, path, and value.
func (proof MerkleProof) VerifyMembership(specs []*ics23.ProofSpec, root exported.Root, path exported.Path, value []byte) error {
if err := proof.validateVerificationArgs(specs, root); err != nil {
return err
diff --git a/modules/core/23-commitment/types/merkle_test.go b/modules/core/23-commitment/types/merkle_test.go
index 68a96c9b0c3..cf13348faf3 100644
--- a/modules/core/23-commitment/types/merkle_test.go
+++ b/modules/core/23-commitment/types/merkle_test.go
@@ -7,7 +7,7 @@ import (
"github.com/stretchr/testify/require"
abci "github.com/tendermint/tendermint/abci/types"
- "github.com/cosmos/ibc-go/v3/modules/core/23-commitment/types"
+ "github.com/cosmos/ibc-go/v4/modules/core/23-commitment/types"
)
func (suite *MerkleTestSuite) TestVerifyMembership() {
diff --git a/modules/core/23-commitment/types/utils_test.go b/modules/core/23-commitment/types/utils_test.go
index ea2abea2026..270d13cae5e 100644
--- a/modules/core/23-commitment/types/utils_test.go
+++ b/modules/core/23-commitment/types/utils_test.go
@@ -7,7 +7,7 @@ import (
abci "github.com/tendermint/tendermint/abci/types"
crypto "github.com/tendermint/tendermint/proto/tendermint/crypto"
- "github.com/cosmos/ibc-go/v3/modules/core/23-commitment/types"
+ "github.com/cosmos/ibc-go/v4/modules/core/23-commitment/types"
)
func (suite *MerkleTestSuite) TestConvertProofs() {
diff --git a/modules/core/24-host/keys.go b/modules/core/24-host/keys.go
index c12449f182f..b38d022d907 100644
--- a/modules/core/24-host/keys.go
+++ b/modules/core/24-host/keys.go
@@ -3,7 +3,7 @@ package host
import (
"fmt"
- "github.com/cosmos/ibc-go/v3/modules/core/exported"
+ "github.com/cosmos/ibc-go/v4/modules/core/exported"
)
const (
diff --git a/modules/core/24-host/parse_test.go b/modules/core/24-host/parse_test.go
index 60b33d8ce45..18b9848e950 100644
--- a/modules/core/24-host/parse_test.go
+++ b/modules/core/24-host/parse_test.go
@@ -6,8 +6,8 @@ import (
"github.com/stretchr/testify/require"
- connectiontypes "github.com/cosmos/ibc-go/v3/modules/core/03-connection/types"
- host "github.com/cosmos/ibc-go/v3/modules/core/24-host"
+ connectiontypes "github.com/cosmos/ibc-go/v4/modules/core/03-connection/types"
+ host "github.com/cosmos/ibc-go/v4/modules/core/24-host"
)
func TestParseIdentifier(t *testing.T) {
diff --git a/modules/core/ante/ante.go b/modules/core/ante/ante.go
index e9218ea4b94..1ad8d776b70 100644
--- a/modules/core/ante/ante.go
+++ b/modules/core/ante/ante.go
@@ -3,9 +3,9 @@ package ante
import (
sdk "github.com/cosmos/cosmos-sdk/types"
- clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types"
- channeltypes "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types"
- "github.com/cosmos/ibc-go/v3/modules/core/keeper"
+ clienttypes "github.com/cosmos/ibc-go/v4/modules/core/02-client/types"
+ channeltypes "github.com/cosmos/ibc-go/v4/modules/core/04-channel/types"
+ "github.com/cosmos/ibc-go/v4/modules/core/keeper"
)
type AnteDecorator struct {
diff --git a/modules/core/ante/ante_test.go b/modules/core/ante/ante_test.go
index c04f6483f74..fb71db32b0f 100644
--- a/modules/core/ante/ante_test.go
+++ b/modules/core/ante/ante_test.go
@@ -7,12 +7,12 @@ import (
"github.com/stretchr/testify/require"
"github.com/stretchr/testify/suite"
- clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types"
- channeltypes "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types"
- host "github.com/cosmos/ibc-go/v3/modules/core/24-host"
- "github.com/cosmos/ibc-go/v3/modules/core/ante"
- "github.com/cosmos/ibc-go/v3/modules/core/exported"
- ibctesting "github.com/cosmos/ibc-go/v3/testing"
+ clienttypes "github.com/cosmos/ibc-go/v4/modules/core/02-client/types"
+ channeltypes "github.com/cosmos/ibc-go/v4/modules/core/04-channel/types"
+ host "github.com/cosmos/ibc-go/v4/modules/core/24-host"
+ "github.com/cosmos/ibc-go/v4/modules/core/ante"
+ "github.com/cosmos/ibc-go/v4/modules/core/exported"
+ ibctesting "github.com/cosmos/ibc-go/v4/testing"
)
type AnteTestSuite struct {
diff --git a/modules/core/client/cli/cli.go b/modules/core/client/cli/cli.go
index 92a3756cdb5..a16b1d17751 100644
--- a/modules/core/client/cli/cli.go
+++ b/modules/core/client/cli/cli.go
@@ -5,10 +5,10 @@ import (
"github.com/cosmos/cosmos-sdk/client"
- ibcclient "github.com/cosmos/ibc-go/v3/modules/core/02-client"
- connection "github.com/cosmos/ibc-go/v3/modules/core/03-connection"
- channel "github.com/cosmos/ibc-go/v3/modules/core/04-channel"
- host "github.com/cosmos/ibc-go/v3/modules/core/24-host"
+ ibcclient "github.com/cosmos/ibc-go/v4/modules/core/02-client"
+ connection "github.com/cosmos/ibc-go/v4/modules/core/03-connection"
+ channel "github.com/cosmos/ibc-go/v4/modules/core/04-channel"
+ host "github.com/cosmos/ibc-go/v4/modules/core/24-host"
)
// GetTxCmd returns the transaction commands for this module
diff --git a/modules/core/client/query.go b/modules/core/client/query.go
index 30377a495c4..3dd56aa92cc 100644
--- a/modules/core/client/query.go
+++ b/modules/core/client/query.go
@@ -7,9 +7,9 @@ import (
"github.com/cosmos/cosmos-sdk/codec"
abci "github.com/tendermint/tendermint/abci/types"
- clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types"
- commitmenttypes "github.com/cosmos/ibc-go/v3/modules/core/23-commitment/types"
- host "github.com/cosmos/ibc-go/v3/modules/core/24-host"
+ clienttypes "github.com/cosmos/ibc-go/v4/modules/core/02-client/types"
+ commitmenttypes "github.com/cosmos/ibc-go/v4/modules/core/23-commitment/types"
+ host "github.com/cosmos/ibc-go/v4/modules/core/24-host"
)
// QueryTendermintProof performs an ABCI query with the given key and returns
diff --git a/modules/core/genesis.go b/modules/core/genesis.go
index 9bc30a2d28f..7f9f65fa46f 100644
--- a/modules/core/genesis.go
+++ b/modules/core/genesis.go
@@ -3,11 +3,11 @@ package ibc
import (
sdk "github.com/cosmos/cosmos-sdk/types"
- client "github.com/cosmos/ibc-go/v3/modules/core/02-client"
- connection "github.com/cosmos/ibc-go/v3/modules/core/03-connection"
- channel "github.com/cosmos/ibc-go/v3/modules/core/04-channel"
- "github.com/cosmos/ibc-go/v3/modules/core/keeper"
- "github.com/cosmos/ibc-go/v3/modules/core/types"
+ client "github.com/cosmos/ibc-go/v4/modules/core/02-client"
+ connection "github.com/cosmos/ibc-go/v4/modules/core/03-connection"
+ channel "github.com/cosmos/ibc-go/v4/modules/core/04-channel"
+ "github.com/cosmos/ibc-go/v4/modules/core/keeper"
+ "github.com/cosmos/ibc-go/v4/modules/core/types"
)
// InitGenesis initializes the ibc state from a provided genesis
diff --git a/modules/core/genesis_test.go b/modules/core/genesis_test.go
index aa921f7c19e..cf0cf19efb0 100644
--- a/modules/core/genesis_test.go
+++ b/modules/core/genesis_test.go
@@ -8,17 +8,17 @@ import (
"github.com/stretchr/testify/suite"
tmproto "github.com/tendermint/tendermint/proto/tendermint/types"
- ibc "github.com/cosmos/ibc-go/v3/modules/core"
- clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types"
- connectiontypes "github.com/cosmos/ibc-go/v3/modules/core/03-connection/types"
- channeltypes "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types"
- commitmenttypes "github.com/cosmos/ibc-go/v3/modules/core/23-commitment/types"
- "github.com/cosmos/ibc-go/v3/modules/core/exported"
- "github.com/cosmos/ibc-go/v3/modules/core/types"
- ibctmtypes "github.com/cosmos/ibc-go/v3/modules/light-clients/07-tendermint/types"
- localhosttypes "github.com/cosmos/ibc-go/v3/modules/light-clients/09-localhost/types"
- ibctesting "github.com/cosmos/ibc-go/v3/testing"
- "github.com/cosmos/ibc-go/v3/testing/simapp"
+ ibc "github.com/cosmos/ibc-go/v4/modules/core"
+ clienttypes "github.com/cosmos/ibc-go/v4/modules/core/02-client/types"
+ connectiontypes "github.com/cosmos/ibc-go/v4/modules/core/03-connection/types"
+ channeltypes "github.com/cosmos/ibc-go/v4/modules/core/04-channel/types"
+ commitmenttypes "github.com/cosmos/ibc-go/v4/modules/core/23-commitment/types"
+ "github.com/cosmos/ibc-go/v4/modules/core/exported"
+ "github.com/cosmos/ibc-go/v4/modules/core/types"
+ ibctmtypes "github.com/cosmos/ibc-go/v4/modules/light-clients/07-tendermint/types"
+ localhosttypes "github.com/cosmos/ibc-go/v4/modules/light-clients/09-localhost/types"
+ ibctesting "github.com/cosmos/ibc-go/v4/testing"
+ "github.com/cosmos/ibc-go/v4/testing/simapp"
)
const (
diff --git a/modules/core/keeper/grpc_query.go b/modules/core/keeper/grpc_query.go
index 138a4e7aa01..c42d7857616 100644
--- a/modules/core/keeper/grpc_query.go
+++ b/modules/core/keeper/grpc_query.go
@@ -3,9 +3,9 @@ package keeper
import (
"context"
- clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types"
- connectiontypes "github.com/cosmos/ibc-go/v3/modules/core/03-connection/types"
- channeltypes "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types"
+ clienttypes "github.com/cosmos/ibc-go/v4/modules/core/02-client/types"
+ connectiontypes "github.com/cosmos/ibc-go/v4/modules/core/03-connection/types"
+ channeltypes "github.com/cosmos/ibc-go/v4/modules/core/04-channel/types"
)
// ClientState implements the IBC QueryServer interface
diff --git a/modules/core/keeper/keeper.go b/modules/core/keeper/keeper.go
index 12b259498ea..5ae7f4e40e7 100644
--- a/modules/core/keeper/keeper.go
+++ b/modules/core/keeper/keeper.go
@@ -9,14 +9,14 @@ import (
capabilitykeeper "github.com/cosmos/cosmos-sdk/x/capability/keeper"
paramtypes "github.com/cosmos/cosmos-sdk/x/params/types"
- clientkeeper "github.com/cosmos/ibc-go/v3/modules/core/02-client/keeper"
- clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types"
- connectionkeeper "github.com/cosmos/ibc-go/v3/modules/core/03-connection/keeper"
- connectiontypes "github.com/cosmos/ibc-go/v3/modules/core/03-connection/types"
- channelkeeper "github.com/cosmos/ibc-go/v3/modules/core/04-channel/keeper"
- portkeeper "github.com/cosmos/ibc-go/v3/modules/core/05-port/keeper"
- porttypes "github.com/cosmos/ibc-go/v3/modules/core/05-port/types"
- "github.com/cosmos/ibc-go/v3/modules/core/types"
+ clientkeeper "github.com/cosmos/ibc-go/v4/modules/core/02-client/keeper"
+ clienttypes "github.com/cosmos/ibc-go/v4/modules/core/02-client/types"
+ connectionkeeper "github.com/cosmos/ibc-go/v4/modules/core/03-connection/keeper"
+ connectiontypes "github.com/cosmos/ibc-go/v4/modules/core/03-connection/types"
+ channelkeeper "github.com/cosmos/ibc-go/v4/modules/core/04-channel/keeper"
+ portkeeper "github.com/cosmos/ibc-go/v4/modules/core/05-port/keeper"
+ porttypes "github.com/cosmos/ibc-go/v4/modules/core/05-port/types"
+ "github.com/cosmos/ibc-go/v4/modules/core/types"
)
var _ types.QueryServer = (*Keeper)(nil)
diff --git a/modules/core/keeper/keeper_test.go b/modules/core/keeper/keeper_test.go
index 8e8c1138374..ec808bdc0e0 100644
--- a/modules/core/keeper/keeper_test.go
+++ b/modules/core/keeper/keeper_test.go
@@ -11,10 +11,11 @@ import (
stakingkeeper "github.com/cosmos/cosmos-sdk/x/staking/keeper"
stakingtypes "github.com/cosmos/cosmos-sdk/x/staking/types"
upgradekeeper "github.com/cosmos/cosmos-sdk/x/upgrade/keeper"
- clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types"
- ibchost "github.com/cosmos/ibc-go/v3/modules/core/24-host"
- ibckeeper "github.com/cosmos/ibc-go/v3/modules/core/keeper"
- ibctesting "github.com/cosmos/ibc-go/v3/testing"
+
+ clienttypes "github.com/cosmos/ibc-go/v4/modules/core/02-client/types"
+ ibchost "github.com/cosmos/ibc-go/v4/modules/core/24-host"
+ ibckeeper "github.com/cosmos/ibc-go/v4/modules/core/keeper"
+ ibctesting "github.com/cosmos/ibc-go/v4/testing"
)
type KeeperTestSuite struct {
diff --git a/modules/core/keeper/migrations.go b/modules/core/keeper/migrations.go
index 286ce5b2e97..5a79c8399ec 100644
--- a/modules/core/keeper/migrations.go
+++ b/modules/core/keeper/migrations.go
@@ -3,7 +3,7 @@ package keeper
import (
sdk "github.com/cosmos/cosmos-sdk/types"
- clientkeeper "github.com/cosmos/ibc-go/v3/modules/core/02-client/keeper"
+ clientkeeper "github.com/cosmos/ibc-go/v4/modules/core/02-client/keeper"
)
// Migrator is a struct for handling in-place store migrations.
diff --git a/modules/core/keeper/msg_server.go b/modules/core/keeper/msg_server.go
index 206d148d4ac..b08edaf41a2 100644
--- a/modules/core/keeper/msg_server.go
+++ b/modules/core/keeper/msg_server.go
@@ -9,11 +9,11 @@ import (
sdk "github.com/cosmos/cosmos-sdk/types"
sdkerrors "github.com/cosmos/cosmos-sdk/types/errors"
- clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types"
- connectiontypes "github.com/cosmos/ibc-go/v3/modules/core/03-connection/types"
- channeltypes "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types"
- porttypes "github.com/cosmos/ibc-go/v3/modules/core/05-port/types"
- coretypes "github.com/cosmos/ibc-go/v3/modules/core/types"
+ clienttypes "github.com/cosmos/ibc-go/v4/modules/core/02-client/types"
+ connectiontypes "github.com/cosmos/ibc-go/v4/modules/core/03-connection/types"
+ channeltypes "github.com/cosmos/ibc-go/v4/modules/core/04-channel/types"
+ porttypes "github.com/cosmos/ibc-go/v4/modules/core/05-port/types"
+ coretypes "github.com/cosmos/ibc-go/v4/modules/core/types"
)
var (
@@ -117,7 +117,7 @@ func (k Keeper) ConnectionOpenTry(goCtx context.Context, msg *connectiontypes.Ms
}
if _, err := k.ConnectionKeeper.ConnOpenTry(
- ctx, msg.PreviousConnectionId, msg.Counterparty, msg.DelayPeriod, msg.ClientId, targetClient,
+ ctx, msg.Counterparty, msg.DelayPeriod, msg.ClientId, targetClient,
connectiontypes.ProtoVersionsToExported(msg.CounterpartyVersions), msg.ProofInit, msg.ProofClient, msg.ProofConsensus,
msg.ProofHeight, msg.ConsensusHeight,
); err != nil {
@@ -220,7 +220,7 @@ func (k Keeper) ChannelOpenTry(goCtx context.Context, msg *channeltypes.MsgChann
}
// Perform 04-channel verification
- channelID, cap, err := k.ChannelKeeper.ChanOpenTry(ctx, msg.Channel.Ordering, msg.Channel.ConnectionHops, msg.PortId, msg.PreviousChannelId,
+ channelID, cap, err := k.ChannelKeeper.ChanOpenTry(ctx, msg.Channel.Ordering, msg.Channel.ConnectionHops, msg.PortId,
portCap, msg.Channel.Counterparty, msg.CounterpartyVersion, msg.ProofInit, msg.ProofHeight,
)
if err != nil {
diff --git a/modules/core/keeper/msg_server_test.go b/modules/core/keeper/msg_server_test.go
index 3cb0dc4fca0..3205c218bc7 100644
--- a/modules/core/keeper/msg_server_test.go
+++ b/modules/core/keeper/msg_server_test.go
@@ -4,15 +4,15 @@ import (
sdk "github.com/cosmos/cosmos-sdk/types"
upgradetypes "github.com/cosmos/cosmos-sdk/x/upgrade/types"
- clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types"
- channeltypes "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types"
- commitmenttypes "github.com/cosmos/ibc-go/v3/modules/core/23-commitment/types"
- host "github.com/cosmos/ibc-go/v3/modules/core/24-host"
- "github.com/cosmos/ibc-go/v3/modules/core/exported"
- "github.com/cosmos/ibc-go/v3/modules/core/keeper"
- ibctmtypes "github.com/cosmos/ibc-go/v3/modules/light-clients/07-tendermint/types"
- ibctesting "github.com/cosmos/ibc-go/v3/testing"
- ibcmock "github.com/cosmos/ibc-go/v3/testing/mock"
+ clienttypes "github.com/cosmos/ibc-go/v4/modules/core/02-client/types"
+ channeltypes "github.com/cosmos/ibc-go/v4/modules/core/04-channel/types"
+ commitmenttypes "github.com/cosmos/ibc-go/v4/modules/core/23-commitment/types"
+ host "github.com/cosmos/ibc-go/v4/modules/core/24-host"
+ "github.com/cosmos/ibc-go/v4/modules/core/exported"
+ "github.com/cosmos/ibc-go/v4/modules/core/keeper"
+ ibctmtypes "github.com/cosmos/ibc-go/v4/modules/light-clients/07-tendermint/types"
+ ibctesting "github.com/cosmos/ibc-go/v4/testing"
+ ibcmock "github.com/cosmos/ibc-go/v4/testing/mock"
)
var (
diff --git a/modules/core/legacy/v100/genesis.go b/modules/core/legacy/v100/genesis.go
index a1c85978ba2..78e8f0d6065 100644
--- a/modules/core/legacy/v100/genesis.go
+++ b/modules/core/legacy/v100/genesis.go
@@ -6,11 +6,11 @@ import (
genutiltypes "github.com/cosmos/cosmos-sdk/x/genutil/types"
tmtypes "github.com/tendermint/tendermint/types"
- clientv100 "github.com/cosmos/ibc-go/v3/modules/core/02-client/legacy/v100"
- clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types"
- connectiontypes "github.com/cosmos/ibc-go/v3/modules/core/03-connection/types"
- host "github.com/cosmos/ibc-go/v3/modules/core/24-host"
- "github.com/cosmos/ibc-go/v3/modules/core/types"
+ clientv100 "github.com/cosmos/ibc-go/v4/modules/core/02-client/legacy/v100"
+ clienttypes "github.com/cosmos/ibc-go/v4/modules/core/02-client/types"
+ connectiontypes "github.com/cosmos/ibc-go/v4/modules/core/03-connection/types"
+ host "github.com/cosmos/ibc-go/v4/modules/core/24-host"
+ "github.com/cosmos/ibc-go/v4/modules/core/types"
)
// MigrateGenesis accepts exported v1.0.0 IBC client genesis file and migrates it to:
diff --git a/modules/core/legacy/v100/genesis_test.go b/modules/core/legacy/v100/genesis_test.go
index b0db2e4e1b3..85e239862d9 100644
--- a/modules/core/legacy/v100/genesis_test.go
+++ b/modules/core/legacy/v100/genesis_test.go
@@ -9,15 +9,15 @@ import (
"github.com/stretchr/testify/suite"
tmtypes "github.com/tendermint/tendermint/types"
- ibcclient "github.com/cosmos/ibc-go/v3/modules/core/02-client"
- clientv100 "github.com/cosmos/ibc-go/v3/modules/core/02-client/legacy/v100"
- clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types"
- connectiontypes "github.com/cosmos/ibc-go/v3/modules/core/03-connection/types"
- host "github.com/cosmos/ibc-go/v3/modules/core/24-host"
- "github.com/cosmos/ibc-go/v3/modules/core/legacy/v100"
- "github.com/cosmos/ibc-go/v3/modules/core/types"
- ibctesting "github.com/cosmos/ibc-go/v3/testing"
- "github.com/cosmos/ibc-go/v3/testing/simapp"
+ ibcclient "github.com/cosmos/ibc-go/v4/modules/core/02-client"
+ clientv100 "github.com/cosmos/ibc-go/v4/modules/core/02-client/legacy/v100"
+ clienttypes "github.com/cosmos/ibc-go/v4/modules/core/02-client/types"
+ connectiontypes "github.com/cosmos/ibc-go/v4/modules/core/03-connection/types"
+ host "github.com/cosmos/ibc-go/v4/modules/core/24-host"
+ v100 "github.com/cosmos/ibc-go/v4/modules/core/legacy/v100"
+ "github.com/cosmos/ibc-go/v4/modules/core/types"
+ ibctesting "github.com/cosmos/ibc-go/v4/testing"
+ "github.com/cosmos/ibc-go/v4/testing/simapp"
)
type LegacyTestSuite struct {
diff --git a/modules/core/module.go b/modules/core/module.go
index 0cca3e37f1e..b6285997652 100644
--- a/modules/core/module.go
+++ b/modules/core/module.go
@@ -17,16 +17,16 @@ import (
"github.com/spf13/cobra"
abci "github.com/tendermint/tendermint/abci/types"
- ibcclient "github.com/cosmos/ibc-go/v3/modules/core/02-client"
- clientkeeper "github.com/cosmos/ibc-go/v3/modules/core/02-client/keeper"
- clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types"
- connectiontypes "github.com/cosmos/ibc-go/v3/modules/core/03-connection/types"
- channeltypes "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types"
- host "github.com/cosmos/ibc-go/v3/modules/core/24-host"
- "github.com/cosmos/ibc-go/v3/modules/core/client/cli"
- "github.com/cosmos/ibc-go/v3/modules/core/keeper"
- "github.com/cosmos/ibc-go/v3/modules/core/simulation"
- "github.com/cosmos/ibc-go/v3/modules/core/types"
+ ibcclient "github.com/cosmos/ibc-go/v4/modules/core/02-client"
+ clientkeeper "github.com/cosmos/ibc-go/v4/modules/core/02-client/keeper"
+ clienttypes "github.com/cosmos/ibc-go/v4/modules/core/02-client/types"
+ connectiontypes "github.com/cosmos/ibc-go/v4/modules/core/03-connection/types"
+ channeltypes "github.com/cosmos/ibc-go/v4/modules/core/04-channel/types"
+ host "github.com/cosmos/ibc-go/v4/modules/core/24-host"
+ "github.com/cosmos/ibc-go/v4/modules/core/client/cli"
+ "github.com/cosmos/ibc-go/v4/modules/core/keeper"
+ "github.com/cosmos/ibc-go/v4/modules/core/simulation"
+ "github.com/cosmos/ibc-go/v4/modules/core/types"
)
var (
diff --git a/modules/core/simulation/decoder.go b/modules/core/simulation/decoder.go
index 16869f1b061..fc2cc40bf00 100644
--- a/modules/core/simulation/decoder.go
+++ b/modules/core/simulation/decoder.go
@@ -5,11 +5,11 @@ import (
"github.com/cosmos/cosmos-sdk/types/kv"
- clientsim "github.com/cosmos/ibc-go/v3/modules/core/02-client/simulation"
- connectionsim "github.com/cosmos/ibc-go/v3/modules/core/03-connection/simulation"
- channelsim "github.com/cosmos/ibc-go/v3/modules/core/04-channel/simulation"
- host "github.com/cosmos/ibc-go/v3/modules/core/24-host"
- "github.com/cosmos/ibc-go/v3/modules/core/keeper"
+ clientsim "github.com/cosmos/ibc-go/v4/modules/core/02-client/simulation"
+ connectionsim "github.com/cosmos/ibc-go/v4/modules/core/03-connection/simulation"
+ channelsim "github.com/cosmos/ibc-go/v4/modules/core/04-channel/simulation"
+ host "github.com/cosmos/ibc-go/v4/modules/core/24-host"
+ "github.com/cosmos/ibc-go/v4/modules/core/keeper"
)
// NewDecodeStore returns a decoder function closure that unmarshals the KVPair's
diff --git a/modules/core/simulation/decoder_test.go b/modules/core/simulation/decoder_test.go
index 6639c96b8e4..f16d824c579 100644
--- a/modules/core/simulation/decoder_test.go
+++ b/modules/core/simulation/decoder_test.go
@@ -7,13 +7,13 @@ import (
"github.com/cosmos/cosmos-sdk/types/kv"
"github.com/stretchr/testify/require"
- clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types"
- connectiontypes "github.com/cosmos/ibc-go/v3/modules/core/03-connection/types"
- channeltypes "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types"
- host "github.com/cosmos/ibc-go/v3/modules/core/24-host"
- "github.com/cosmos/ibc-go/v3/modules/core/simulation"
- ibctmtypes "github.com/cosmos/ibc-go/v3/modules/light-clients/07-tendermint/types"
- "github.com/cosmos/ibc-go/v3/testing/simapp"
+ clienttypes "github.com/cosmos/ibc-go/v4/modules/core/02-client/types"
+ connectiontypes "github.com/cosmos/ibc-go/v4/modules/core/03-connection/types"
+ channeltypes "github.com/cosmos/ibc-go/v4/modules/core/04-channel/types"
+ host "github.com/cosmos/ibc-go/v4/modules/core/24-host"
+ "github.com/cosmos/ibc-go/v4/modules/core/simulation"
+ ibctmtypes "github.com/cosmos/ibc-go/v4/modules/light-clients/07-tendermint/types"
+ "github.com/cosmos/ibc-go/v4/testing/simapp"
)
func TestDecodeStore(t *testing.T) {
diff --git a/modules/core/simulation/genesis.go b/modules/core/simulation/genesis.go
index e6decacb26b..9f5e0bc7f8d 100644
--- a/modules/core/simulation/genesis.go
+++ b/modules/core/simulation/genesis.go
@@ -9,14 +9,14 @@ import (
"github.com/cosmos/cosmos-sdk/types/module"
- clientsims "github.com/cosmos/ibc-go/v3/modules/core/02-client/simulation"
- clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types"
- connectionsims "github.com/cosmos/ibc-go/v3/modules/core/03-connection/simulation"
- connectiontypes "github.com/cosmos/ibc-go/v3/modules/core/03-connection/types"
- channelsims "github.com/cosmos/ibc-go/v3/modules/core/04-channel/simulation"
- channeltypes "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types"
- host "github.com/cosmos/ibc-go/v3/modules/core/24-host"
- "github.com/cosmos/ibc-go/v3/modules/core/types"
+ clientsims "github.com/cosmos/ibc-go/v4/modules/core/02-client/simulation"
+ clienttypes "github.com/cosmos/ibc-go/v4/modules/core/02-client/types"
+ connectionsims "github.com/cosmos/ibc-go/v4/modules/core/03-connection/simulation"
+ connectiontypes "github.com/cosmos/ibc-go/v4/modules/core/03-connection/types"
+ channelsims "github.com/cosmos/ibc-go/v4/modules/core/04-channel/simulation"
+ channeltypes "github.com/cosmos/ibc-go/v4/modules/core/04-channel/types"
+ host "github.com/cosmos/ibc-go/v4/modules/core/24-host"
+ "github.com/cosmos/ibc-go/v4/modules/core/types"
)
// Simulation parameter constants
diff --git a/modules/core/simulation/genesis_test.go b/modules/core/simulation/genesis_test.go
index 6010f74c20f..20946fd5fd3 100644
--- a/modules/core/simulation/genesis_test.go
+++ b/modules/core/simulation/genesis_test.go
@@ -11,9 +11,9 @@ import (
simtypes "github.com/cosmos/cosmos-sdk/types/simulation"
"github.com/stretchr/testify/require"
- host "github.com/cosmos/ibc-go/v3/modules/core/24-host"
- "github.com/cosmos/ibc-go/v3/modules/core/simulation"
- "github.com/cosmos/ibc-go/v3/modules/core/types"
+ host "github.com/cosmos/ibc-go/v4/modules/core/24-host"
+ "github.com/cosmos/ibc-go/v4/modules/core/simulation"
+ "github.com/cosmos/ibc-go/v4/modules/core/types"
)
// TestRandomizedGenState tests the normal scenario of applying RandomizedGenState.
diff --git a/modules/core/types/codec.go b/modules/core/types/codec.go
index 5caf105514e..c879aa3234e 100644
--- a/modules/core/types/codec.go
+++ b/modules/core/types/codec.go
@@ -3,13 +3,13 @@ package types
import (
codectypes "github.com/cosmos/cosmos-sdk/codec/types"
- clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types"
- connectiontypes "github.com/cosmos/ibc-go/v3/modules/core/03-connection/types"
- channeltypes "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types"
- commitmenttypes "github.com/cosmos/ibc-go/v3/modules/core/23-commitment/types"
- solomachinetypes "github.com/cosmos/ibc-go/v3/modules/light-clients/06-solomachine/types"
- ibctmtypes "github.com/cosmos/ibc-go/v3/modules/light-clients/07-tendermint/types"
- localhosttypes "github.com/cosmos/ibc-go/v3/modules/light-clients/09-localhost/types"
+ clienttypes "github.com/cosmos/ibc-go/v4/modules/core/02-client/types"
+ connectiontypes "github.com/cosmos/ibc-go/v4/modules/core/03-connection/types"
+ channeltypes "github.com/cosmos/ibc-go/v4/modules/core/04-channel/types"
+ commitmenttypes "github.com/cosmos/ibc-go/v4/modules/core/23-commitment/types"
+ solomachinetypes "github.com/cosmos/ibc-go/v4/modules/light-clients/06-solomachine/types"
+ ibctmtypes "github.com/cosmos/ibc-go/v4/modules/light-clients/07-tendermint/types"
+ localhosttypes "github.com/cosmos/ibc-go/v4/modules/light-clients/09-localhost/types"
)
// RegisterInterfaces registers x/ibc interfaces into protobuf Any.
diff --git a/modules/core/types/genesis.go b/modules/core/types/genesis.go
index 6b9304d9b8e..36a346cafff 100644
--- a/modules/core/types/genesis.go
+++ b/modules/core/types/genesis.go
@@ -3,9 +3,9 @@ package types
import (
codectypes "github.com/cosmos/cosmos-sdk/codec/types"
- clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types"
- connectiontypes "github.com/cosmos/ibc-go/v3/modules/core/03-connection/types"
- channeltypes "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types"
+ clienttypes "github.com/cosmos/ibc-go/v4/modules/core/02-client/types"
+ connectiontypes "github.com/cosmos/ibc-go/v4/modules/core/03-connection/types"
+ channeltypes "github.com/cosmos/ibc-go/v4/modules/core/04-channel/types"
)
var _ codectypes.UnpackInterfacesMessage = GenesisState{}
diff --git a/modules/core/types/genesis.pb.go b/modules/core/types/genesis.pb.go
index 11fe53adab2..6072e44d1bd 100644
--- a/modules/core/types/genesis.pb.go
+++ b/modules/core/types/genesis.pb.go
@@ -5,9 +5,9 @@ package types
import (
fmt "fmt"
- types "github.com/cosmos/ibc-go/v3/modules/core/02-client/types"
- types1 "github.com/cosmos/ibc-go/v3/modules/core/03-connection/types"
- types2 "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types"
+ types "github.com/cosmos/ibc-go/v4/modules/core/02-client/types"
+ types1 "github.com/cosmos/ibc-go/v4/modules/core/03-connection/types"
+ types2 "github.com/cosmos/ibc-go/v4/modules/core/04-channel/types"
_ "github.com/gogo/protobuf/gogoproto"
proto "github.com/gogo/protobuf/proto"
io "io"
@@ -97,28 +97,28 @@ func init() {
func init() { proto.RegisterFile("ibc/core/types/v1/genesis.proto", fileDescriptor_b9a49c5663e6fc59) }
var fileDescriptor_b9a49c5663e6fc59 = []byte{
- // 323 bytes of a gzipped FileDescriptorProto
+ // 324 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x64, 0x92, 0xb1, 0x4e, 0xeb, 0x30,
0x14, 0x86, 0x93, 0x5e, 0xe9, 0x0e, 0x01, 0x8a, 0x1a, 0x01, 0x82, 0x4a, 0xb8, 0x6d, 0xd4, 0x81,
- 0x05, 0x5b, 0xa5, 0x1b, 0x63, 0x17, 0x98, 0xc3, 0xc6, 0x82, 0x12, 0x63, 0x52, 0xa3, 0xc4, 0xa7,
- 0xaa, 0xdd, 0x48, 0x7d, 0x0b, 0x1e, 0xab, 0x63, 0x47, 0xc4, 0x50, 0xa1, 0xe4, 0x0d, 0x78, 0x02,
- 0xd4, 0xd8, 0x24, 0xa9, 0xbc, 0x45, 0xff, 0xf9, 0xce, 0xff, 0x1d, 0x25, 0xf1, 0x06, 0x3c, 0xa6,
- 0x84, 0xc2, 0x92, 0x11, 0xb5, 0x5e, 0x30, 0x49, 0xf2, 0x09, 0x49, 0x98, 0x60, 0x92, 0x4b, 0xbc,
- 0x58, 0x82, 0x02, 0xbf, 0xc7, 0x63, 0x8a, 0xf7, 0x00, 0xae, 0x00, 0x9c, 0x4f, 0xfa, 0x67, 0x09,
- 0x24, 0x50, 0x4d, 0xc9, 0xfe, 0x49, 0x83, 0xfd, 0x61, 0xdd, 0x44, 0x53, 0xce, 0x84, 0xb2, 0xaa,
- 0xfa, 0xe3, 0x86, 0x00, 0x21, 0x18, 0x55, 0x1c, 0x84, 0x4d, 0x8d, 0x1a, 0x6a, 0x1e, 0x09, 0xc1,
- 0x52, 0x0b, 0x09, 0xbe, 0x3a, 0xde, 0xf1, 0x83, 0x4e, 0x9e, 0x54, 0xa4, 0x98, 0xff, 0xe6, 0x75,
- 0xb5, 0xf4, 0xc5, 0x80, 0x97, 0xee, 0xd0, 0xbd, 0x39, 0xba, 0x1b, 0xe2, 0xfa, 0x7a, 0x3d, 0xc7,
- 0xf9, 0x04, 0xb7, 0x37, 0x67, 0xd7, 0x9b, 0xdd, 0xc0, 0xf9, 0xd9, 0x0d, 0xce, 0xd7, 0x51, 0x96,
- 0xde, 0x07, 0x87, 0x2d, 0x41, 0x78, 0xa2, 0x03, 0xb3, 0xe2, 0xe7, 0x9e, 0xdf, 0x9c, 0x5e, 0xbb,
- 0x3a, 0x95, 0x6b, 0xdc, 0x72, 0xd5, 0x8c, 0xe5, 0x1b, 0x19, 0xdf, 0x95, 0xf1, 0x59, 0x6d, 0x41,
- 0xd8, 0x6b, 0xc2, 0x3f, 0xef, 0xbb, 0x77, 0x6a, 0x5e, 0x46, 0x2d, 0xfd, 0x57, 0x49, 0x47, 0x2d,
- 0xa9, 0x06, 0x2c, 0x23, 0x32, 0xc6, 0x0b, 0x63, 0x3c, 0xec, 0x09, 0xc2, 0xae, 0x49, 0xcc, 0xd2,
- 0xec, 0x71, 0x53, 0x20, 0x77, 0x5b, 0x20, 0xf7, 0xbb, 0x40, 0xee, 0x47, 0x89, 0x9c, 0x6d, 0x89,
- 0x9c, 0xcf, 0x12, 0x39, 0xcf, 0x38, 0xe1, 0x6a, 0xbe, 0x8a, 0x31, 0x85, 0x8c, 0x50, 0x90, 0x19,
- 0x48, 0xc2, 0x63, 0x7a, 0x9b, 0x00, 0xc9, 0xa7, 0x24, 0x83, 0xd7, 0x55, 0xca, 0x64, 0xeb, 0x5f,
- 0x8a, 0xff, 0x57, 0x5f, 0x6b, 0xfa, 0x1b, 0x00, 0x00, 0xff, 0xff, 0x81, 0x4d, 0x5d, 0x1d, 0x64,
- 0x02, 0x00, 0x00,
+ 0x05, 0x5b, 0x05, 0x26, 0xc6, 0x2e, 0x30, 0x87, 0x8d, 0x05, 0x25, 0xc6, 0xa4, 0x46, 0x89, 0x4f,
+ 0x55, 0xbb, 0x91, 0xfa, 0x16, 0x3c, 0x56, 0xc7, 0x8e, 0x88, 0xa1, 0x42, 0xc9, 0x1b, 0xf0, 0x04,
+ 0xa8, 0xb1, 0x49, 0x52, 0x79, 0x8b, 0xfe, 0xf3, 0x9d, 0xff, 0x3b, 0x4a, 0xe2, 0x0d, 0x78, 0x4c,
+ 0x09, 0x85, 0x05, 0x23, 0x6a, 0x35, 0x67, 0x92, 0xe4, 0x13, 0x92, 0x30, 0xc1, 0x24, 0x97, 0x78,
+ 0xbe, 0x00, 0x05, 0x7e, 0x8f, 0xc7, 0x14, 0xef, 0x00, 0x5c, 0x01, 0x38, 0x9f, 0xf4, 0x4f, 0x12,
+ 0x48, 0xa0, 0x9a, 0x92, 0xdd, 0x93, 0x06, 0xfb, 0xc3, 0xba, 0x89, 0xa6, 0x9c, 0x09, 0x65, 0x55,
+ 0xf5, 0xc7, 0x0d, 0x01, 0x42, 0x30, 0xaa, 0x38, 0x08, 0x9b, 0x1a, 0x35, 0xd4, 0x2c, 0x12, 0x82,
+ 0xa5, 0x16, 0x12, 0x7c, 0x75, 0xbc, 0xc3, 0x07, 0x9d, 0x3c, 0xa9, 0x48, 0x31, 0xff, 0xcd, 0xeb,
+ 0x6a, 0xe9, 0x8b, 0x01, 0xcf, 0xdd, 0xa1, 0x7b, 0x75, 0x70, 0x33, 0xc4, 0xf5, 0xf5, 0x7a, 0x8e,
+ 0xf3, 0x09, 0x6e, 0x6f, 0x4e, 0x2f, 0xd7, 0xdb, 0x81, 0xf3, 0xb3, 0x1d, 0x9c, 0xae, 0xa2, 0x2c,
+ 0xbd, 0x0f, 0xf6, 0x5b, 0x82, 0xf0, 0x48, 0x07, 0x66, 0xc5, 0xcf, 0x3d, 0xbf, 0x39, 0xbd, 0x76,
+ 0x75, 0x2a, 0xd7, 0xb8, 0xe5, 0xaa, 0x19, 0xcb, 0x37, 0x32, 0xbe, 0x0b, 0xe3, 0xb3, 0xda, 0x82,
+ 0xb0, 0xd7, 0x84, 0x7f, 0xde, 0x77, 0xef, 0xd8, 0xbc, 0x8c, 0x5a, 0xfa, 0xaf, 0x92, 0x8e, 0x5a,
+ 0x52, 0x0d, 0x58, 0x46, 0x64, 0x8c, 0x67, 0xc6, 0xb8, 0xdf, 0x13, 0x84, 0x5d, 0x93, 0x98, 0xa5,
+ 0xe9, 0xe3, 0xba, 0x40, 0xee, 0xa6, 0x40, 0xee, 0x77, 0x81, 0xdc, 0x8f, 0x12, 0x39, 0x9b, 0x12,
+ 0x39, 0x9f, 0x25, 0x72, 0x9e, 0x71, 0xc2, 0xd5, 0x6c, 0x19, 0x63, 0x0a, 0x19, 0xa1, 0x20, 0x33,
+ 0x90, 0x84, 0xc7, 0xf4, 0x3a, 0x01, 0x92, 0xdf, 0x91, 0x0c, 0x5e, 0x97, 0x29, 0x93, 0xad, 0x7f,
+ 0x29, 0xfe, 0x5f, 0x7d, 0xad, 0xdb, 0xdf, 0x00, 0x00, 0x00, 0xff, 0xff, 0xd2, 0xbe, 0x54, 0x19,
+ 0x64, 0x02, 0x00, 0x00,
}
func (m *GenesisState) Marshal() (dAtA []byte, err error) {
diff --git a/modules/core/types/query.go b/modules/core/types/query.go
index ef9d0589448..6ebeb77ba5e 100644
--- a/modules/core/types/query.go
+++ b/modules/core/types/query.go
@@ -3,12 +3,12 @@ package types
import (
"github.com/gogo/protobuf/grpc"
- client "github.com/cosmos/ibc-go/v3/modules/core/02-client"
- clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types"
- connection "github.com/cosmos/ibc-go/v3/modules/core/03-connection"
- connectiontypes "github.com/cosmos/ibc-go/v3/modules/core/03-connection/types"
- channel "github.com/cosmos/ibc-go/v3/modules/core/04-channel"
- channeltypes "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types"
+ client "github.com/cosmos/ibc-go/v4/modules/core/02-client"
+ clienttypes "github.com/cosmos/ibc-go/v4/modules/core/02-client/types"
+ connection "github.com/cosmos/ibc-go/v4/modules/core/03-connection"
+ connectiontypes "github.com/cosmos/ibc-go/v4/modules/core/03-connection/types"
+ channel "github.com/cosmos/ibc-go/v4/modules/core/04-channel"
+ channeltypes "github.com/cosmos/ibc-go/v4/modules/core/04-channel/types"
)
// QueryServer defines the IBC interfaces that the gRPC query server must implement
diff --git a/modules/light-clients/06-solomachine/module.go b/modules/light-clients/06-solomachine/module.go
index d607282725a..60cfedb88f0 100644
--- a/modules/light-clients/06-solomachine/module.go
+++ b/modules/light-clients/06-solomachine/module.go
@@ -1,7 +1,7 @@
package solomachine
import (
- "github.com/cosmos/ibc-go/v3/modules/light-clients/06-solomachine/types"
+ "github.com/cosmos/ibc-go/v4/modules/light-clients/06-solomachine/types"
)
// Name returns the solo machine client name.
diff --git a/modules/light-clients/06-solomachine/types/client_state.go b/modules/light-clients/06-solomachine/types/client_state.go
index d92f69b98e4..aa43e77e56d 100644
--- a/modules/light-clients/06-solomachine/types/client_state.go
+++ b/modules/light-clients/06-solomachine/types/client_state.go
@@ -9,10 +9,10 @@ import (
sdkerrors "github.com/cosmos/cosmos-sdk/types/errors"
"github.com/cosmos/cosmos-sdk/types/tx/signing"
- clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types"
- commitmenttypes "github.com/cosmos/ibc-go/v3/modules/core/23-commitment/types"
- host "github.com/cosmos/ibc-go/v3/modules/core/24-host"
- "github.com/cosmos/ibc-go/v3/modules/core/exported"
+ clienttypes "github.com/cosmos/ibc-go/v4/modules/core/02-client/types"
+ commitmenttypes "github.com/cosmos/ibc-go/v4/modules/core/23-commitment/types"
+ host "github.com/cosmos/ibc-go/v4/modules/core/24-host"
+ "github.com/cosmos/ibc-go/v4/modules/core/exported"
)
var _ exported.ClientState = (*ClientState)(nil)
diff --git a/modules/light-clients/06-solomachine/types/client_state_test.go b/modules/light-clients/06-solomachine/types/client_state_test.go
index 16b62b2722b..7ebd9bec925 100644
--- a/modules/light-clients/06-solomachine/types/client_state_test.go
+++ b/modules/light-clients/06-solomachine/types/client_state_test.go
@@ -1,14 +1,14 @@
package types_test
import (
- clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types"
- connectiontypes "github.com/cosmos/ibc-go/v3/modules/core/03-connection/types"
- channeltypes "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types"
- commitmenttypes "github.com/cosmos/ibc-go/v3/modules/core/23-commitment/types"
- "github.com/cosmos/ibc-go/v3/modules/core/exported"
- "github.com/cosmos/ibc-go/v3/modules/light-clients/06-solomachine/types"
- ibctmtypes "github.com/cosmos/ibc-go/v3/modules/light-clients/07-tendermint/types"
- ibctesting "github.com/cosmos/ibc-go/v3/testing"
+ clienttypes "github.com/cosmos/ibc-go/v4/modules/core/02-client/types"
+ connectiontypes "github.com/cosmos/ibc-go/v4/modules/core/03-connection/types"
+ channeltypes "github.com/cosmos/ibc-go/v4/modules/core/04-channel/types"
+ commitmenttypes "github.com/cosmos/ibc-go/v4/modules/core/23-commitment/types"
+ "github.com/cosmos/ibc-go/v4/modules/core/exported"
+ "github.com/cosmos/ibc-go/v4/modules/light-clients/06-solomachine/types"
+ ibctmtypes "github.com/cosmos/ibc-go/v4/modules/light-clients/07-tendermint/types"
+ ibctesting "github.com/cosmos/ibc-go/v4/testing"
)
const (
diff --git a/modules/light-clients/06-solomachine/types/codec.go b/modules/light-clients/06-solomachine/types/codec.go
index 1db36165157..2fc3c930f5b 100644
--- a/modules/light-clients/06-solomachine/types/codec.go
+++ b/modules/light-clients/06-solomachine/types/codec.go
@@ -6,8 +6,8 @@ import (
sdkerrors "github.com/cosmos/cosmos-sdk/types/errors"
"github.com/cosmos/cosmos-sdk/types/tx/signing"
- clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types"
- "github.com/cosmos/ibc-go/v3/modules/core/exported"
+ clienttypes "github.com/cosmos/ibc-go/v4/modules/core/02-client/types"
+ "github.com/cosmos/ibc-go/v4/modules/core/exported"
)
// RegisterInterfaces register the ibc channel submodule interfaces to protobuf
diff --git a/modules/light-clients/06-solomachine/types/codec_test.go b/modules/light-clients/06-solomachine/types/codec_test.go
index 0ed8760daa3..ed2afdafc41 100644
--- a/modules/light-clients/06-solomachine/types/codec_test.go
+++ b/modules/light-clients/06-solomachine/types/codec_test.go
@@ -1,11 +1,11 @@
package types_test
import (
- clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types"
- connectiontypes "github.com/cosmos/ibc-go/v3/modules/core/03-connection/types"
- channeltypes "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types"
- "github.com/cosmos/ibc-go/v3/modules/light-clients/06-solomachine/types"
- ibctesting "github.com/cosmos/ibc-go/v3/testing"
+ clienttypes "github.com/cosmos/ibc-go/v4/modules/core/02-client/types"
+ connectiontypes "github.com/cosmos/ibc-go/v4/modules/core/03-connection/types"
+ channeltypes "github.com/cosmos/ibc-go/v4/modules/core/04-channel/types"
+ "github.com/cosmos/ibc-go/v4/modules/light-clients/06-solomachine/types"
+ ibctesting "github.com/cosmos/ibc-go/v4/testing"
)
func (suite SoloMachineTestSuite) TestUnmarshalDataByType() {
diff --git a/modules/light-clients/06-solomachine/types/consensus_state.go b/modules/light-clients/06-solomachine/types/consensus_state.go
index 3012f91a567..e6b53fced72 100644
--- a/modules/light-clients/06-solomachine/types/consensus_state.go
+++ b/modules/light-clients/06-solomachine/types/consensus_state.go
@@ -6,8 +6,8 @@ import (
cryptotypes "github.com/cosmos/cosmos-sdk/crypto/types"
sdkerrors "github.com/cosmos/cosmos-sdk/types/errors"
- clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types"
- "github.com/cosmos/ibc-go/v3/modules/core/exported"
+ clienttypes "github.com/cosmos/ibc-go/v4/modules/core/02-client/types"
+ "github.com/cosmos/ibc-go/v4/modules/core/exported"
)
var _ exported.ConsensusState = &ConsensusState{}
diff --git a/modules/light-clients/06-solomachine/types/consensus_state_test.go b/modules/light-clients/06-solomachine/types/consensus_state_test.go
index 2bb1ab5a456..29ea918a00b 100644
--- a/modules/light-clients/06-solomachine/types/consensus_state_test.go
+++ b/modules/light-clients/06-solomachine/types/consensus_state_test.go
@@ -1,9 +1,9 @@
package types_test
import (
- "github.com/cosmos/ibc-go/v3/modules/core/exported"
- "github.com/cosmos/ibc-go/v3/modules/light-clients/06-solomachine/types"
- ibctesting "github.com/cosmos/ibc-go/v3/testing"
+ "github.com/cosmos/ibc-go/v4/modules/core/exported"
+ "github.com/cosmos/ibc-go/v4/modules/light-clients/06-solomachine/types"
+ ibctesting "github.com/cosmos/ibc-go/v4/testing"
)
func (suite *SoloMachineTestSuite) TestConsensusState() {
diff --git a/modules/light-clients/06-solomachine/types/header.go b/modules/light-clients/06-solomachine/types/header.go
index 7bcfb9937c5..2f9ab4147fb 100644
--- a/modules/light-clients/06-solomachine/types/header.go
+++ b/modules/light-clients/06-solomachine/types/header.go
@@ -6,8 +6,8 @@ import (
cryptotypes "github.com/cosmos/cosmos-sdk/crypto/types"
sdkerrors "github.com/cosmos/cosmos-sdk/types/errors"
- clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types"
- "github.com/cosmos/ibc-go/v3/modules/core/exported"
+ clienttypes "github.com/cosmos/ibc-go/v4/modules/core/02-client/types"
+ "github.com/cosmos/ibc-go/v4/modules/core/exported"
)
var _ exported.Header = &Header{}
diff --git a/modules/light-clients/06-solomachine/types/header_test.go b/modules/light-clients/06-solomachine/types/header_test.go
index 48ce858c76a..607306f40c3 100644
--- a/modules/light-clients/06-solomachine/types/header_test.go
+++ b/modules/light-clients/06-solomachine/types/header_test.go
@@ -1,9 +1,9 @@
package types_test
import (
- "github.com/cosmos/ibc-go/v3/modules/core/exported"
- "github.com/cosmos/ibc-go/v3/modules/light-clients/06-solomachine/types"
- ibctesting "github.com/cosmos/ibc-go/v3/testing"
+ "github.com/cosmos/ibc-go/v4/modules/core/exported"
+ "github.com/cosmos/ibc-go/v4/modules/light-clients/06-solomachine/types"
+ ibctesting "github.com/cosmos/ibc-go/v4/testing"
)
func (suite *SoloMachineTestSuite) TestHeaderValidateBasic() {
diff --git a/modules/light-clients/06-solomachine/types/misbehaviour.go b/modules/light-clients/06-solomachine/types/misbehaviour.go
index f5df3e1bad9..6c002c45046 100644
--- a/modules/light-clients/06-solomachine/types/misbehaviour.go
+++ b/modules/light-clients/06-solomachine/types/misbehaviour.go
@@ -5,9 +5,9 @@ import (
sdkerrors "github.com/cosmos/cosmos-sdk/types/errors"
- clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types"
- host "github.com/cosmos/ibc-go/v3/modules/core/24-host"
- "github.com/cosmos/ibc-go/v3/modules/core/exported"
+ clienttypes "github.com/cosmos/ibc-go/v4/modules/core/02-client/types"
+ host "github.com/cosmos/ibc-go/v4/modules/core/24-host"
+ "github.com/cosmos/ibc-go/v4/modules/core/exported"
)
var _ exported.Misbehaviour = &Misbehaviour{}
diff --git a/modules/light-clients/06-solomachine/types/misbehaviour_handle.go b/modules/light-clients/06-solomachine/types/misbehaviour_handle.go
index fb3dc573c3e..339ec884f1b 100644
--- a/modules/light-clients/06-solomachine/types/misbehaviour_handle.go
+++ b/modules/light-clients/06-solomachine/types/misbehaviour_handle.go
@@ -5,8 +5,8 @@ import (
sdk "github.com/cosmos/cosmos-sdk/types"
sdkerrors "github.com/cosmos/cosmos-sdk/types/errors"
- clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types"
- "github.com/cosmos/ibc-go/v3/modules/core/exported"
+ clienttypes "github.com/cosmos/ibc-go/v4/modules/core/02-client/types"
+ "github.com/cosmos/ibc-go/v4/modules/core/exported"
)
// CheckMisbehaviourAndUpdateState determines whether or not the currently registered
diff --git a/modules/light-clients/06-solomachine/types/misbehaviour_handle_test.go b/modules/light-clients/06-solomachine/types/misbehaviour_handle_test.go
index 7aa19617a76..d2718f75689 100644
--- a/modules/light-clients/06-solomachine/types/misbehaviour_handle_test.go
+++ b/modules/light-clients/06-solomachine/types/misbehaviour_handle_test.go
@@ -1,10 +1,10 @@
package types_test
import (
- "github.com/cosmos/ibc-go/v3/modules/core/exported"
- "github.com/cosmos/ibc-go/v3/modules/light-clients/06-solomachine/types"
- ibctmtypes "github.com/cosmos/ibc-go/v3/modules/light-clients/07-tendermint/types"
- ibctesting "github.com/cosmos/ibc-go/v3/testing"
+ "github.com/cosmos/ibc-go/v4/modules/core/exported"
+ "github.com/cosmos/ibc-go/v4/modules/light-clients/06-solomachine/types"
+ ibctmtypes "github.com/cosmos/ibc-go/v4/modules/light-clients/07-tendermint/types"
+ ibctesting "github.com/cosmos/ibc-go/v4/testing"
)
func (suite *SoloMachineTestSuite) TestCheckMisbehaviourAndUpdateState() {
diff --git a/modules/light-clients/06-solomachine/types/misbehaviour_test.go b/modules/light-clients/06-solomachine/types/misbehaviour_test.go
index c304fc576ed..47724375494 100644
--- a/modules/light-clients/06-solomachine/types/misbehaviour_test.go
+++ b/modules/light-clients/06-solomachine/types/misbehaviour_test.go
@@ -1,9 +1,9 @@
package types_test
import (
- "github.com/cosmos/ibc-go/v3/modules/core/exported"
- "github.com/cosmos/ibc-go/v3/modules/light-clients/06-solomachine/types"
- ibctesting "github.com/cosmos/ibc-go/v3/testing"
+ "github.com/cosmos/ibc-go/v4/modules/core/exported"
+ "github.com/cosmos/ibc-go/v4/modules/light-clients/06-solomachine/types"
+ ibctesting "github.com/cosmos/ibc-go/v4/testing"
)
func (suite *SoloMachineTestSuite) TestMisbehaviour() {
diff --git a/modules/light-clients/06-solomachine/types/proof.go b/modules/light-clients/06-solomachine/types/proof.go
index 75a58cc3101..7389121488f 100644
--- a/modules/light-clients/06-solomachine/types/proof.go
+++ b/modules/light-clients/06-solomachine/types/proof.go
@@ -7,11 +7,11 @@ import (
sdkerrors "github.com/cosmos/cosmos-sdk/types/errors"
"github.com/cosmos/cosmos-sdk/types/tx/signing"
- clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types"
- connectiontypes "github.com/cosmos/ibc-go/v3/modules/core/03-connection/types"
- channeltypes "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types"
- commitmenttypes "github.com/cosmos/ibc-go/v3/modules/core/23-commitment/types"
- "github.com/cosmos/ibc-go/v3/modules/core/exported"
+ clienttypes "github.com/cosmos/ibc-go/v4/modules/core/02-client/types"
+ connectiontypes "github.com/cosmos/ibc-go/v4/modules/core/03-connection/types"
+ channeltypes "github.com/cosmos/ibc-go/v4/modules/core/04-channel/types"
+ commitmenttypes "github.com/cosmos/ibc-go/v4/modules/core/23-commitment/types"
+ "github.com/cosmos/ibc-go/v4/modules/core/exported"
)
// VerifySignature verifies if the the provided public key generated the signature
diff --git a/modules/light-clients/06-solomachine/types/proof_test.go b/modules/light-clients/06-solomachine/types/proof_test.go
index 65e88aa3bde..f7f386e6339 100644
--- a/modules/light-clients/06-solomachine/types/proof_test.go
+++ b/modules/light-clients/06-solomachine/types/proof_test.go
@@ -4,9 +4,9 @@ import (
cryptotypes "github.com/cosmos/cosmos-sdk/crypto/types"
"github.com/cosmos/cosmos-sdk/types/tx/signing"
- "github.com/cosmos/ibc-go/v3/modules/light-clients/06-solomachine/types"
- solomachinetypes "github.com/cosmos/ibc-go/v3/modules/light-clients/06-solomachine/types"
- ibctesting "github.com/cosmos/ibc-go/v3/testing"
+ "github.com/cosmos/ibc-go/v4/modules/light-clients/06-solomachine/types"
+ solomachinetypes "github.com/cosmos/ibc-go/v4/modules/light-clients/06-solomachine/types"
+ ibctesting "github.com/cosmos/ibc-go/v4/testing"
)
func (suite *SoloMachineTestSuite) TestVerifySignature() {
diff --git a/modules/light-clients/06-solomachine/types/proposal_handle.go b/modules/light-clients/06-solomachine/types/proposal_handle.go
index c7d29faedc9..c4316f982a8 100644
--- a/modules/light-clients/06-solomachine/types/proposal_handle.go
+++ b/modules/light-clients/06-solomachine/types/proposal_handle.go
@@ -7,8 +7,8 @@ import (
sdk "github.com/cosmos/cosmos-sdk/types"
sdkerrors "github.com/cosmos/cosmos-sdk/types/errors"
- clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types"
- "github.com/cosmos/ibc-go/v3/modules/core/exported"
+ clienttypes "github.com/cosmos/ibc-go/v4/modules/core/02-client/types"
+ "github.com/cosmos/ibc-go/v4/modules/core/exported"
)
// CheckSubstituteAndUpdateState verifies that the subject is allowed to be updated by
diff --git a/modules/light-clients/06-solomachine/types/proposal_handle_test.go b/modules/light-clients/06-solomachine/types/proposal_handle_test.go
index f52bbffde44..b283cdbfdd9 100644
--- a/modules/light-clients/06-solomachine/types/proposal_handle_test.go
+++ b/modules/light-clients/06-solomachine/types/proposal_handle_test.go
@@ -1,10 +1,10 @@
package types_test
import (
- "github.com/cosmos/ibc-go/v3/modules/core/exported"
- "github.com/cosmos/ibc-go/v3/modules/light-clients/06-solomachine/types"
- ibctmtypes "github.com/cosmos/ibc-go/v3/modules/light-clients/07-tendermint/types"
- ibctesting "github.com/cosmos/ibc-go/v3/testing"
+ "github.com/cosmos/ibc-go/v4/modules/core/exported"
+ "github.com/cosmos/ibc-go/v4/modules/light-clients/06-solomachine/types"
+ ibctmtypes "github.com/cosmos/ibc-go/v4/modules/light-clients/07-tendermint/types"
+ ibctesting "github.com/cosmos/ibc-go/v4/testing"
)
func (suite *SoloMachineTestSuite) TestCheckSubstituteAndUpdateState() {
diff --git a/modules/light-clients/06-solomachine/types/solomachine.go b/modules/light-clients/06-solomachine/types/solomachine.go
index 90eff77d200..0ce953e12c8 100644
--- a/modules/light-clients/06-solomachine/types/solomachine.go
+++ b/modules/light-clients/06-solomachine/types/solomachine.go
@@ -4,7 +4,7 @@ import (
codectypes "github.com/cosmos/cosmos-sdk/codec/types"
cryptotypes "github.com/cosmos/cosmos-sdk/crypto/types"
- "github.com/cosmos/ibc-go/v3/modules/core/exported"
+ "github.com/cosmos/ibc-go/v4/modules/core/exported"
)
// Interface implementation checks.
diff --git a/modules/light-clients/06-solomachine/types/solomachine.pb.go b/modules/light-clients/06-solomachine/types/solomachine.pb.go
index 441a7030402..238f9849ede 100644
--- a/modules/light-clients/06-solomachine/types/solomachine.pb.go
+++ b/modules/light-clients/06-solomachine/types/solomachine.pb.go
@@ -6,8 +6,8 @@ package types
import (
fmt "fmt"
types "github.com/cosmos/cosmos-sdk/codec/types"
- types1 "github.com/cosmos/ibc-go/v3/modules/core/03-connection/types"
- types2 "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types"
+ types1 "github.com/cosmos/ibc-go/v4/modules/core/03-connection/types"
+ types2 "github.com/cosmos/ibc-go/v4/modules/core/04-channel/types"
_ "github.com/gogo/protobuf/gogoproto"
proto "github.com/gogo/protobuf/proto"
io "io"
@@ -826,90 +826,90 @@ var fileDescriptor_141333b361aae010 = []byte{
// 1370 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x57, 0x5f, 0x8f, 0xdb, 0x44,
0x10, 0x3f, 0xa7, 0xe9, 0xf5, 0x32, 0xb9, 0xde, 0x05, 0x37, 0x6d, 0x73, 0x6e, 0x95, 0x18, 0x23,
- 0xca, 0x81, 0x68, 0xc2, 0x5d, 0x45, 0x85, 0x2a, 0x04, 0x38, 0x8e, 0x4b, 0xd3, 0xde, 0xf9, 0x82,
- 0xe3, 0x03, 0x5a, 0x21, 0x19, 0xc7, 0xd9, 0x4b, 0xac, 0x26, 0xde, 0x34, 0x76, 0x92, 0x06, 0x09,
- 0x09, 0xf1, 0x54, 0x22, 0x1e, 0xf8, 0x02, 0x91, 0x10, 0x88, 0xcf, 0xc1, 0x1b, 0xf0, 0xd8, 0x47,
- 0x9e, 0x02, 0x6a, 0xbf, 0x41, 0x3e, 0x01, 0xb2, 0x77, 0x13, 0xdb, 0xb9, 0x5e, 0x4e, 0xfc, 0x7b,
- 0xdb, 0x9d, 0xdf, 0xcc, 0x6f, 0x66, 0x67, 0xc6, 0xb3, 0x6b, 0xd8, 0xb1, 0x6a, 0x66, 0xa1, 0x65,
- 0x35, 0x9a, 0xae, 0xd9, 0xb2, 0x90, 0xed, 0x3a, 0x05, 0x07, 0xb7, 0x70, 0xdb, 0x30, 0x9b, 0x96,
- 0x8d, 0x0a, 0xfd, 0xdd, 0xf0, 0x36, 0xdf, 0xe9, 0x62, 0x17, 0xb3, 0x39, 0xab, 0x66, 0xe6, 0xc3,
- 0x26, 0xf9, 0xb0, 0x4e, 0x7f, 0x97, 0x7b, 0xcd, 0xe3, 0x34, 0x71, 0x17, 0x15, 0x4c, 0x6c, 0xdb,
- 0xc8, 0x74, 0x2d, 0x6c, 0x17, 0xfa, 0x3b, 0xa1, 0x1d, 0x61, 0xe2, 0x5e, 0x0e, 0x14, 0x9b, 0x86,
- 0x6d, 0xa3, 0x96, 0xaf, 0x45, 0x96, 0x54, 0x25, 0xdd, 0xc0, 0x0d, 0xec, 0x2f, 0x0b, 0xde, 0x8a,
- 0x4a, 0xb7, 0x1a, 0x18, 0x37, 0x5a, 0xa8, 0xe0, 0xef, 0x6a, 0xbd, 0xa3, 0x82, 0x61, 0x0f, 0x09,
- 0x24, 0xfc, 0x1c, 0x83, 0xa4, 0xe4, 0xc7, 0x55, 0x75, 0x0d, 0x17, 0xb1, 0x1c, 0xac, 0x39, 0xe8,
- 0x51, 0x0f, 0xd9, 0x26, 0xca, 0x30, 0x3c, 0xb3, 0x1d, 0x57, 0xe7, 0x7b, 0x76, 0x07, 0x12, 0x96,
- 0xa3, 0x1f, 0x75, 0xf1, 0x17, 0xc8, 0xce, 0xc4, 0x78, 0x66, 0x7b, 0xad, 0x98, 0x9e, 0x4e, 0x72,
- 0xa9, 0xa1, 0xd1, 0x6e, 0xdd, 0x12, 0xe6, 0x90, 0xa0, 0xae, 0x59, 0xce, 0x6d, 0x7f, 0xc9, 0xba,
- 0xb0, 0x69, 0x62, 0xdb, 0x41, 0xb6, 0xd3, 0x73, 0x74, 0xc7, 0xf3, 0x90, 0x39, 0xc3, 0x33, 0xdb,
- 0xc9, 0xdd, 0x42, 0xfe, 0x94, 0xb4, 0xe4, 0xa5, 0x99, 0x9d, 0x1f, 0x58, 0x91, 0x9b, 0x4e, 0x72,
- 0x97, 0x88, 0xa7, 0x05, 0x46, 0x41, 0xdd, 0x30, 0x23, 0xba, 0x2c, 0x82, 0x2b, 0x46, 0xab, 0x85,
- 0x07, 0x7a, 0xaf, 0x53, 0x37, 0x5c, 0xa4, 0x1b, 0x47, 0x2e, 0xea, 0xea, 0x9d, 0x2e, 0xee, 0x60,
- 0xc7, 0x68, 0x65, 0xe2, 0x7e, 0xe8, 0xd7, 0xa6, 0x93, 0x9c, 0x40, 0x08, 0x97, 0x28, 0x0b, 0x6a,
- 0xc6, 0x47, 0x0f, 0x7d, 0x50, 0xf4, 0xb0, 0x0a, 0x85, 0x6e, 0xc5, 0x9f, 0x7c, 0x9f, 0x5b, 0x11,
- 0x7e, 0x60, 0x60, 0x23, 0x1a, 0x2b, 0x7b, 0x17, 0xa0, 0xd3, 0xab, 0xb5, 0x2c, 0x53, 0x7f, 0x88,
- 0x86, 0x7e, 0x1a, 0x93, 0xbb, 0xe9, 0x3c, 0x29, 0x42, 0x7e, 0x56, 0x84, 0xbc, 0x68, 0x0f, 0x8b,
- 0x17, 0xa7, 0x93, 0xdc, 0x4b, 0x24, 0x88, 0xc0, 0x42, 0x50, 0x13, 0x64, 0x73, 0x0f, 0x0d, 0x59,
- 0x1e, 0x92, 0x75, 0xab, 0x8f, 0xba, 0x8e, 0x75, 0x64, 0xa1, 0xae, 0x9f, 0xf6, 0x84, 0x1a, 0x16,
- 0xb1, 0x57, 0x21, 0xe1, 0x5a, 0x6d, 0xe4, 0xb8, 0x46, 0xbb, 0xe3, 0x67, 0x37, 0xae, 0x06, 0x02,
- 0x1a, 0xe4, 0xd7, 0x31, 0x58, 0xbd, 0x83, 0x8c, 0x3a, 0xea, 0x2e, 0xad, 0x70, 0x84, 0x2a, 0xb6,
- 0x40, 0xe5, 0xa1, 0x8e, 0xd5, 0xb0, 0x0d, 0xb7, 0xd7, 0x25, 0x65, 0x5c, 0x57, 0x03, 0x01, 0x7b,
- 0x08, 0x1b, 0x36, 0x1a, 0xe8, 0xa1, 0x83, 0xc7, 0x97, 0x1c, 0x7c, 0x6b, 0x3a, 0xc9, 0x5d, 0x24,
- 0x07, 0x8f, 0x5a, 0x09, 0xea, 0xba, 0x8d, 0x06, 0x95, 0xf9, 0xf9, 0x25, 0xd8, 0xf4, 0x14, 0xc2,
- 0x39, 0x38, 0xeb, 0xe5, 0x20, 0xdc, 0x10, 0x0b, 0x0a, 0x82, 0xea, 0x45, 0x52, 0x0a, 0x04, 0x34,
- 0x09, 0xbf, 0xc6, 0x60, 0x7d, 0xdf, 0x72, 0x6a, 0xa8, 0x69, 0xf4, 0x2d, 0xdc, 0xeb, 0x7a, 0x0d,
- 0x4d, 0x9a, 0x4f, 0xb7, 0xea, 0x7e, 0x2e, 0x12, 0xe1, 0x86, 0x9e, 0x43, 0x82, 0xba, 0x46, 0xd6,
- 0xe5, 0x7a, 0x24, 0x7b, 0xb1, 0x85, 0xec, 0x75, 0xe0, 0xfc, 0x3c, 0x1d, 0x3a, 0xb6, 0x67, 0xad,
- 0xbe, 0x73, 0x6a, 0xab, 0x57, 0x67, 0x56, 0xa2, 0x5d, 0x2f, 0x19, 0xae, 0x51, 0xcc, 0x4c, 0x27,
- 0xb9, 0x34, 0x89, 0x22, 0xc2, 0x28, 0xa8, 0xeb, 0xf3, 0xfd, 0x81, 0xbd, 0xe0, 0xd1, 0x1d, 0x60,
- 0x9a, 0xf2, 0xff, 0xca, 0xa3, 0x3b, 0xc0, 0x61, 0x8f, 0xda, 0x00, 0xd3, 0x4c, 0xfe, 0xc2, 0x40,
- 0x6a, 0x91, 0x22, 0xda, 0x1e, 0xcc, 0x62, 0x7b, 0x7c, 0x06, 0x89, 0xba, 0xe1, 0x1a, 0xba, 0x3b,
- 0xec, 0x90, 0xcc, 0x6d, 0xec, 0xbe, 0x7e, 0x6a, 0x98, 0x1e, 0xaf, 0x36, 0xec, 0xa0, 0x70, 0x59,
- 0xe6, 0x2c, 0x82, 0xba, 0x56, 0xa7, 0x38, 0xcb, 0x42, 0xdc, 0x5b, 0xd3, 0xae, 0xf4, 0xd7, 0xd1,
- 0x66, 0x8e, 0xbf, 0xf8, 0xbb, 0xf8, 0x8a, 0x81, 0x8c, 0x36, 0x93, 0xa1, 0xfa, 0xfc, 0x4c, 0xfe,
- 0x81, 0x3e, 0x80, 0x8d, 0x20, 0x17, 0x3e, 0xbd, 0x7f, 0xaa, 0x70, 0xef, 0x46, 0x71, 0x41, 0x0d,
- 0xca, 0x51, 0x3a, 0x16, 0x42, 0xec, 0xc5, 0x21, 0xfc, 0xc1, 0x40, 0xc2, 0xf3, 0x5b, 0x1c, 0xba,
- 0xc8, 0xf9, 0x17, 0x5f, 0xe7, 0xc2, 0xa0, 0x38, 0x73, 0x7c, 0x50, 0x44, 0x4a, 0x10, 0xff, 0xbf,
- 0x4a, 0x70, 0x36, 0x28, 0x01, 0x3d, 0xe1, 0x4f, 0x0c, 0x00, 0x19, 0x3e, 0x7e, 0x52, 0xf6, 0x20,
- 0x49, 0x3f, 0xf9, 0x53, 0xc7, 0xe3, 0xa5, 0xe9, 0x24, 0xc7, 0x46, 0xa6, 0x04, 0x9d, 0x8f, 0x64,
- 0x44, 0x9c, 0x30, 0x1f, 0x62, 0xff, 0x70, 0x3e, 0x7c, 0x09, 0x9b, 0xa1, 0xab, 0xd0, 0x8f, 0x95,
- 0x85, 0x78, 0xc7, 0x70, 0x9b, 0xb4, 0x9d, 0xfd, 0x35, 0x5b, 0x81, 0x75, 0x3a, 0x1a, 0xc8, 0x85,
- 0x16, 0x5b, 0x72, 0x80, 0xcb, 0xd3, 0x49, 0xee, 0x42, 0x64, 0x9c, 0xd0, 0x2b, 0x2b, 0x69, 0x06,
- 0x9e, 0xa8, 0xfb, 0x6f, 0x18, 0x60, 0xa3, 0x17, 0xc9, 0x89, 0x21, 0xdc, 0x3f, 0x7e, 0xad, 0x2e,
- 0x8b, 0xe2, 0x6f, 0xdc, 0x9d, 0x34, 0x96, 0x3e, 0x5c, 0x90, 0xe6, 0xcf, 0x8f, 0xe5, 0xb1, 0xc8,
- 0x00, 0xc1, 0x4b, 0x85, 0x86, 0xf1, 0xaa, 0xdf, 0x56, 0xde, 0x53, 0x25, 0x1f, 0x7a, 0xc5, 0xf4,
- 0x77, 0xf2, 0x01, 0xa9, 0x6c, 0xd7, 0xd5, 0x90, 0x21, 0xf5, 0x5b, 0x87, 0x94, 0x44, 0x1e, 0x34,
- 0xcb, 0x9d, 0xde, 0x84, 0x73, 0xf4, 0xe1, 0x43, 0x3d, 0x5e, 0x0d, 0x79, 0xa4, 0x2f, 0x22, 0xcf,
- 0x1d, 0x59, 0xaa, 0x33, 0x65, 0xea, 0xe5, 0x2e, 0xa4, 0x2b, 0x86, 0xf9, 0x10, 0xb9, 0x12, 0x6e,
- 0xb7, 0x2d, 0xb7, 0x8d, 0x6c, 0xf7, 0x44, 0x4f, 0x59, 0xef, 0x78, 0x33, 0x2d, 0xdf, 0xd9, 0xba,
- 0x1a, 0x92, 0x08, 0xf7, 0x61, 0x8b, 0x70, 0x89, 0xe6, 0x43, 0x1b, 0x0f, 0x5a, 0xa8, 0xde, 0x40,
- 0x4b, 0x09, 0xb7, 0x61, 0xd3, 0x88, 0xaa, 0x52, 0xd6, 0x45, 0xb1, 0x90, 0x87, 0x0c, 0xa1, 0x56,
- 0x91, 0x89, 0xac, 0x8e, 0x2b, 0xd6, 0x1c, 0x6f, 0x0e, 0x9c, 0xc4, 0x2c, 0x34, 0x21, 0xad, 0xa0,
- 0xc7, 0x6e, 0x95, 0xce, 0x0b, 0x15, 0x99, 0xfd, 0x13, 0xa3, 0x78, 0x17, 0xce, 0xdb, 0xe8, 0xb1,
- 0xab, 0x3b, 0xe8, 0x91, 0xde, 0x45, 0x66, 0x9f, 0xcc, 0x93, 0xf0, 0x35, 0x10, 0x81, 0x05, 0x35,
- 0x69, 0x13, 0x6a, 0x8f, 0xf5, 0x8d, 0x6f, 0xe3, 0xb0, 0x36, 0x1b, 0x0c, 0xec, 0x3b, 0xf0, 0x4a,
- 0x49, 0xd4, 0x44, 0x5d, 0xbb, 0x5f, 0x91, 0xf5, 0x43, 0xa5, 0xac, 0x94, 0xb5, 0xb2, 0xb8, 0x57,
- 0x7e, 0x20, 0x97, 0xf4, 0x43, 0xa5, 0x5a, 0x91, 0xa5, 0xf2, 0xed, 0xb2, 0x5c, 0x4a, 0xad, 0x70,
- 0x9b, 0xa3, 0x31, 0x9f, 0x0c, 0x89, 0xd8, 0x6b, 0x70, 0x29, 0xb0, 0x94, 0xf6, 0xca, 0xb2, 0xa2,
- 0xe9, 0x55, 0x4d, 0xd4, 0xe4, 0x14, 0xc3, 0xc1, 0x68, 0xcc, 0xaf, 0x12, 0x19, 0xfb, 0x26, 0x6c,
- 0x85, 0xf4, 0x0e, 0x94, 0xaa, 0xac, 0x54, 0x0f, 0xab, 0x54, 0x35, 0xc6, 0x9d, 0x1f, 0x8d, 0xf9,
- 0xc4, 0x5c, 0xcc, 0xe6, 0x81, 0x8b, 0x68, 0x2b, 0xb2, 0xa4, 0x95, 0x0f, 0x14, 0xaa, 0x7e, 0x86,
- 0xdb, 0x18, 0x8d, 0x79, 0x08, 0xe4, 0xec, 0x36, 0x5c, 0x0e, 0xe9, 0xdf, 0x11, 0x15, 0x45, 0xde,
- 0xa3, 0xca, 0x71, 0x2e, 0x39, 0x1a, 0xf3, 0xe7, 0xa8, 0x90, 0x7d, 0x1b, 0xae, 0x04, 0x9a, 0x15,
- 0x51, 0xba, 0x27, 0x6b, 0xba, 0x74, 0xb0, 0xbf, 0x5f, 0xd6, 0xf6, 0x65, 0x45, 0x4b, 0x9d, 0xe5,
- 0xd2, 0xa3, 0x31, 0x9f, 0x22, 0x40, 0x20, 0x67, 0xdf, 0x07, 0xfe, 0x98, 0x99, 0x28, 0xdd, 0x53,
- 0x0e, 0x3e, 0xd9, 0x93, 0x4b, 0x1f, 0xca, 0xbe, 0xed, 0x2a, 0xb7, 0x35, 0x1a, 0xf3, 0x17, 0x09,
- 0xba, 0x00, 0xb2, 0xef, 0xbd, 0x80, 0x40, 0x95, 0x25, 0xb9, 0x5c, 0xd1, 0x74, 0xb1, 0x58, 0x95,
- 0x15, 0x49, 0x4e, 0x9d, 0xe3, 0x32, 0xa3, 0x31, 0x9f, 0x26, 0x28, 0x05, 0x29, 0xc6, 0xde, 0x84,
- 0xab, 0x81, 0xbd, 0x22, 0x7f, 0xaa, 0xe9, 0x55, 0xf9, 0xa3, 0x43, 0x0f, 0xf2, 0x68, 0x3e, 0x4e,
- 0xad, 0x91, 0xc0, 0x3d, 0x64, 0x06, 0x78, 0x72, 0x96, 0x87, 0x54, 0x60, 0x77, 0x47, 0x16, 0x4b,
- 0xb2, 0x9a, 0x4a, 0x90, 0xca, 0x90, 0x1d, 0x17, 0x7f, 0xf2, 0x63, 0x76, 0xa5, 0xf8, 0xf9, 0x6f,
- 0xcf, 0xb2, 0xcc, 0xd3, 0x67, 0x59, 0xe6, 0xcf, 0x67, 0x59, 0xe6, 0xbb, 0xe7, 0xd9, 0x95, 0xa7,
- 0xcf, 0xb3, 0x2b, 0xbf, 0x3f, 0xcf, 0xae, 0x3c, 0xb8, 0xdd, 0xb0, 0xdc, 0x66, 0xaf, 0x96, 0x37,
- 0x71, 0xbb, 0x60, 0x62, 0xa7, 0x8d, 0x9d, 0x82, 0x55, 0x33, 0xaf, 0x37, 0x70, 0xa1, 0x7f, 0xa3,
- 0xd0, 0xc6, 0xf5, 0x5e, 0x0b, 0x39, 0xe4, 0x7f, 0xea, 0xfa, 0xec, 0x87, 0xea, 0xad, 0x9b, 0xd7,
- 0xc3, 0xff, 0x54, 0xde, 0x35, 0xe3, 0xd4, 0x56, 0xfd, 0x79, 0x76, 0xe3, 0xaf, 0x00, 0x00, 0x00,
- 0xff, 0xff, 0x5d, 0xd4, 0x6c, 0xfb, 0x80, 0x0d, 0x00, 0x00,
+ 0xca, 0x81, 0x68, 0xc2, 0x1d, 0x50, 0xa1, 0x0a, 0x01, 0x8e, 0xe3, 0xd2, 0xb4, 0x77, 0xbe, 0xe0,
+ 0xf8, 0x80, 0x56, 0x48, 0xc6, 0x71, 0xf6, 0x12, 0xab, 0x89, 0x37, 0x8d, 0x9d, 0xa4, 0x41, 0x42,
+ 0x42, 0x3c, 0x95, 0x88, 0x07, 0xbe, 0x40, 0x24, 0x04, 0xe2, 0x73, 0xf0, 0x06, 0x3c, 0xf6, 0x91,
+ 0xa7, 0x80, 0xda, 0x6f, 0x90, 0x4f, 0x80, 0xec, 0xdd, 0xc4, 0x76, 0xae, 0x97, 0x13, 0xff, 0xde,
+ 0x76, 0xe7, 0x37, 0xf3, 0x9b, 0xd9, 0x99, 0xf1, 0xec, 0x1a, 0x76, 0xac, 0x9a, 0x59, 0x68, 0x59,
+ 0x8d, 0xa6, 0x6b, 0xb6, 0x2c, 0x64, 0xbb, 0x4e, 0xc1, 0xc1, 0x2d, 0xdc, 0x36, 0xcc, 0xa6, 0x65,
+ 0xa3, 0x42, 0x7f, 0x37, 0xbc, 0xcd, 0x77, 0xba, 0xd8, 0xc5, 0x6c, 0xce, 0xaa, 0x99, 0xf9, 0xb0,
+ 0x49, 0x3e, 0xac, 0xd3, 0xdf, 0xe5, 0x5e, 0xf1, 0x38, 0x4d, 0xdc, 0x45, 0x05, 0x13, 0xdb, 0x36,
+ 0x32, 0x5d, 0x0b, 0xdb, 0x85, 0xfe, 0x4e, 0x68, 0x47, 0x98, 0xb8, 0x17, 0x03, 0xc5, 0xa6, 0x61,
+ 0xdb, 0xa8, 0xe5, 0x6b, 0x91, 0x25, 0x55, 0x49, 0x37, 0x70, 0x03, 0xfb, 0xcb, 0x82, 0xb7, 0xa2,
+ 0xd2, 0xad, 0x06, 0xc6, 0x8d, 0x16, 0x2a, 0xf8, 0xbb, 0x5a, 0xef, 0xa8, 0x60, 0xd8, 0x43, 0x02,
+ 0x09, 0x3f, 0xc7, 0x20, 0x29, 0xf9, 0x71, 0x55, 0x5d, 0xc3, 0x45, 0x2c, 0x07, 0x6b, 0x0e, 0x7a,
+ 0xd8, 0x43, 0xb6, 0x89, 0x32, 0x0c, 0xcf, 0x6c, 0xc7, 0xd5, 0xf9, 0x9e, 0xdd, 0x81, 0x84, 0xe5,
+ 0xe8, 0x47, 0x5d, 0xfc, 0x05, 0xb2, 0x33, 0x31, 0x9e, 0xd9, 0x5e, 0x2b, 0xa6, 0xa7, 0x93, 0x5c,
+ 0x6a, 0x68, 0xb4, 0x5b, 0x37, 0x85, 0x39, 0x24, 0xa8, 0x6b, 0x96, 0x73, 0xcb, 0x5f, 0xb2, 0x2e,
+ 0x6c, 0x9a, 0xd8, 0x76, 0x90, 0xed, 0xf4, 0x1c, 0xdd, 0xf1, 0x3c, 0x64, 0xce, 0xf0, 0xcc, 0x76,
+ 0x72, 0xb7, 0x90, 0x3f, 0x25, 0x2d, 0x79, 0x69, 0x66, 0xe7, 0x07, 0x56, 0xe4, 0xa6, 0x93, 0xdc,
+ 0x25, 0xe2, 0x69, 0x81, 0x51, 0x50, 0x37, 0xcc, 0x88, 0x2e, 0x8b, 0xe0, 0x8a, 0xd1, 0x6a, 0xe1,
+ 0x81, 0xde, 0xeb, 0xd4, 0x0d, 0x17, 0xe9, 0xc6, 0x91, 0x8b, 0xba, 0x7a, 0xa7, 0x8b, 0x3b, 0xd8,
+ 0x31, 0x5a, 0x99, 0xb8, 0x1f, 0xfa, 0xb5, 0xe9, 0x24, 0x27, 0x10, 0xc2, 0x25, 0xca, 0x82, 0x9a,
+ 0xf1, 0xd1, 0x43, 0x1f, 0x14, 0x3d, 0xac, 0x42, 0xa1, 0x9b, 0xf1, 0xc7, 0xdf, 0xe7, 0x56, 0x84,
+ 0x1f, 0x18, 0xd8, 0x88, 0xc6, 0xca, 0xde, 0x01, 0xe8, 0xf4, 0x6a, 0x2d, 0xcb, 0xd4, 0x1f, 0xa0,
+ 0xa1, 0x9f, 0xc6, 0xe4, 0x6e, 0x3a, 0x4f, 0x8a, 0x90, 0x9f, 0x15, 0x21, 0x2f, 0xda, 0xc3, 0xe2,
+ 0xc5, 0xe9, 0x24, 0xf7, 0x02, 0x09, 0x22, 0xb0, 0x10, 0xd4, 0x04, 0xd9, 0xdc, 0x45, 0x43, 0x96,
+ 0x87, 0x64, 0xdd, 0xea, 0xa3, 0xae, 0x63, 0x1d, 0x59, 0xa8, 0xeb, 0xa7, 0x3d, 0xa1, 0x86, 0x45,
+ 0xec, 0x55, 0x48, 0xb8, 0x56, 0x1b, 0x39, 0xae, 0xd1, 0xee, 0xf8, 0xd9, 0x8d, 0xab, 0x81, 0x80,
+ 0x06, 0xf9, 0x75, 0x0c, 0x56, 0x6f, 0x23, 0xa3, 0x8e, 0xba, 0x4b, 0x2b, 0x1c, 0xa1, 0x8a, 0x2d,
+ 0x50, 0x79, 0xa8, 0x63, 0x35, 0x6c, 0xc3, 0xed, 0x75, 0x49, 0x19, 0xd7, 0xd5, 0x40, 0xc0, 0x1e,
+ 0xc2, 0x86, 0x8d, 0x06, 0x7a, 0xe8, 0xe0, 0xf1, 0x25, 0x07, 0xdf, 0x9a, 0x4e, 0x72, 0x17, 0xc9,
+ 0xc1, 0xa3, 0x56, 0x82, 0xba, 0x6e, 0xa3, 0x41, 0x65, 0x7e, 0x7e, 0x09, 0x36, 0x3d, 0x85, 0x70,
+ 0x0e, 0xce, 0x7a, 0x39, 0x08, 0x37, 0xc4, 0x82, 0x82, 0xa0, 0x7a, 0x91, 0x94, 0x02, 0x01, 0x4d,
+ 0xc2, 0xaf, 0x31, 0x58, 0xdf, 0xb7, 0x9c, 0x1a, 0x6a, 0x1a, 0x7d, 0x0b, 0xf7, 0xba, 0x5e, 0x43,
+ 0x93, 0xe6, 0xd3, 0xad, 0xba, 0x9f, 0x8b, 0x44, 0xb8, 0xa1, 0xe7, 0x90, 0xa0, 0xae, 0x91, 0x75,
+ 0xb9, 0x1e, 0xc9, 0x5e, 0x6c, 0x21, 0x7b, 0x1d, 0x38, 0x3f, 0x4f, 0x87, 0x8e, 0xed, 0x59, 0xab,
+ 0xef, 0x9c, 0xda, 0xea, 0xd5, 0x99, 0x95, 0x68, 0xd7, 0x4b, 0x86, 0x6b, 0x14, 0x33, 0xd3, 0x49,
+ 0x2e, 0x4d, 0xa2, 0x88, 0x30, 0x0a, 0xea, 0xfa, 0x7c, 0x7f, 0x60, 0x2f, 0x78, 0x74, 0x07, 0x98,
+ 0xa6, 0xfc, 0xbf, 0xf2, 0xe8, 0x0e, 0x70, 0xd8, 0xa3, 0x36, 0xc0, 0x34, 0x93, 0xbf, 0x30, 0x90,
+ 0x5a, 0xa4, 0x88, 0xb6, 0x07, 0xb3, 0xd8, 0x1e, 0x9f, 0x41, 0xa2, 0x6e, 0xb8, 0x86, 0xee, 0x0e,
+ 0x3b, 0x24, 0x73, 0x1b, 0xbb, 0xaf, 0x9e, 0x1a, 0xa6, 0xc7, 0xab, 0x0d, 0x3b, 0x28, 0x5c, 0x96,
+ 0x39, 0x8b, 0xa0, 0xae, 0xd5, 0x29, 0xce, 0xb2, 0x10, 0xf7, 0xd6, 0xb4, 0x2b, 0xfd, 0x75, 0xb4,
+ 0x99, 0xe3, 0xcf, 0xff, 0x2e, 0xbe, 0x62, 0x20, 0xa3, 0xcd, 0x64, 0xa8, 0x3e, 0x3f, 0x93, 0x7f,
+ 0xa0, 0x0f, 0x60, 0x23, 0xc8, 0x85, 0x4f, 0xef, 0x9f, 0x2a, 0xdc, 0xbb, 0x51, 0x5c, 0x50, 0x83,
+ 0x72, 0x94, 0x8e, 0x85, 0x10, 0x7b, 0x7e, 0x08, 0x7f, 0x30, 0x90, 0xf0, 0xfc, 0x16, 0x87, 0x2e,
+ 0x72, 0xfe, 0xc5, 0xd7, 0xb9, 0x30, 0x28, 0xce, 0x1c, 0x1f, 0x14, 0x91, 0x12, 0xc4, 0xff, 0xaf,
+ 0x12, 0x9c, 0x0d, 0x4a, 0x40, 0x4f, 0xf8, 0x13, 0x03, 0x40, 0x86, 0x8f, 0x9f, 0x94, 0x3d, 0x48,
+ 0xd2, 0x4f, 0xfe, 0xd4, 0xf1, 0x78, 0x69, 0x3a, 0xc9, 0xb1, 0x91, 0x29, 0x41, 0xe7, 0x23, 0x19,
+ 0x11, 0x27, 0xcc, 0x87, 0xd8, 0x3f, 0x9c, 0x0f, 0x5f, 0xc2, 0x66, 0xe8, 0x2a, 0xf4, 0x63, 0x65,
+ 0x21, 0xde, 0x31, 0xdc, 0x26, 0x6d, 0x67, 0x7f, 0xcd, 0x56, 0x60, 0x9d, 0x8e, 0x06, 0x72, 0xa1,
+ 0xc5, 0x96, 0x1c, 0xe0, 0xf2, 0x74, 0x92, 0xbb, 0x10, 0x19, 0x27, 0xf4, 0xca, 0x4a, 0x9a, 0x81,
+ 0x27, 0xea, 0xfe, 0x1b, 0x06, 0xd8, 0xe8, 0x45, 0x72, 0x62, 0x08, 0xf7, 0x8e, 0x5f, 0xab, 0xcb,
+ 0xa2, 0xf8, 0x1b, 0x77, 0x27, 0x8d, 0xa5, 0x0f, 0x17, 0xa4, 0xf9, 0xf3, 0x63, 0x79, 0x2c, 0x32,
+ 0x40, 0xf0, 0x52, 0xa1, 0x61, 0xbc, 0xec, 0xb7, 0x95, 0xf7, 0x54, 0xc9, 0x87, 0x5e, 0x31, 0xfd,
+ 0x9d, 0x7c, 0x40, 0x2a, 0xdb, 0x75, 0x35, 0x64, 0x48, 0xfd, 0xd6, 0x21, 0x25, 0x91, 0x07, 0xcd,
+ 0x72, 0xa7, 0x37, 0xe0, 0x1c, 0x7d, 0xf8, 0x50, 0x8f, 0x57, 0x43, 0x1e, 0xe9, 0x8b, 0xc8, 0x73,
+ 0x47, 0x96, 0xea, 0x4c, 0x99, 0x7a, 0xb9, 0x03, 0xe9, 0x8a, 0x61, 0x3e, 0x40, 0xae, 0x84, 0xdb,
+ 0x6d, 0xcb, 0x6d, 0x23, 0xdb, 0x3d, 0xd1, 0x53, 0xd6, 0x3b, 0xde, 0x4c, 0xcb, 0x77, 0xb6, 0xae,
+ 0x86, 0x24, 0xc2, 0x3d, 0xd8, 0x22, 0x5c, 0xa2, 0xf9, 0xc0, 0xc6, 0x83, 0x16, 0xaa, 0x37, 0xd0,
+ 0x52, 0xc2, 0x6d, 0xd8, 0x34, 0xa2, 0xaa, 0x94, 0x75, 0x51, 0x2c, 0xe4, 0x21, 0x43, 0xa8, 0x55,
+ 0x64, 0x22, 0xab, 0xe3, 0x8a, 0x35, 0xc7, 0x9b, 0x03, 0x27, 0x31, 0x0b, 0x4d, 0x48, 0x2b, 0xe8,
+ 0x91, 0x5b, 0xa5, 0xf3, 0x42, 0x45, 0x66, 0xff, 0xc4, 0x28, 0xde, 0x85, 0xf3, 0x36, 0x7a, 0xe4,
+ 0xea, 0x0e, 0x7a, 0xa8, 0x77, 0x91, 0xd9, 0x27, 0xf3, 0x24, 0x7c, 0x0d, 0x44, 0x60, 0x41, 0x4d,
+ 0xda, 0x84, 0xda, 0x63, 0x7d, 0xed, 0xdb, 0x38, 0xac, 0xcd, 0x06, 0x03, 0xfb, 0x0e, 0xbc, 0x54,
+ 0x12, 0x35, 0x51, 0xd7, 0xee, 0x55, 0x64, 0xfd, 0x50, 0x29, 0x2b, 0x65, 0xad, 0x2c, 0xee, 0x95,
+ 0xef, 0xcb, 0x25, 0xfd, 0x50, 0xa9, 0x56, 0x64, 0xa9, 0x7c, 0xab, 0x2c, 0x97, 0x52, 0x2b, 0xdc,
+ 0xe6, 0x68, 0xcc, 0x27, 0x43, 0x22, 0xf6, 0x1a, 0x5c, 0x0a, 0x2c, 0xa5, 0xbd, 0xb2, 0xac, 0x68,
+ 0x7a, 0x55, 0x13, 0x35, 0x39, 0xc5, 0x70, 0x30, 0x1a, 0xf3, 0xab, 0x44, 0xc6, 0xbe, 0x0e, 0x5b,
+ 0x21, 0xbd, 0x03, 0xa5, 0x2a, 0x2b, 0xd5, 0xc3, 0x2a, 0x55, 0x8d, 0x71, 0xe7, 0x47, 0x63, 0x3e,
+ 0x31, 0x17, 0xb3, 0x79, 0xe0, 0x22, 0xda, 0x8a, 0x2c, 0x69, 0xe5, 0x03, 0x85, 0xaa, 0x9f, 0xe1,
+ 0x36, 0x46, 0x63, 0x1e, 0x02, 0x39, 0xbb, 0x0d, 0x97, 0x43, 0xfa, 0xb7, 0x45, 0x45, 0x91, 0xf7,
+ 0xa8, 0x72, 0x9c, 0x4b, 0x8e, 0xc6, 0xfc, 0x39, 0x2a, 0x64, 0xdf, 0x86, 0x2b, 0x81, 0x66, 0x45,
+ 0x94, 0xee, 0xca, 0x9a, 0x2e, 0x1d, 0xec, 0xef, 0x97, 0xb5, 0x7d, 0x59, 0xd1, 0x52, 0x67, 0xb9,
+ 0xf4, 0x68, 0xcc, 0xa7, 0x08, 0x10, 0xc8, 0xd9, 0xf7, 0x81, 0x3f, 0x66, 0x26, 0x4a, 0x77, 0x95,
+ 0x83, 0x4f, 0xf6, 0xe4, 0xd2, 0x87, 0xb2, 0x6f, 0xbb, 0xca, 0x6d, 0x8d, 0xc6, 0xfc, 0x45, 0x82,
+ 0x2e, 0x80, 0xec, 0x7b, 0xcf, 0x21, 0x50, 0x65, 0x49, 0x2e, 0x57, 0x34, 0x5d, 0x2c, 0x56, 0x65,
+ 0x45, 0x92, 0x53, 0xe7, 0xb8, 0xcc, 0x68, 0xcc, 0xa7, 0x09, 0x4a, 0x41, 0x8a, 0xb1, 0x37, 0xe0,
+ 0x6a, 0x60, 0xaf, 0xc8, 0x9f, 0x6a, 0x7a, 0x55, 0xfe, 0xe8, 0xd0, 0x83, 0x3c, 0x9a, 0x8f, 0x53,
+ 0x6b, 0x24, 0x70, 0x0f, 0x99, 0x01, 0x9e, 0x9c, 0xe5, 0x21, 0x15, 0xd8, 0xdd, 0x96, 0xc5, 0x92,
+ 0xac, 0xa6, 0x12, 0xa4, 0x32, 0x64, 0xc7, 0xc5, 0x1f, 0xff, 0x98, 0x5d, 0x29, 0x7e, 0xfe, 0xdb,
+ 0xd3, 0x2c, 0xf3, 0xe4, 0x69, 0x96, 0xf9, 0xf3, 0x69, 0x96, 0xf9, 0xee, 0x59, 0x76, 0xe5, 0xc9,
+ 0xb3, 0xec, 0xca, 0xef, 0xcf, 0xb2, 0x2b, 0xf7, 0x6f, 0x35, 0x2c, 0xb7, 0xd9, 0xab, 0xe5, 0x4d,
+ 0xdc, 0x2e, 0x98, 0xd8, 0x69, 0x63, 0xa7, 0x60, 0xd5, 0xcc, 0xeb, 0x0d, 0x5c, 0xe8, 0xbf, 0x55,
+ 0x68, 0xe3, 0x7a, 0xaf, 0x85, 0x1c, 0xf2, 0x3f, 0x75, 0x7d, 0xf6, 0x43, 0xf5, 0xc6, 0x8d, 0xeb,
+ 0xe1, 0x7f, 0x2a, 0xef, 0x9a, 0x71, 0x6a, 0xab, 0xfe, 0x3c, 0x7b, 0xf3, 0xaf, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0x3f, 0x26, 0x7b, 0x3d, 0x80, 0x0d, 0x00, 0x00,
}
func (m *ClientState) Marshal() (dAtA []byte, err error) {
diff --git a/modules/light-clients/06-solomachine/types/solomachine_test.go b/modules/light-clients/06-solomachine/types/solomachine_test.go
index 56ebadee3d1..b286afc4ef7 100644
--- a/modules/light-clients/06-solomachine/types/solomachine_test.go
+++ b/modules/light-clients/06-solomachine/types/solomachine_test.go
@@ -12,10 +12,10 @@ import (
"github.com/stretchr/testify/require"
"github.com/stretchr/testify/suite"
- host "github.com/cosmos/ibc-go/v3/modules/core/24-host"
- "github.com/cosmos/ibc-go/v3/modules/core/exported"
- "github.com/cosmos/ibc-go/v3/modules/light-clients/06-solomachine/types"
- ibctesting "github.com/cosmos/ibc-go/v3/testing"
+ host "github.com/cosmos/ibc-go/v4/modules/core/24-host"
+ "github.com/cosmos/ibc-go/v4/modules/core/exported"
+ "github.com/cosmos/ibc-go/v4/modules/light-clients/06-solomachine/types"
+ ibctesting "github.com/cosmos/ibc-go/v4/testing"
)
type SoloMachineTestSuite struct {
diff --git a/modules/light-clients/06-solomachine/types/update.go b/modules/light-clients/06-solomachine/types/update.go
index 3896d2dddec..a810548692d 100644
--- a/modules/light-clients/06-solomachine/types/update.go
+++ b/modules/light-clients/06-solomachine/types/update.go
@@ -5,8 +5,8 @@ import (
sdk "github.com/cosmos/cosmos-sdk/types"
sdkerrors "github.com/cosmos/cosmos-sdk/types/errors"
- clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types"
- "github.com/cosmos/ibc-go/v3/modules/core/exported"
+ clienttypes "github.com/cosmos/ibc-go/v4/modules/core/02-client/types"
+ "github.com/cosmos/ibc-go/v4/modules/core/exported"
)
// CheckHeaderAndUpdateState checks if the provided header is valid and updates
diff --git a/modules/light-clients/06-solomachine/types/update_test.go b/modules/light-clients/06-solomachine/types/update_test.go
index ae3caa44a5c..459c72d0d76 100644
--- a/modules/light-clients/06-solomachine/types/update_test.go
+++ b/modules/light-clients/06-solomachine/types/update_test.go
@@ -4,10 +4,10 @@ import (
codectypes "github.com/cosmos/cosmos-sdk/codec/types"
sdk "github.com/cosmos/cosmos-sdk/types"
- "github.com/cosmos/ibc-go/v3/modules/core/exported"
- "github.com/cosmos/ibc-go/v3/modules/light-clients/06-solomachine/types"
- ibctmtypes "github.com/cosmos/ibc-go/v3/modules/light-clients/07-tendermint/types"
- ibctesting "github.com/cosmos/ibc-go/v3/testing"
+ "github.com/cosmos/ibc-go/v4/modules/core/exported"
+ "github.com/cosmos/ibc-go/v4/modules/light-clients/06-solomachine/types"
+ ibctmtypes "github.com/cosmos/ibc-go/v4/modules/light-clients/07-tendermint/types"
+ ibctesting "github.com/cosmos/ibc-go/v4/testing"
)
func (suite *SoloMachineTestSuite) TestCheckHeaderAndUpdateState() {
diff --git a/modules/light-clients/07-tendermint/module.go b/modules/light-clients/07-tendermint/module.go
index 429105b4d33..05be0ea1217 100644
--- a/modules/light-clients/07-tendermint/module.go
+++ b/modules/light-clients/07-tendermint/module.go
@@ -1,7 +1,7 @@
package tendermint
import (
- "github.com/cosmos/ibc-go/v3/modules/light-clients/07-tendermint/types"
+ "github.com/cosmos/ibc-go/v4/modules/light-clients/07-tendermint/types"
)
// Name returns the IBC client name
diff --git a/modules/light-clients/07-tendermint/types/client_state.go b/modules/light-clients/07-tendermint/types/client_state.go
index 51f826979fd..229fa53adb7 100644
--- a/modules/light-clients/07-tendermint/types/client_state.go
+++ b/modules/light-clients/07-tendermint/types/client_state.go
@@ -11,12 +11,12 @@ import (
"github.com/tendermint/tendermint/light"
tmtypes "github.com/tendermint/tendermint/types"
- clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types"
- connectiontypes "github.com/cosmos/ibc-go/v3/modules/core/03-connection/types"
- channeltypes "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types"
- commitmenttypes "github.com/cosmos/ibc-go/v3/modules/core/23-commitment/types"
- host "github.com/cosmos/ibc-go/v3/modules/core/24-host"
- "github.com/cosmos/ibc-go/v3/modules/core/exported"
+ clienttypes "github.com/cosmos/ibc-go/v4/modules/core/02-client/types"
+ connectiontypes "github.com/cosmos/ibc-go/v4/modules/core/03-connection/types"
+ channeltypes "github.com/cosmos/ibc-go/v4/modules/core/04-channel/types"
+ commitmenttypes "github.com/cosmos/ibc-go/v4/modules/core/23-commitment/types"
+ host "github.com/cosmos/ibc-go/v4/modules/core/24-host"
+ "github.com/cosmos/ibc-go/v4/modules/core/exported"
)
var _ exported.ClientState = (*ClientState)(nil)
diff --git a/modules/light-clients/07-tendermint/types/client_state_test.go b/modules/light-clients/07-tendermint/types/client_state_test.go
index f45bd2fc6d6..cf596933b6f 100644
--- a/modules/light-clients/07-tendermint/types/client_state_test.go
+++ b/modules/light-clients/07-tendermint/types/client_state_test.go
@@ -5,14 +5,14 @@ import (
ics23 "github.com/confio/ics23/go"
- clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types"
- channeltypes "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types"
- commitmenttypes "github.com/cosmos/ibc-go/v3/modules/core/23-commitment/types"
- host "github.com/cosmos/ibc-go/v3/modules/core/24-host"
- "github.com/cosmos/ibc-go/v3/modules/core/exported"
- "github.com/cosmos/ibc-go/v3/modules/light-clients/07-tendermint/types"
- ibctesting "github.com/cosmos/ibc-go/v3/testing"
- ibcmock "github.com/cosmos/ibc-go/v3/testing/mock"
+ clienttypes "github.com/cosmos/ibc-go/v4/modules/core/02-client/types"
+ channeltypes "github.com/cosmos/ibc-go/v4/modules/core/04-channel/types"
+ commitmenttypes "github.com/cosmos/ibc-go/v4/modules/core/23-commitment/types"
+ host "github.com/cosmos/ibc-go/v4/modules/core/24-host"
+ "github.com/cosmos/ibc-go/v4/modules/core/exported"
+ "github.com/cosmos/ibc-go/v4/modules/light-clients/07-tendermint/types"
+ ibctesting "github.com/cosmos/ibc-go/v4/testing"
+ ibcmock "github.com/cosmos/ibc-go/v4/testing/mock"
)
const (
diff --git a/modules/light-clients/07-tendermint/types/codec.go b/modules/light-clients/07-tendermint/types/codec.go
index c363a0cbe65..28e68a2b7b4 100644
--- a/modules/light-clients/07-tendermint/types/codec.go
+++ b/modules/light-clients/07-tendermint/types/codec.go
@@ -3,7 +3,7 @@ package types
import (
codectypes "github.com/cosmos/cosmos-sdk/codec/types"
- "github.com/cosmos/ibc-go/v3/modules/core/exported"
+ "github.com/cosmos/ibc-go/v4/modules/core/exported"
)
// RegisterInterfaces registers the tendermint concrete client-related
diff --git a/modules/light-clients/07-tendermint/types/consensus_state.go b/modules/light-clients/07-tendermint/types/consensus_state.go
index aa475daa733..7f563285898 100644
--- a/modules/light-clients/07-tendermint/types/consensus_state.go
+++ b/modules/light-clients/07-tendermint/types/consensus_state.go
@@ -7,9 +7,9 @@ import (
tmbytes "github.com/tendermint/tendermint/libs/bytes"
tmtypes "github.com/tendermint/tendermint/types"
- clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types"
- commitmenttypes "github.com/cosmos/ibc-go/v3/modules/core/23-commitment/types"
- "github.com/cosmos/ibc-go/v3/modules/core/exported"
+ clienttypes "github.com/cosmos/ibc-go/v4/modules/core/02-client/types"
+ commitmenttypes "github.com/cosmos/ibc-go/v4/modules/core/23-commitment/types"
+ "github.com/cosmos/ibc-go/v4/modules/core/exported"
)
// SentinelRoot is used as a stand-in root value for the consensus state set at the upgrade height
diff --git a/modules/light-clients/07-tendermint/types/consensus_state_test.go b/modules/light-clients/07-tendermint/types/consensus_state_test.go
index 2d3be714799..86337eb5258 100644
--- a/modules/light-clients/07-tendermint/types/consensus_state_test.go
+++ b/modules/light-clients/07-tendermint/types/consensus_state_test.go
@@ -3,9 +3,9 @@ package types_test
import (
"time"
- commitmenttypes "github.com/cosmos/ibc-go/v3/modules/core/23-commitment/types"
- "github.com/cosmos/ibc-go/v3/modules/core/exported"
- "github.com/cosmos/ibc-go/v3/modules/light-clients/07-tendermint/types"
+ commitmenttypes "github.com/cosmos/ibc-go/v4/modules/core/23-commitment/types"
+ "github.com/cosmos/ibc-go/v4/modules/core/exported"
+ "github.com/cosmos/ibc-go/v4/modules/light-clients/07-tendermint/types"
)
func (suite *TendermintTestSuite) TestConsensusStateValidateBasic() {
diff --git a/modules/light-clients/07-tendermint/types/genesis.go b/modules/light-clients/07-tendermint/types/genesis.go
index 82a996d3696..2a36e1653e4 100644
--- a/modules/light-clients/07-tendermint/types/genesis.go
+++ b/modules/light-clients/07-tendermint/types/genesis.go
@@ -3,8 +3,8 @@ package types
import (
sdk "github.com/cosmos/cosmos-sdk/types"
- clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types"
- "github.com/cosmos/ibc-go/v3/modules/core/exported"
+ clienttypes "github.com/cosmos/ibc-go/v4/modules/core/02-client/types"
+ "github.com/cosmos/ibc-go/v4/modules/core/exported"
)
// ExportMetadata exports all the consensus metadata in the client store so they can be included in clients genesis
diff --git a/modules/light-clients/07-tendermint/types/genesis_test.go b/modules/light-clients/07-tendermint/types/genesis_test.go
index 703cf5ce996..03fe79a935c 100644
--- a/modules/light-clients/07-tendermint/types/genesis_test.go
+++ b/modules/light-clients/07-tendermint/types/genesis_test.go
@@ -3,9 +3,9 @@ package types_test
import (
sdk "github.com/cosmos/cosmos-sdk/types"
- clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types"
- "github.com/cosmos/ibc-go/v3/modules/light-clients/07-tendermint/types"
- ibctesting "github.com/cosmos/ibc-go/v3/testing"
+ clienttypes "github.com/cosmos/ibc-go/v4/modules/core/02-client/types"
+ "github.com/cosmos/ibc-go/v4/modules/light-clients/07-tendermint/types"
+ ibctesting "github.com/cosmos/ibc-go/v4/testing"
)
// expected export ordering:
diff --git a/modules/light-clients/07-tendermint/types/header.go b/modules/light-clients/07-tendermint/types/header.go
index 58e7d671e4a..e3a420680b9 100644
--- a/modules/light-clients/07-tendermint/types/header.go
+++ b/modules/light-clients/07-tendermint/types/header.go
@@ -7,9 +7,9 @@ import (
sdkerrors "github.com/cosmos/cosmos-sdk/types/errors"
tmtypes "github.com/tendermint/tendermint/types"
- clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types"
- commitmenttypes "github.com/cosmos/ibc-go/v3/modules/core/23-commitment/types"
- "github.com/cosmos/ibc-go/v3/modules/core/exported"
+ clienttypes "github.com/cosmos/ibc-go/v4/modules/core/02-client/types"
+ commitmenttypes "github.com/cosmos/ibc-go/v4/modules/core/23-commitment/types"
+ "github.com/cosmos/ibc-go/v4/modules/core/exported"
)
var _ exported.Header = &Header{}
diff --git a/modules/light-clients/07-tendermint/types/header_test.go b/modules/light-clients/07-tendermint/types/header_test.go
index 8383a1a0be3..128882f8393 100644
--- a/modules/light-clients/07-tendermint/types/header_test.go
+++ b/modules/light-clients/07-tendermint/types/header_test.go
@@ -5,9 +5,9 @@ import (
tmprotocrypto "github.com/tendermint/tendermint/proto/tendermint/crypto"
- clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types"
- "github.com/cosmos/ibc-go/v3/modules/core/exported"
- "github.com/cosmos/ibc-go/v3/modules/light-clients/07-tendermint/types"
+ clienttypes "github.com/cosmos/ibc-go/v4/modules/core/02-client/types"
+ "github.com/cosmos/ibc-go/v4/modules/core/exported"
+ "github.com/cosmos/ibc-go/v4/modules/light-clients/07-tendermint/types"
)
func (suite *TendermintTestSuite) TestGetHeight() {
diff --git a/modules/light-clients/07-tendermint/types/misbehaviour.go b/modules/light-clients/07-tendermint/types/misbehaviour.go
index 28ea7aa3666..f4355cf21f6 100644
--- a/modules/light-clients/07-tendermint/types/misbehaviour.go
+++ b/modules/light-clients/07-tendermint/types/misbehaviour.go
@@ -7,9 +7,9 @@ import (
tmproto "github.com/tendermint/tendermint/proto/tendermint/types"
tmtypes "github.com/tendermint/tendermint/types"
- clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types"
- host "github.com/cosmos/ibc-go/v3/modules/core/24-host"
- "github.com/cosmos/ibc-go/v3/modules/core/exported"
+ clienttypes "github.com/cosmos/ibc-go/v4/modules/core/02-client/types"
+ host "github.com/cosmos/ibc-go/v4/modules/core/24-host"
+ "github.com/cosmos/ibc-go/v4/modules/core/exported"
)
var _ exported.Misbehaviour = &Misbehaviour{}
diff --git a/modules/light-clients/07-tendermint/types/misbehaviour_handle.go b/modules/light-clients/07-tendermint/types/misbehaviour_handle.go
index 67f4fccdd98..0f8a8f9c76b 100644
--- a/modules/light-clients/07-tendermint/types/misbehaviour_handle.go
+++ b/modules/light-clients/07-tendermint/types/misbehaviour_handle.go
@@ -9,8 +9,8 @@ import (
sdkerrors "github.com/cosmos/cosmos-sdk/types/errors"
tmtypes "github.com/tendermint/tendermint/types"
- clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types"
- "github.com/cosmos/ibc-go/v3/modules/core/exported"
+ clienttypes "github.com/cosmos/ibc-go/v4/modules/core/02-client/types"
+ "github.com/cosmos/ibc-go/v4/modules/core/exported"
)
// CheckMisbehaviourAndUpdateState determines whether or not two conflicting
diff --git a/modules/light-clients/07-tendermint/types/misbehaviour_handle_test.go b/modules/light-clients/07-tendermint/types/misbehaviour_handle_test.go
index 483e097435f..92711275887 100644
--- a/modules/light-clients/07-tendermint/types/misbehaviour_handle_test.go
+++ b/modules/light-clients/07-tendermint/types/misbehaviour_handle_test.go
@@ -7,11 +7,11 @@ import (
"github.com/tendermint/tendermint/crypto/tmhash"
tmtypes "github.com/tendermint/tendermint/types"
- clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types"
- commitmenttypes "github.com/cosmos/ibc-go/v3/modules/core/23-commitment/types"
- "github.com/cosmos/ibc-go/v3/modules/core/exported"
- "github.com/cosmos/ibc-go/v3/modules/light-clients/07-tendermint/types"
- ibctestingmock "github.com/cosmos/ibc-go/v3/testing/mock"
+ clienttypes "github.com/cosmos/ibc-go/v4/modules/core/02-client/types"
+ commitmenttypes "github.com/cosmos/ibc-go/v4/modules/core/23-commitment/types"
+ "github.com/cosmos/ibc-go/v4/modules/core/exported"
+ "github.com/cosmos/ibc-go/v4/modules/light-clients/07-tendermint/types"
+ ibctestingmock "github.com/cosmos/ibc-go/v4/testing/mock"
)
func (suite *TendermintTestSuite) TestCheckMisbehaviourAndUpdateState() {
diff --git a/modules/light-clients/07-tendermint/types/misbehaviour_test.go b/modules/light-clients/07-tendermint/types/misbehaviour_test.go
index 0ad5db5a7a5..5b67212be5e 100644
--- a/modules/light-clients/07-tendermint/types/misbehaviour_test.go
+++ b/modules/light-clients/07-tendermint/types/misbehaviour_test.go
@@ -7,11 +7,11 @@ import (
tmproto "github.com/tendermint/tendermint/proto/tendermint/types"
tmtypes "github.com/tendermint/tendermint/types"
- clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types"
- "github.com/cosmos/ibc-go/v3/modules/core/exported"
- "github.com/cosmos/ibc-go/v3/modules/light-clients/07-tendermint/types"
- ibctesting "github.com/cosmos/ibc-go/v3/testing"
- ibctestingmock "github.com/cosmos/ibc-go/v3/testing/mock"
+ clienttypes "github.com/cosmos/ibc-go/v4/modules/core/02-client/types"
+ "github.com/cosmos/ibc-go/v4/modules/core/exported"
+ "github.com/cosmos/ibc-go/v4/modules/light-clients/07-tendermint/types"
+ ibctesting "github.com/cosmos/ibc-go/v4/testing"
+ ibctestingmock "github.com/cosmos/ibc-go/v4/testing/mock"
)
func (suite *TendermintTestSuite) TestMisbehaviour() {
diff --git a/modules/light-clients/07-tendermint/types/proposal_handle.go b/modules/light-clients/07-tendermint/types/proposal_handle.go
index 88951205c22..85720f7eaeb 100644
--- a/modules/light-clients/07-tendermint/types/proposal_handle.go
+++ b/modules/light-clients/07-tendermint/types/proposal_handle.go
@@ -2,13 +2,14 @@ package types
import (
"reflect"
+ "time"
"github.com/cosmos/cosmos-sdk/codec"
sdk "github.com/cosmos/cosmos-sdk/types"
sdkerrors "github.com/cosmos/cosmos-sdk/types/errors"
- clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types"
- "github.com/cosmos/ibc-go/v3/modules/core/exported"
+ clienttypes "github.com/cosmos/ibc-go/v4/modules/core/02-client/types"
+ "github.com/cosmos/ibc-go/v4/modules/core/exported"
)
// CheckSubstituteAndUpdateState will try to update the client with the state of the
@@ -70,6 +71,9 @@ func (cs ClientState) CheckSubstituteAndUpdateState(
cs.LatestHeight = substituteClientState.LatestHeight
cs.ChainId = substituteClientState.ChainId
+ // set new trusting period based on the substitute client state
+ cs.TrustingPeriod = substituteClientState.TrustingPeriod
+
// no validation is necessary since the substitute is verified to be Active
// in 02-client.
@@ -77,13 +81,15 @@ func (cs ClientState) CheckSubstituteAndUpdateState(
}
// IsMatchingClientState returns true if all the client state parameters match
-// except for frozen height, latest height, and chain-id.
+// except for frozen height, latest height, trusting period, chain-id.
func IsMatchingClientState(subject, substitute ClientState) bool {
// zero out parameters which do not need to match
subject.LatestHeight = clienttypes.ZeroHeight()
subject.FrozenHeight = clienttypes.ZeroHeight()
+ subject.TrustingPeriod = time.Duration(0)
substitute.LatestHeight = clienttypes.ZeroHeight()
substitute.FrozenHeight = clienttypes.ZeroHeight()
+ substitute.TrustingPeriod = time.Duration(0)
subject.ChainId = ""
substitute.ChainId = ""
// sets both sets of flags to true as these flags have been DEPRECATED, see ADR-026 for more information
diff --git a/modules/light-clients/07-tendermint/types/proposal_handle_test.go b/modules/light-clients/07-tendermint/types/proposal_handle_test.go
index 0c3e9f054ef..bdd2d98ead5 100644
--- a/modules/light-clients/07-tendermint/types/proposal_handle_test.go
+++ b/modules/light-clients/07-tendermint/types/proposal_handle_test.go
@@ -3,10 +3,10 @@ package types_test
import (
"time"
- clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types"
- "github.com/cosmos/ibc-go/v3/modules/core/exported"
- "github.com/cosmos/ibc-go/v3/modules/light-clients/07-tendermint/types"
- ibctesting "github.com/cosmos/ibc-go/v3/testing"
+ clienttypes "github.com/cosmos/ibc-go/v4/modules/core/02-client/types"
+ "github.com/cosmos/ibc-go/v4/modules/core/exported"
+ "github.com/cosmos/ibc-go/v4/modules/light-clients/07-tendermint/types"
+ ibctesting "github.com/cosmos/ibc-go/v4/testing"
)
var frozenHeight = clienttypes.NewHeight(0, 1)
@@ -70,40 +70,40 @@ func (suite *TendermintTestSuite) TestCheckSubstituteUpdateStateBasic() {
// this is to prevent headers from failing when attempting to update later.
func (suite *TendermintTestSuite) TestCheckSubstituteAndUpdateState() {
testCases := []struct {
- name string
- FreezeClient bool
- ExpireClient bool
- expPass bool
+ name string
+ FreezeClient bool
+ ExpireClient bool
+ expPass bool
}{
{
- name: "PASS: update checks are deprecated, client is frozen and expired",
- FreezeClient: true,
- ExpireClient: true,
- expPass: true,
+ name: "PASS: update checks are deprecated, client is frozen and expired",
+ FreezeClient: true,
+ ExpireClient: true,
+ expPass: true,
},
{
- name: "PASS: update checks are deprecated, not frozen or expired",
- FreezeClient: false,
- ExpireClient: false,
- expPass: true,
+ name: "PASS: update checks are deprecated, not frozen or expired",
+ FreezeClient: false,
+ ExpireClient: false,
+ expPass: true,
},
{
- name: "PASS: update checks are deprecated, not frozen or expired",
- FreezeClient: false,
- ExpireClient: false,
- expPass: true,
+ name: "PASS: update checks are deprecated, not frozen or expired",
+ FreezeClient: false,
+ ExpireClient: false,
+ expPass: true,
},
{
- name: "PASS: update checks are deprecated, client is frozen",
- FreezeClient: true,
- ExpireClient: false,
- expPass: true,
+ name: "PASS: update checks are deprecated, client is frozen",
+ FreezeClient: true,
+ ExpireClient: false,
+ expPass: true,
},
{
- name: "PASS: update checks are deprecated, client is expired",
- FreezeClient: false,
- ExpireClient: true,
- expPass: true,
+ name: "PASS: update checks are deprecated, client is expired",
+ FreezeClient: false,
+ ExpireClient: true,
+ expPass: true,
},
}
@@ -141,6 +141,8 @@ func (suite *TendermintTestSuite) TestCheckSubstituteAndUpdateState() {
substitutePath := ibctesting.NewPath(suite.chainA, suite.chainB)
suite.coordinator.SetupClients(substitutePath)
substituteClientState := suite.chainA.GetClientState(substitutePath.EndpointA.ClientID).(*types.ClientState)
+ // update trusting period of substitute client state
+ substituteClientState.TrustingPeriod = time.Hour * 24 * 7
suite.chainA.App.GetIBCKeeper().ClientKeeper.SetClientState(suite.chainA.GetContext(), substitutePath.EndpointA.ClientID, substituteClientState)
// update substitute a few times
@@ -191,6 +193,7 @@ func (suite *TendermintTestSuite) TestCheckSubstituteAndUpdateState() {
suite.Require().Equal(expectedIterationKey, subjectIterationKey)
suite.Require().Equal(newChainID, updatedClient.(*types.ClientState).ChainId)
+ suite.Require().Equal(time.Hour*24*7, updatedClient.(*types.ClientState).TrustingPeriod)
} else {
suite.Require().Error(err)
suite.Require().Nil(updatedClient)
@@ -235,9 +238,15 @@ func (suite *TendermintTestSuite) TestIsMatchingClientState() {
}, true,
},
{
- "not matching, trusting period is different", func() {
+ "matching, trusting period is different", func() {
subjectClientState.TrustingPeriod = time.Duration(time.Hour * 10)
substituteClientState.TrustingPeriod = time.Duration(time.Hour * 1)
+ }, true,
+ },
+ {
+ "not matching, trust level is different", func() {
+ subjectClientState.TrustLevel = types.Fraction{2, 3}
+ substituteClientState.TrustLevel = types.Fraction{1, 3}
}, false,
},
}
diff --git a/modules/light-clients/07-tendermint/types/store.go b/modules/light-clients/07-tendermint/types/store.go
index 5cf7f5d8657..1c1157f65de 100644
--- a/modules/light-clients/07-tendermint/types/store.go
+++ b/modules/light-clients/07-tendermint/types/store.go
@@ -10,9 +10,9 @@ import (
sdk "github.com/cosmos/cosmos-sdk/types"
sdkerrors "github.com/cosmos/cosmos-sdk/types/errors"
- clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types"
- host "github.com/cosmos/ibc-go/v3/modules/core/24-host"
- "github.com/cosmos/ibc-go/v3/modules/core/exported"
+ clienttypes "github.com/cosmos/ibc-go/v4/modules/core/02-client/types"
+ host "github.com/cosmos/ibc-go/v4/modules/core/24-host"
+ "github.com/cosmos/ibc-go/v4/modules/core/exported"
)
/*
diff --git a/modules/light-clients/07-tendermint/types/store_test.go b/modules/light-clients/07-tendermint/types/store_test.go
index 22a8d069794..af003ba442d 100644
--- a/modules/light-clients/07-tendermint/types/store_test.go
+++ b/modules/light-clients/07-tendermint/types/store_test.go
@@ -4,13 +4,13 @@ import (
"math"
"time"
- clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types"
- commitmenttypes "github.com/cosmos/ibc-go/v3/modules/core/23-commitment/types"
- host "github.com/cosmos/ibc-go/v3/modules/core/24-host"
- "github.com/cosmos/ibc-go/v3/modules/core/exported"
- solomachinetypes "github.com/cosmos/ibc-go/v3/modules/light-clients/06-solomachine/types"
- "github.com/cosmos/ibc-go/v3/modules/light-clients/07-tendermint/types"
- ibctesting "github.com/cosmos/ibc-go/v3/testing"
+ clienttypes "github.com/cosmos/ibc-go/v4/modules/core/02-client/types"
+ commitmenttypes "github.com/cosmos/ibc-go/v4/modules/core/23-commitment/types"
+ host "github.com/cosmos/ibc-go/v4/modules/core/24-host"
+ "github.com/cosmos/ibc-go/v4/modules/core/exported"
+ solomachinetypes "github.com/cosmos/ibc-go/v4/modules/light-clients/06-solomachine/types"
+ "github.com/cosmos/ibc-go/v4/modules/light-clients/07-tendermint/types"
+ ibctesting "github.com/cosmos/ibc-go/v4/testing"
)
func (suite *TendermintTestSuite) TestGetConsensusState() {
diff --git a/modules/light-clients/07-tendermint/types/tendermint.pb.go b/modules/light-clients/07-tendermint/types/tendermint.pb.go
index bcb71558313..3c34c10a9ad 100644
--- a/modules/light-clients/07-tendermint/types/tendermint.pb.go
+++ b/modules/light-clients/07-tendermint/types/tendermint.pb.go
@@ -6,8 +6,8 @@ package types
import (
fmt "fmt"
_go "github.com/confio/ics23/go"
- types "github.com/cosmos/ibc-go/v3/modules/core/02-client/types"
- types1 "github.com/cosmos/ibc-go/v3/modules/core/23-commitment/types"
+ types "github.com/cosmos/ibc-go/v4/modules/core/02-client/types"
+ types1 "github.com/cosmos/ibc-go/v4/modules/core/23-commitment/types"
_ "github.com/gogo/protobuf/gogoproto"
proto "github.com/gogo/protobuf/proto"
github_com_gogo_protobuf_types "github.com/gogo/protobuf/types"
@@ -322,75 +322,75 @@ func init() {
}
var fileDescriptor_c6d6cf2b288949be = []byte{
- // 1080 bytes of a gzipped FileDescriptorProto
- 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x56, 0xcf, 0x6f, 0xe3, 0x44,
- 0x14, 0x6e, 0xda, 0xb2, 0x4d, 0x26, 0xe9, 0x76, 0x31, 0xa5, 0x9b, 0x96, 0x6e, 0x1c, 0x19, 0xa9,
- 0xe4, 0x40, 0x6d, 0x92, 0x22, 0x21, 0x55, 0x5c, 0x70, 0x77, 0x51, 0x8b, 0x58, 0xa9, 0x72, 0xf9,
- 0x21, 0x21, 0x21, 0x33, 0xb1, 0x27, 0xc9, 0x68, 0x6d, 0x8f, 0xe5, 0x99, 0x84, 0x96, 0xbf, 0x00,
- 0x0e, 0x48, 0x7b, 0x44, 0x9c, 0x38, 0xf0, 0xc7, 0xec, 0xb1, 0x47, 0x4e, 0x06, 0xb5, 0x57, 0x4e,
- 0x39, 0x72, 0x42, 0xf3, 0xc3, 0xf6, 0x34, 0xdb, 0xa5, 0x5a, 0x2e, 0xd1, 0xbc, 0xf7, 0xbe, 0xf7,
- 0x7d, 0x99, 0x37, 0x6f, 0xde, 0x18, 0x38, 0x78, 0x18, 0x38, 0x11, 0x1e, 0x4f, 0x58, 0x10, 0x61,
- 0x94, 0x30, 0xea, 0x30, 0x94, 0x84, 0x28, 0x8b, 0x71, 0xc2, 0x9c, 0x59, 0x5f, 0xb3, 0xec, 0x34,
- 0x23, 0x8c, 0x18, 0x1d, 0x3c, 0x0c, 0x6c, 0x3d, 0xc1, 0xd6, 0x20, 0xb3, 0xfe, 0x4e, 0x57, 0xcb,
- 0x67, 0x17, 0x29, 0xa2, 0xce, 0x0c, 0x46, 0x38, 0x84, 0x8c, 0x64, 0x92, 0x61, 0x67, 0xf7, 0x25,
- 0x84, 0xf8, 0x55, 0xd1, 0x56, 0x9a, 0x11, 0x32, 0x2a, 0xac, 0xce, 0x98, 0x90, 0x71, 0x84, 0x1c,
- 0x61, 0x0d, 0xa7, 0x23, 0x27, 0x9c, 0x66, 0x90, 0x61, 0x92, 0xa8, 0xb8, 0xb9, 0x18, 0x67, 0x38,
- 0x46, 0x94, 0xc1, 0x38, 0x2d, 0x00, 0x7c, 0x7f, 0x01, 0xc9, 0x90, 0x23, 0xff, 0x2e, 0xdf, 0x93,
- 0x5c, 0x29, 0xc0, 0x7b, 0x15, 0x80, 0xc4, 0x31, 0x66, 0x71, 0x01, 0x2a, 0x2d, 0x05, 0xdc, 0x1c,
- 0x93, 0x31, 0x11, 0x4b, 0x87, 0xaf, 0xa4, 0xd7, 0xfa, 0x7b, 0x0d, 0x34, 0x8f, 0x04, 0xdf, 0x19,
- 0x83, 0x0c, 0x19, 0xdb, 0xa0, 0x1e, 0x4c, 0x20, 0x4e, 0x7c, 0x1c, 0xb6, 0x6b, 0xdd, 0x5a, 0xaf,
- 0xe1, 0xad, 0x09, 0xfb, 0x24, 0x34, 0x10, 0x68, 0xb2, 0x6c, 0x4a, 0x99, 0x1f, 0xa1, 0x19, 0x8a,
- 0xda, 0xcb, 0xdd, 0x5a, 0xaf, 0x39, 0xe8, 0xd9, 0xff, 0x5d, 0x4f, 0xfb, 0xd3, 0x0c, 0x06, 0x7c,
- 0xc3, 0xee, 0xce, 0x8b, 0xdc, 0x5c, 0x9a, 0xe7, 0xa6, 0x71, 0x01, 0xe3, 0xe8, 0xd0, 0xd2, 0xa8,
- 0x2c, 0x0f, 0x08, 0xeb, 0x73, 0x6e, 0x18, 0x23, 0xb0, 0x21, 0x2c, 0x9c, 0x8c, 0xfd, 0x14, 0x65,
- 0x98, 0x84, 0xed, 0x15, 0x21, 0xb5, 0x6d, 0xcb, 0x62, 0xd9, 0x45, 0xb1, 0xec, 0xc7, 0xaa, 0x98,
- 0xae, 0xa5, 0xb8, 0xb7, 0x34, 0xee, 0x2a, 0xdf, 0xfa, 0xe5, 0x4f, 0xb3, 0xe6, 0xdd, 0x2f, 0xbc,
- 0xa7, 0xc2, 0x69, 0x60, 0xf0, 0x60, 0x9a, 0x0c, 0x49, 0x12, 0x6a, 0x42, 0xab, 0x77, 0x09, 0xbd,
- 0xab, 0x84, 0x1e, 0x4a, 0xa1, 0x45, 0x02, 0xa9, 0xb4, 0x51, 0xba, 0x95, 0x14, 0x02, 0x1b, 0x31,
- 0x3c, 0xf7, 0x83, 0x88, 0x04, 0xcf, 0xfc, 0x30, 0xc3, 0x23, 0xd6, 0x7e, 0xe3, 0x35, 0xb7, 0xb4,
- 0x90, 0x2f, 0x85, 0xd6, 0x63, 0x78, 0x7e, 0xc4, 0x9d, 0x8f, 0xb9, 0xcf, 0xf8, 0x16, 0xac, 0x8f,
- 0x32, 0xf2, 0x03, 0x4a, 0xfc, 0x09, 0xe2, 0x07, 0xd2, 0xbe, 0x27, 0x44, 0x76, 0xc4, 0x11, 0xf1,
- 0x16, 0xb1, 0x55, 0xe7, 0xcc, 0xfa, 0xf6, 0xb1, 0x40, 0xb8, 0xbb, 0x4a, 0x65, 0x53, 0xaa, 0xdc,
- 0x48, 0xb7, 0xbc, 0x96, 0xb4, 0x25, 0x96, 0xd3, 0x47, 0x90, 0x21, 0xca, 0x0a, 0xfa, 0xb5, 0xd7,
- 0xa5, 0xbf, 0x91, 0x6e, 0x79, 0x2d, 0x69, 0x2b, 0xfa, 0x13, 0xd0, 0x14, 0x57, 0xc7, 0xa7, 0x29,
- 0x0a, 0x68, 0xbb, 0xde, 0x5d, 0xe9, 0x35, 0x07, 0x0f, 0x6c, 0x1c, 0xd0, 0xc1, 0x81, 0x7d, 0xca,
- 0x23, 0x67, 0x29, 0x0a, 0xdc, 0xad, 0xaa, 0x85, 0x34, 0xb8, 0xe5, 0x81, 0xb4, 0x80, 0x50, 0xe3,
- 0x10, 0xb4, 0xa6, 0xe9, 0x38, 0x83, 0x21, 0xf2, 0x53, 0xc8, 0x26, 0xed, 0x46, 0x77, 0xa5, 0xd7,
- 0x70, 0x1f, 0xce, 0x73, 0xf3, 0x2d, 0x75, 0x6e, 0x5a, 0xd4, 0xf2, 0x9a, 0xca, 0x3c, 0x85, 0x6c,
- 0x62, 0x40, 0xb0, 0x0d, 0xa3, 0x88, 0x7c, 0xef, 0x4f, 0xd3, 0x10, 0x32, 0xe4, 0xc3, 0x11, 0x43,
- 0x99, 0x8f, 0xce, 0x53, 0x9c, 0x5d, 0xb4, 0x41, 0xb7, 0xd6, 0xab, 0xbb, 0x7b, 0xf3, 0xdc, 0xec,
- 0x4a, 0xa2, 0x57, 0x42, 0xad, 0x76, 0xcd, 0xdb, 0x12, 0xd1, 0x2f, 0x45, 0xf0, 0x13, 0x1e, 0x7b,
- 0x22, 0x42, 0x06, 0x05, 0xe6, 0x2d, 0x79, 0x31, 0xa6, 0x43, 0x34, 0x81, 0x33, 0x4c, 0xa6, 0x59,
- 0xbb, 0x29, 0x84, 0xde, 0x9f, 0xe7, 0xe6, 0xde, 0x2b, 0x85, 0xf4, 0x04, 0x2e, 0xb7, 0xbb, 0x28,
- 0xf7, 0x54, 0x03, 0x1c, 0xae, 0xfe, 0xf8, 0x9b, 0xb9, 0x64, 0xfd, 0xbe, 0x0c, 0xee, 0x1f, 0x91,
- 0x84, 0xa2, 0x84, 0x4e, 0xa9, 0xbc, 0xf1, 0x2e, 0x68, 0x94, 0x43, 0x47, 0x5c, 0x79, 0x7e, 0xa4,
- 0x8b, 0x6d, 0xf9, 0x45, 0x81, 0x70, 0xeb, 0xfc, 0x48, 0x9f, 0xf3, 0xee, 0xab, 0xd2, 0x8c, 0x8f,
- 0xc1, 0x6a, 0x46, 0x08, 0x53, 0x33, 0xc1, 0xd2, 0x3a, 0xa2, 0x9a, 0x42, 0xb3, 0xbe, 0xfd, 0x14,
- 0x65, 0xcf, 0x22, 0xe4, 0x11, 0xc2, 0xdc, 0x55, 0x4e, 0xe3, 0x89, 0x2c, 0xe3, 0xa7, 0x1a, 0xd8,
- 0x4c, 0xd0, 0x39, 0xf3, 0xcb, 0x49, 0x4b, 0xfd, 0x09, 0xa4, 0x13, 0x71, 0xef, 0x5b, 0xee, 0xd7,
- 0xf3, 0xdc, 0x7c, 0x47, 0x56, 0xe1, 0x36, 0x94, 0xf5, 0x4f, 0x6e, 0x7e, 0x38, 0xc6, 0x6c, 0x32,
- 0x1d, 0x72, 0x39, 0x7d, 0xfe, 0x6b, 0xcb, 0x08, 0x0f, 0xa9, 0x33, 0xbc, 0x60, 0x88, 0xda, 0xc7,
- 0xe8, 0xdc, 0xe5, 0x0b, 0xcf, 0xe0, 0x74, 0x5f, 0x95, 0x6c, 0xc7, 0x90, 0x4e, 0x54, 0x99, 0x7e,
- 0x5e, 0x06, 0x2d, 0xbd, 0x7a, 0x46, 0x1f, 0x34, 0x64, 0x73, 0x97, 0x73, 0xd1, 0xdd, 0x9c, 0xe7,
- 0xe6, 0x03, 0xf9, 0xb7, 0xca, 0x90, 0xe5, 0xd5, 0xe5, 0xfa, 0x24, 0x34, 0x20, 0xa8, 0x4f, 0x10,
- 0x0c, 0x51, 0xe6, 0xf7, 0x55, 0x5d, 0xf6, 0xee, 0x9a, 0x95, 0xc7, 0x02, 0xef, 0x76, 0xae, 0x72,
- 0x73, 0x4d, 0xae, 0xfb, 0xf3, 0xdc, 0xdc, 0x90, 0x22, 0x05, 0x99, 0xe5, 0xad, 0xc9, 0x65, 0x5f,
- 0x93, 0x18, 0xa8, 0x19, 0xf9, 0x3f, 0x24, 0x06, 0x2f, 0x49, 0x0c, 0x4a, 0x89, 0x81, 0xaa, 0xc7,
- 0xaf, 0x2b, 0xe0, 0x9e, 0x44, 0x1b, 0x10, 0xac, 0x53, 0x3c, 0x4e, 0x50, 0xe8, 0x4b, 0x88, 0x6a,
- 0x99, 0x8e, 0xae, 0x23, 0xdf, 0xc3, 0x33, 0x01, 0x53, 0x82, 0xbb, 0x97, 0xb9, 0x59, 0xab, 0x26,
- 0xc1, 0x0d, 0x0a, 0xcb, 0x6b, 0x51, 0x0d, 0xcb, 0x07, 0x4d, 0x79, 0xc6, 0x3e, 0x45, 0x45, 0x5b,
- 0xdd, 0x22, 0x51, 0x1e, 0xde, 0x19, 0x62, 0x6e, 0xbb, 0xa2, 0xbf, 0x91, 0x6e, 0x79, 0xad, 0x99,
- 0x86, 0x33, 0xbe, 0x03, 0xf2, 0x29, 0x10, 0xfa, 0x62, 0x90, 0xad, 0xdc, 0x39, 0xc8, 0x1e, 0xa9,
- 0x41, 0xf6, 0xb6, 0xf6, 0xc0, 0x94, 0xf9, 0x96, 0xb7, 0xae, 0x1c, 0x6a, 0x94, 0x45, 0xc0, 0x28,
- 0x10, 0x55, 0xb3, 0xaa, 0xc7, 0xe5, 0xae, 0x5d, 0x3c, 0x9a, 0xe7, 0xe6, 0xf6, 0x4d, 0x95, 0x8a,
- 0xc3, 0xf2, 0xde, 0x54, 0xce, 0xaa, 0x6d, 0xad, 0xcf, 0x40, 0xbd, 0x78, 0x64, 0x8d, 0x5d, 0xd0,
- 0x48, 0xa6, 0x31, 0xca, 0x78, 0x44, 0x9c, 0xcc, 0xaa, 0x57, 0x39, 0x8c, 0x2e, 0x68, 0x86, 0x28,
- 0x21, 0x31, 0x4e, 0x44, 0x7c, 0x59, 0xc4, 0x75, 0x97, 0xeb, 0xbf, 0xb8, 0xea, 0xd4, 0x2e, 0xaf,
- 0x3a, 0xb5, 0xbf, 0xae, 0x3a, 0xb5, 0xe7, 0xd7, 0x9d, 0xa5, 0xcb, 0xeb, 0xce, 0xd2, 0x1f, 0xd7,
- 0x9d, 0xa5, 0x6f, 0x9e, 0x68, 0x57, 0x2c, 0x20, 0x34, 0x26, 0x94, 0x7f, 0x7a, 0xed, 0x8f, 0x89,
- 0x33, 0x3b, 0x70, 0x62, 0x12, 0x4e, 0x23, 0x44, 0xe5, 0x87, 0xd8, 0x7e, 0xf1, 0x25, 0xf6, 0xc1,
- 0x47, 0xfb, 0x8b, 0x9f, 0x4a, 0xc3, 0x7b, 0x62, 0xa4, 0x1c, 0xfc, 0x1b, 0x00, 0x00, 0xff, 0xff,
- 0x31, 0x4f, 0x07, 0x47, 0xb8, 0x09, 0x00, 0x00,
+ // 1082 bytes of a gzipped FileDescriptorProto
+ 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x56, 0xcf, 0x6f, 0xe3, 0xc4,
+ 0x17, 0x6f, 0xda, 0x7e, 0xb7, 0xc9, 0x24, 0xdd, 0xf6, 0x6b, 0x4a, 0x37, 0x2d, 0xdd, 0x38, 0x32,
+ 0x52, 0xc9, 0x81, 0xda, 0x24, 0xbb, 0x12, 0x52, 0xc5, 0x05, 0x77, 0x17, 0xb5, 0x88, 0x95, 0x2a,
+ 0x97, 0x1f, 0x12, 0x12, 0x32, 0x13, 0x7b, 0x92, 0x8c, 0xd6, 0xf6, 0x58, 0x9e, 0x49, 0x68, 0xf9,
+ 0x0b, 0xe0, 0x80, 0xb4, 0x47, 0xc4, 0x89, 0x03, 0x7f, 0xcc, 0x1e, 0x7b, 0xe4, 0x64, 0x50, 0x7b,
+ 0xe5, 0x94, 0x23, 0x27, 0x34, 0x3f, 0x6c, 0x4f, 0xb3, 0x5d, 0xaa, 0xe5, 0x12, 0xcd, 0x7b, 0xef,
+ 0xf3, 0x3e, 0x9f, 0xcc, 0x9b, 0x37, 0x6f, 0x0c, 0x1c, 0x3c, 0x0c, 0x9c, 0x08, 0x8f, 0x27, 0x2c,
+ 0x88, 0x30, 0x4a, 0x18, 0x75, 0x18, 0x4a, 0x42, 0x94, 0xc5, 0x38, 0x61, 0xce, 0xac, 0xaf, 0x59,
+ 0x76, 0x9a, 0x11, 0x46, 0x8c, 0x0e, 0x1e, 0x06, 0xb6, 0x9e, 0x60, 0x6b, 0x90, 0x59, 0x7f, 0xb7,
+ 0xab, 0xe5, 0xb3, 0x8b, 0x14, 0x51, 0x67, 0x06, 0x23, 0x1c, 0x42, 0x46, 0x32, 0xc9, 0xb0, 0xbb,
+ 0xf7, 0x0a, 0x42, 0xfc, 0xaa, 0x68, 0x2b, 0xcd, 0x08, 0x19, 0x15, 0x56, 0x67, 0x4c, 0xc8, 0x38,
+ 0x42, 0x8e, 0xb0, 0x86, 0xd3, 0x91, 0x13, 0x4e, 0x33, 0xc8, 0x30, 0x49, 0x54, 0xdc, 0x5c, 0x8c,
+ 0x33, 0x1c, 0x23, 0xca, 0x60, 0x9c, 0x16, 0x00, 0xbe, 0xbf, 0x80, 0x64, 0xc8, 0x91, 0x7f, 0x97,
+ 0xef, 0x49, 0xae, 0x14, 0xe0, 0xbd, 0x0a, 0x40, 0xe2, 0x18, 0xb3, 0xb8, 0x00, 0x95, 0x96, 0x02,
+ 0x6e, 0x8d, 0xc9, 0x98, 0x88, 0xa5, 0xc3, 0x57, 0xd2, 0x6b, 0xfd, 0xb5, 0x06, 0x9a, 0x47, 0x82,
+ 0xef, 0x8c, 0x41, 0x86, 0x8c, 0x1d, 0x50, 0x0f, 0x26, 0x10, 0x27, 0x3e, 0x0e, 0xdb, 0xb5, 0x6e,
+ 0xad, 0xd7, 0xf0, 0xd6, 0x84, 0x7d, 0x12, 0x1a, 0x08, 0x34, 0x59, 0x36, 0xa5, 0xcc, 0x8f, 0xd0,
+ 0x0c, 0x45, 0xed, 0xe5, 0x6e, 0xad, 0xd7, 0x1c, 0xf4, 0xec, 0x7f, 0xaf, 0xa7, 0xfd, 0x49, 0x06,
+ 0x03, 0xbe, 0x61, 0x77, 0xf7, 0x65, 0x6e, 0x2e, 0xcd, 0x73, 0xd3, 0xb8, 0x80, 0x71, 0x74, 0x68,
+ 0x69, 0x54, 0x96, 0x07, 0x84, 0xf5, 0x19, 0x37, 0x8c, 0x11, 0xd8, 0x10, 0x16, 0x4e, 0xc6, 0x7e,
+ 0x8a, 0x32, 0x4c, 0xc2, 0xf6, 0x8a, 0x90, 0xda, 0xb1, 0x65, 0xb1, 0xec, 0xa2, 0x58, 0xf6, 0x13,
+ 0x55, 0x4c, 0xd7, 0x52, 0xdc, 0xdb, 0x1a, 0x77, 0x95, 0x6f, 0xfd, 0xfc, 0x87, 0x59, 0xf3, 0xee,
+ 0x17, 0xde, 0x53, 0xe1, 0x34, 0x30, 0xd8, 0x9c, 0x26, 0x43, 0x92, 0x84, 0x9a, 0xd0, 0xea, 0x5d,
+ 0x42, 0xef, 0x2a, 0xa1, 0x07, 0x52, 0x68, 0x91, 0x40, 0x2a, 0x6d, 0x94, 0x6e, 0x25, 0x85, 0xc0,
+ 0x46, 0x0c, 0xcf, 0xfd, 0x20, 0x22, 0xc1, 0x73, 0x3f, 0xcc, 0xf0, 0x88, 0xb5, 0xff, 0xf7, 0x86,
+ 0x5b, 0x5a, 0xc8, 0x97, 0x42, 0xeb, 0x31, 0x3c, 0x3f, 0xe2, 0xce, 0x27, 0xdc, 0x67, 0x7c, 0x03,
+ 0xd6, 0x47, 0x19, 0xf9, 0x1e, 0x25, 0xfe, 0x04, 0xf1, 0x03, 0x69, 0xdf, 0x13, 0x22, 0xbb, 0xe2,
+ 0x88, 0x78, 0x8b, 0xd8, 0xaa, 0x73, 0x66, 0x7d, 0xfb, 0x58, 0x20, 0xdc, 0x3d, 0xa5, 0xb2, 0x25,
+ 0x55, 0x6e, 0xa4, 0x5b, 0x5e, 0x4b, 0xda, 0x12, 0xcb, 0xe9, 0x23, 0xc8, 0x10, 0x65, 0x05, 0xfd,
+ 0xda, 0x9b, 0xd2, 0xdf, 0x48, 0xb7, 0xbc, 0x96, 0xb4, 0x15, 0xfd, 0x09, 0x68, 0x8a, 0xab, 0xe3,
+ 0xd3, 0x14, 0x05, 0xb4, 0x5d, 0xef, 0xae, 0xf4, 0x9a, 0x83, 0x4d, 0x1b, 0x07, 0x74, 0xf0, 0xc8,
+ 0x3e, 0xe5, 0x91, 0xb3, 0x14, 0x05, 0xee, 0x76, 0xd5, 0x42, 0x1a, 0xdc, 0xf2, 0x40, 0x5a, 0x40,
+ 0xa8, 0x71, 0x08, 0x5a, 0xd3, 0x74, 0x9c, 0xc1, 0x10, 0xf9, 0x29, 0x64, 0x93, 0x76, 0xa3, 0xbb,
+ 0xd2, 0x6b, 0xb8, 0x0f, 0xe6, 0xb9, 0xf9, 0x96, 0x3a, 0x37, 0x2d, 0x6a, 0x79, 0x4d, 0x65, 0x9e,
+ 0x42, 0x36, 0x31, 0x20, 0xd8, 0x81, 0x51, 0x44, 0xbe, 0xf3, 0xa7, 0x69, 0x08, 0x19, 0xf2, 0xe1,
+ 0x88, 0xa1, 0xcc, 0x47, 0xe7, 0x29, 0xce, 0x2e, 0xda, 0xa0, 0x5b, 0xeb, 0xd5, 0xdd, 0xfd, 0x79,
+ 0x6e, 0x76, 0x25, 0xd1, 0x6b, 0xa1, 0x56, 0xbb, 0xe6, 0x6d, 0x8b, 0xe8, 0x17, 0x22, 0xf8, 0x31,
+ 0x8f, 0x3d, 0x15, 0x21, 0x83, 0x02, 0xf3, 0x96, 0xbc, 0x18, 0xd3, 0x21, 0x9a, 0xc0, 0x19, 0x26,
+ 0xd3, 0xac, 0xdd, 0x14, 0x42, 0xef, 0xcf, 0x73, 0x73, 0xff, 0xb5, 0x42, 0x7a, 0x02, 0x97, 0xdb,
+ 0x5b, 0x94, 0x7b, 0xa6, 0x01, 0x0e, 0x57, 0x7f, 0xf8, 0xd5, 0x5c, 0xb2, 0x7e, 0x5b, 0x06, 0xf7,
+ 0x8f, 0x48, 0x42, 0x51, 0x42, 0xa7, 0x54, 0xde, 0x78, 0x17, 0x34, 0xca, 0xa1, 0x23, 0xae, 0x3c,
+ 0x3f, 0xd2, 0xc5, 0xb6, 0xfc, 0xbc, 0x40, 0xb8, 0x75, 0x7e, 0xa4, 0x2f, 0x78, 0xf7, 0x55, 0x69,
+ 0xc6, 0x47, 0x60, 0x35, 0x23, 0x84, 0xa9, 0x99, 0x60, 0x69, 0x1d, 0x51, 0x4d, 0xa1, 0x59, 0xdf,
+ 0x7e, 0x86, 0xb2, 0xe7, 0x11, 0xf2, 0x08, 0x61, 0xee, 0x2a, 0xa7, 0xf1, 0x44, 0x96, 0xf1, 0x63,
+ 0x0d, 0x6c, 0x25, 0xe8, 0x9c, 0xf9, 0xe5, 0xa4, 0xa5, 0xfe, 0x04, 0xd2, 0x89, 0xb8, 0xf7, 0x2d,
+ 0xf7, 0xab, 0x79, 0x6e, 0xbe, 0x23, 0xab, 0x70, 0x1b, 0xca, 0xfa, 0x3b, 0x37, 0x1f, 0x8f, 0x31,
+ 0x9b, 0x4c, 0x87, 0x5c, 0x4e, 0x9f, 0xff, 0xda, 0x32, 0xc2, 0x43, 0xea, 0x0c, 0x2f, 0x18, 0xa2,
+ 0xf6, 0x31, 0x3a, 0x77, 0xf9, 0xc2, 0x33, 0x38, 0xdd, 0x97, 0x25, 0xdb, 0x31, 0xa4, 0x13, 0x55,
+ 0xa6, 0x9f, 0x96, 0x41, 0x4b, 0xaf, 0x9e, 0xd1, 0x07, 0x0d, 0xd9, 0xdc, 0xe5, 0x5c, 0x74, 0xb7,
+ 0xe6, 0xb9, 0xb9, 0x29, 0xff, 0x56, 0x19, 0xb2, 0xbc, 0xba, 0x5c, 0x9f, 0x84, 0x06, 0x04, 0xf5,
+ 0x09, 0x82, 0x21, 0xca, 0xfc, 0xbe, 0xaa, 0xcb, 0xfe, 0x5d, 0xb3, 0xf2, 0x58, 0xe0, 0xdd, 0xce,
+ 0x55, 0x6e, 0xae, 0xc9, 0x75, 0x7f, 0x9e, 0x9b, 0x1b, 0x52, 0xa4, 0x20, 0xb3, 0xbc, 0x35, 0xb9,
+ 0xec, 0x6b, 0x12, 0x03, 0x35, 0x23, 0xff, 0x83, 0xc4, 0xe0, 0x15, 0x89, 0x41, 0x29, 0x31, 0x50,
+ 0xf5, 0xf8, 0x65, 0x05, 0xdc, 0x93, 0x68, 0x03, 0x82, 0x75, 0x8a, 0xc7, 0x09, 0x0a, 0x7d, 0x09,
+ 0x51, 0x2d, 0xd3, 0xd1, 0x75, 0xe4, 0x7b, 0x78, 0x26, 0x60, 0x4a, 0x70, 0xef, 0x32, 0x37, 0x6b,
+ 0xd5, 0x24, 0xb8, 0x41, 0x61, 0x79, 0x2d, 0xaa, 0x61, 0xf9, 0xa0, 0x29, 0xcf, 0xd8, 0xa7, 0xa8,
+ 0x68, 0xab, 0x5b, 0x24, 0xca, 0xc3, 0x3b, 0x43, 0xcc, 0x6d, 0x57, 0xf4, 0x37, 0xd2, 0x2d, 0xaf,
+ 0x35, 0xd3, 0x70, 0xc6, 0xb7, 0x40, 0x3e, 0x05, 0x42, 0x5f, 0x0c, 0xb2, 0x95, 0x3b, 0x07, 0xd9,
+ 0x43, 0x35, 0xc8, 0xde, 0xd6, 0x1e, 0x98, 0x32, 0xdf, 0xf2, 0xd6, 0x95, 0x43, 0x8d, 0xb2, 0x08,
+ 0x18, 0x05, 0xa2, 0x6a, 0x56, 0xf5, 0xb8, 0xdc, 0xb5, 0x8b, 0x87, 0xf3, 0xdc, 0xdc, 0xb9, 0xa9,
+ 0x52, 0x71, 0x58, 0xde, 0xff, 0x95, 0xb3, 0x6a, 0x5b, 0xeb, 0x53, 0x50, 0x2f, 0x1e, 0x59, 0x63,
+ 0x0f, 0x34, 0x92, 0x69, 0x8c, 0x32, 0x1e, 0x11, 0x27, 0xb3, 0xea, 0x55, 0x0e, 0xa3, 0x0b, 0x9a,
+ 0x21, 0x4a, 0x48, 0x8c, 0x13, 0x11, 0x5f, 0x16, 0x71, 0xdd, 0xe5, 0xfa, 0x2f, 0xaf, 0x3a, 0xb5,
+ 0xcb, 0xab, 0x4e, 0xed, 0xcf, 0xab, 0x4e, 0xed, 0xc5, 0x75, 0x67, 0xe9, 0xf2, 0xba, 0xb3, 0xf4,
+ 0xfb, 0x75, 0x67, 0xe9, 0xeb, 0xa7, 0xda, 0x15, 0x0b, 0x08, 0x8d, 0x09, 0xe5, 0x9f, 0x5e, 0x07,
+ 0x63, 0xe2, 0xcc, 0x1e, 0x3b, 0x31, 0x09, 0xa7, 0x11, 0xa2, 0xf2, 0x43, 0xec, 0xa0, 0xf8, 0x12,
+ 0xfb, 0xe0, 0xc3, 0x83, 0xc5, 0x4f, 0xa5, 0xe1, 0x3d, 0x31, 0x52, 0x1e, 0xfd, 0x13, 0x00, 0x00,
+ 0xff, 0xff, 0x0b, 0x9f, 0x2c, 0x5c, 0xb8, 0x09, 0x00, 0x00,
}
func (m *ClientState) Marshal() (dAtA []byte, err error) {
diff --git a/modules/light-clients/07-tendermint/types/tendermint_test.go b/modules/light-clients/07-tendermint/types/tendermint_test.go
index 898a48efe72..f653f94fe48 100644
--- a/modules/light-clients/07-tendermint/types/tendermint_test.go
+++ b/modules/light-clients/07-tendermint/types/tendermint_test.go
@@ -11,11 +11,11 @@ import (
tmproto "github.com/tendermint/tendermint/proto/tendermint/types"
tmtypes "github.com/tendermint/tendermint/types"
- clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types"
- ibctmtypes "github.com/cosmos/ibc-go/v3/modules/light-clients/07-tendermint/types"
- ibctesting "github.com/cosmos/ibc-go/v3/testing"
- ibctestingmock "github.com/cosmos/ibc-go/v3/testing/mock"
- "github.com/cosmos/ibc-go/v3/testing/simapp"
+ clienttypes "github.com/cosmos/ibc-go/v4/modules/core/02-client/types"
+ ibctmtypes "github.com/cosmos/ibc-go/v4/modules/light-clients/07-tendermint/types"
+ ibctesting "github.com/cosmos/ibc-go/v4/testing"
+ ibctestingmock "github.com/cosmos/ibc-go/v4/testing/mock"
+ "github.com/cosmos/ibc-go/v4/testing/simapp"
)
const (
diff --git a/modules/light-clients/07-tendermint/types/update.go b/modules/light-clients/07-tendermint/types/update.go
index c4d422ccb73..b75e9ddbf9e 100644
--- a/modules/light-clients/07-tendermint/types/update.go
+++ b/modules/light-clients/07-tendermint/types/update.go
@@ -11,9 +11,9 @@ import (
"github.com/tendermint/tendermint/light"
tmtypes "github.com/tendermint/tendermint/types"
- clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types"
- commitmenttypes "github.com/cosmos/ibc-go/v3/modules/core/23-commitment/types"
- "github.com/cosmos/ibc-go/v3/modules/core/exported"
+ clienttypes "github.com/cosmos/ibc-go/v4/modules/core/02-client/types"
+ commitmenttypes "github.com/cosmos/ibc-go/v4/modules/core/23-commitment/types"
+ "github.com/cosmos/ibc-go/v4/modules/core/exported"
)
// CheckHeaderAndUpdateState checks if the provided header is valid, and if valid it will:
diff --git a/modules/light-clients/07-tendermint/types/update_test.go b/modules/light-clients/07-tendermint/types/update_test.go
index 379ccba5e00..9dae5d56f7d 100644
--- a/modules/light-clients/07-tendermint/types/update_test.go
+++ b/modules/light-clients/07-tendermint/types/update_test.go
@@ -6,12 +6,12 @@ import (
tmtypes "github.com/tendermint/tendermint/types"
- clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types"
- commitmenttypes "github.com/cosmos/ibc-go/v3/modules/core/23-commitment/types"
- "github.com/cosmos/ibc-go/v3/modules/core/exported"
- types "github.com/cosmos/ibc-go/v3/modules/light-clients/07-tendermint/types"
- ibctesting "github.com/cosmos/ibc-go/v3/testing"
- ibctestingmock "github.com/cosmos/ibc-go/v3/testing/mock"
+ clienttypes "github.com/cosmos/ibc-go/v4/modules/core/02-client/types"
+ commitmenttypes "github.com/cosmos/ibc-go/v4/modules/core/23-commitment/types"
+ "github.com/cosmos/ibc-go/v4/modules/core/exported"
+ types "github.com/cosmos/ibc-go/v4/modules/light-clients/07-tendermint/types"
+ ibctesting "github.com/cosmos/ibc-go/v4/testing"
+ ibctestingmock "github.com/cosmos/ibc-go/v4/testing/mock"
)
func (suite *TendermintTestSuite) TestCheckHeaderAndUpdateState() {
diff --git a/modules/light-clients/07-tendermint/types/upgrade.go b/modules/light-clients/07-tendermint/types/upgrade.go
index 5e23c8d9036..b5b5ebe40f4 100644
--- a/modules/light-clients/07-tendermint/types/upgrade.go
+++ b/modules/light-clients/07-tendermint/types/upgrade.go
@@ -8,9 +8,9 @@ import (
sdkerrors "github.com/cosmos/cosmos-sdk/types/errors"
upgradetypes "github.com/cosmos/cosmos-sdk/x/upgrade/types"
- clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types"
- commitmenttypes "github.com/cosmos/ibc-go/v3/modules/core/23-commitment/types"
- "github.com/cosmos/ibc-go/v3/modules/core/exported"
+ clienttypes "github.com/cosmos/ibc-go/v4/modules/core/02-client/types"
+ commitmenttypes "github.com/cosmos/ibc-go/v4/modules/core/23-commitment/types"
+ "github.com/cosmos/ibc-go/v4/modules/core/exported"
)
// VerifyUpgradeAndUpdateState checks if the upgraded client has been committed by the current client
diff --git a/modules/light-clients/07-tendermint/types/upgrade_test.go b/modules/light-clients/07-tendermint/types/upgrade_test.go
index 6ad81df3520..c5f1216e8b8 100644
--- a/modules/light-clients/07-tendermint/types/upgrade_test.go
+++ b/modules/light-clients/07-tendermint/types/upgrade_test.go
@@ -3,11 +3,11 @@ package types_test
import (
upgradetypes "github.com/cosmos/cosmos-sdk/x/upgrade/types"
- clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types"
- commitmenttypes "github.com/cosmos/ibc-go/v3/modules/core/23-commitment/types"
- "github.com/cosmos/ibc-go/v3/modules/core/exported"
- "github.com/cosmos/ibc-go/v3/modules/light-clients/07-tendermint/types"
- ibctesting "github.com/cosmos/ibc-go/v3/testing"
+ clienttypes "github.com/cosmos/ibc-go/v4/modules/core/02-client/types"
+ commitmenttypes "github.com/cosmos/ibc-go/v4/modules/core/23-commitment/types"
+ "github.com/cosmos/ibc-go/v4/modules/core/exported"
+ "github.com/cosmos/ibc-go/v4/modules/light-clients/07-tendermint/types"
+ ibctesting "github.com/cosmos/ibc-go/v4/testing"
)
var newChainId = "newChainId-1"
diff --git a/modules/light-clients/09-localhost/module.go b/modules/light-clients/09-localhost/module.go
index e8d9eff55cf..fd77e2e62b5 100644
--- a/modules/light-clients/09-localhost/module.go
+++ b/modules/light-clients/09-localhost/module.go
@@ -1,7 +1,7 @@
package localhost
import (
- "github.com/cosmos/ibc-go/v3/modules/light-clients/09-localhost/types"
+ "github.com/cosmos/ibc-go/v4/modules/light-clients/09-localhost/types"
)
// Name returns the IBC client name
diff --git a/modules/light-clients/09-localhost/types/client_state.go b/modules/light-clients/09-localhost/types/client_state.go
index 1670d4f1e6b..d75690bee7c 100644
--- a/modules/light-clients/09-localhost/types/client_state.go
+++ b/modules/light-clients/09-localhost/types/client_state.go
@@ -10,11 +10,11 @@ import (
sdk "github.com/cosmos/cosmos-sdk/types"
sdkerrors "github.com/cosmos/cosmos-sdk/types/errors"
- clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types"
- connectiontypes "github.com/cosmos/ibc-go/v3/modules/core/03-connection/types"
- channeltypes "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types"
- host "github.com/cosmos/ibc-go/v3/modules/core/24-host"
- "github.com/cosmos/ibc-go/v3/modules/core/exported"
+ clienttypes "github.com/cosmos/ibc-go/v4/modules/core/02-client/types"
+ connectiontypes "github.com/cosmos/ibc-go/v4/modules/core/03-connection/types"
+ channeltypes "github.com/cosmos/ibc-go/v4/modules/core/04-channel/types"
+ host "github.com/cosmos/ibc-go/v4/modules/core/24-host"
+ "github.com/cosmos/ibc-go/v4/modules/core/exported"
)
var _ exported.ClientState = (*ClientState)(nil)
diff --git a/modules/light-clients/09-localhost/types/client_state_test.go b/modules/light-clients/09-localhost/types/client_state_test.go
index 04b57fcbbf0..75d827f3ae8 100644
--- a/modules/light-clients/09-localhost/types/client_state_test.go
+++ b/modules/light-clients/09-localhost/types/client_state_test.go
@@ -3,14 +3,14 @@ package types_test
import (
sdk "github.com/cosmos/cosmos-sdk/types"
- clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types"
- connectiontypes "github.com/cosmos/ibc-go/v3/modules/core/03-connection/types"
- channeltypes "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types"
- commitmenttypes "github.com/cosmos/ibc-go/v3/modules/core/23-commitment/types"
- host "github.com/cosmos/ibc-go/v3/modules/core/24-host"
- "github.com/cosmos/ibc-go/v3/modules/core/exported"
- ibctmtypes "github.com/cosmos/ibc-go/v3/modules/light-clients/07-tendermint/types"
- "github.com/cosmos/ibc-go/v3/modules/light-clients/09-localhost/types"
+ clienttypes "github.com/cosmos/ibc-go/v4/modules/core/02-client/types"
+ connectiontypes "github.com/cosmos/ibc-go/v4/modules/core/03-connection/types"
+ channeltypes "github.com/cosmos/ibc-go/v4/modules/core/04-channel/types"
+ commitmenttypes "github.com/cosmos/ibc-go/v4/modules/core/23-commitment/types"
+ host "github.com/cosmos/ibc-go/v4/modules/core/24-host"
+ "github.com/cosmos/ibc-go/v4/modules/core/exported"
+ ibctmtypes "github.com/cosmos/ibc-go/v4/modules/light-clients/07-tendermint/types"
+ "github.com/cosmos/ibc-go/v4/modules/light-clients/09-localhost/types"
)
const (
diff --git a/modules/light-clients/09-localhost/types/codec.go b/modules/light-clients/09-localhost/types/codec.go
index a1f48114bd4..96e414a95c4 100644
--- a/modules/light-clients/09-localhost/types/codec.go
+++ b/modules/light-clients/09-localhost/types/codec.go
@@ -3,7 +3,7 @@ package types
import (
codectypes "github.com/cosmos/cosmos-sdk/codec/types"
- "github.com/cosmos/ibc-go/v3/modules/core/exported"
+ "github.com/cosmos/ibc-go/v4/modules/core/exported"
)
// RegisterInterfaces register the ibc interfaces submodule implementations to protobuf
diff --git a/modules/light-clients/09-localhost/types/localhost.pb.go b/modules/light-clients/09-localhost/types/localhost.pb.go
index 60fecb51822..15ef33136e9 100644
--- a/modules/light-clients/09-localhost/types/localhost.pb.go
+++ b/modules/light-clients/09-localhost/types/localhost.pb.go
@@ -5,7 +5,7 @@ package types
import (
fmt "fmt"
- types "github.com/cosmos/ibc-go/v3/modules/core/02-client/types"
+ types "github.com/cosmos/ibc-go/v4/modules/core/02-client/types"
_ "github.com/gogo/protobuf/gogoproto"
proto "github.com/gogo/protobuf/proto"
io "io"
@@ -91,9 +91,9 @@ var fileDescriptor_acd9f5b22d41bf6d = []byte{
0x47, 0x72, 0x8c, 0x17, 0x1e, 0xc9, 0x31, 0x3e, 0x78, 0x24, 0xc7, 0x38, 0xe1, 0xb1, 0x1c, 0xc3,
0x85, 0xc7, 0x72, 0x0c, 0x37, 0x1e, 0xcb, 0x31, 0x44, 0xb9, 0xa4, 0x67, 0x96, 0x64, 0x94, 0x26,
0xe9, 0x25, 0xe7, 0xe7, 0xea, 0x27, 0xe7, 0x17, 0xe7, 0xe6, 0x17, 0xeb, 0x67, 0x26, 0x25, 0xeb,
- 0xa6, 0xe7, 0xeb, 0x97, 0x19, 0xeb, 0xe7, 0xe6, 0xa7, 0x94, 0xe6, 0xa4, 0x16, 0x43, 0x42, 0x4f,
+ 0xa6, 0xe7, 0xeb, 0x97, 0x99, 0xe8, 0xe7, 0xe6, 0xa7, 0x94, 0xe6, 0xa4, 0x16, 0x43, 0x42, 0x4f,
0x17, 0x16, 0x7c, 0x06, 0x96, 0xba, 0x88, 0x10, 0x2c, 0xa9, 0x2c, 0x48, 0x2d, 0x4e, 0x62, 0x03,
- 0xfb, 0xd2, 0x18, 0x10, 0x00, 0x00, 0xff, 0xff, 0xd1, 0xbf, 0x6a, 0xbf, 0x6c, 0x01, 0x00, 0x00,
+ 0xfb, 0xd2, 0x18, 0x10, 0x00, 0x00, 0xff, 0xff, 0x84, 0xfe, 0x1f, 0x95, 0x6c, 0x01, 0x00, 0x00,
}
func (m *ClientState) Marshal() (dAtA []byte, err error) {
diff --git a/modules/light-clients/09-localhost/types/localhost_test.go b/modules/light-clients/09-localhost/types/localhost_test.go
index cb80d5ba424..56bf9379fbe 100644
--- a/modules/light-clients/09-localhost/types/localhost_test.go
+++ b/modules/light-clients/09-localhost/types/localhost_test.go
@@ -8,9 +8,9 @@ import (
"github.com/stretchr/testify/suite"
tmproto "github.com/tendermint/tendermint/proto/tendermint/types"
- clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types"
- "github.com/cosmos/ibc-go/v3/modules/core/exported"
- "github.com/cosmos/ibc-go/v3/testing/simapp"
+ clienttypes "github.com/cosmos/ibc-go/v4/modules/core/02-client/types"
+ "github.com/cosmos/ibc-go/v4/modules/core/exported"
+ "github.com/cosmos/ibc-go/v4/testing/simapp"
)
const (
diff --git a/proto/ibc/applications/fee/v1/ack.proto b/proto/ibc/applications/fee/v1/ack.proto
index 88b4d9fdd2c..b6c20acf74e 100644
--- a/proto/ibc/applications/fee/v1/ack.proto
+++ b/proto/ibc/applications/fee/v1/ack.proto
@@ -2,7 +2,7 @@ syntax = "proto3";
package ibc.applications.fee.v1;
-option go_package = "github.com/cosmos/ibc-go/v3/modules/apps/29-fee/types";
+option go_package = "github.com/cosmos/ibc-go/v4/modules/apps/29-fee/types";
import "gogoproto/gogo.proto";
diff --git a/proto/ibc/applications/fee/v1/fee.proto b/proto/ibc/applications/fee/v1/fee.proto
index e7a1fa438df..d85ebcfeb31 100644
--- a/proto/ibc/applications/fee/v1/fee.proto
+++ b/proto/ibc/applications/fee/v1/fee.proto
@@ -2,7 +2,7 @@ syntax = "proto3";
package ibc.applications.fee.v1;
-option go_package = "github.com/cosmos/ibc-go/v3/modules/apps/29-fee/types";
+option go_package = "github.com/cosmos/ibc-go/v4/modules/apps/29-fee/types";
import "cosmos/base/v1beta1/coin.proto";
import "gogoproto/gogo.proto";
diff --git a/proto/ibc/applications/fee/v1/genesis.proto b/proto/ibc/applications/fee/v1/genesis.proto
index 601f32ca5d0..9bce6ac599b 100644
--- a/proto/ibc/applications/fee/v1/genesis.proto
+++ b/proto/ibc/applications/fee/v1/genesis.proto
@@ -2,7 +2,7 @@ syntax = "proto3";
package ibc.applications.fee.v1;
-option go_package = "github.com/cosmos/ibc-go/v3/modules/apps/29-fee/types";
+option go_package = "github.com/cosmos/ibc-go/v4/modules/apps/29-fee/types";
import "gogoproto/gogo.proto";
import "ibc/applications/fee/v1/fee.proto";
diff --git a/proto/ibc/applications/fee/v1/metadata.proto b/proto/ibc/applications/fee/v1/metadata.proto
index 0afb3e09b2e..e1ec1b12bfd 100644
--- a/proto/ibc/applications/fee/v1/metadata.proto
+++ b/proto/ibc/applications/fee/v1/metadata.proto
@@ -2,7 +2,7 @@ syntax = "proto3";
package ibc.applications.fee.v1;
-option go_package = "github.com/cosmos/ibc-go/v3/modules/apps/29-fee/types";
+option go_package = "github.com/cosmos/ibc-go/v4/modules/apps/29-fee/types";
import "gogoproto/gogo.proto";
diff --git a/proto/ibc/applications/fee/v1/query.proto b/proto/ibc/applications/fee/v1/query.proto
index ffa447ffd68..41b8c6ba5b6 100644
--- a/proto/ibc/applications/fee/v1/query.proto
+++ b/proto/ibc/applications/fee/v1/query.proto
@@ -2,7 +2,7 @@ syntax = "proto3";
package ibc.applications.fee.v1;
-option go_package = "github.com/cosmos/ibc-go/v3/modules/apps/29-fee/types";
+option go_package = "github.com/cosmos/ibc-go/v4/modules/apps/29-fee/types";
import "gogoproto/gogo.proto";
import "google/api/annotations.proto";
diff --git a/proto/ibc/applications/fee/v1/tx.proto b/proto/ibc/applications/fee/v1/tx.proto
index f876ea50483..8d6fca58fbb 100644
--- a/proto/ibc/applications/fee/v1/tx.proto
+++ b/proto/ibc/applications/fee/v1/tx.proto
@@ -2,7 +2,7 @@ syntax = "proto3";
package ibc.applications.fee.v1;
-option go_package = "github.com/cosmos/ibc-go/v3/modules/apps/29-fee/types";
+option go_package = "github.com/cosmos/ibc-go/v4/modules/apps/29-fee/types";
import "gogoproto/gogo.proto";
import "ibc/applications/fee/v1/fee.proto";
diff --git a/proto/ibc/applications/interchain_accounts/controller/v1/controller.proto b/proto/ibc/applications/interchain_accounts/controller/v1/controller.proto
index 291f3e4fd90..c7abd9f3372 100644
--- a/proto/ibc/applications/interchain_accounts/controller/v1/controller.proto
+++ b/proto/ibc/applications/interchain_accounts/controller/v1/controller.proto
@@ -2,7 +2,7 @@ syntax = "proto3";
package ibc.applications.interchain_accounts.controller.v1;
-option go_package = "github.com/cosmos/ibc-go/v3/modules/apps/27-interchain-accounts/controller/types";
+option go_package = "github.com/cosmos/ibc-go/v4/modules/apps/27-interchain-accounts/controller/types";
import "gogoproto/gogo.proto";
diff --git a/proto/ibc/applications/interchain_accounts/controller/v1/query.proto b/proto/ibc/applications/interchain_accounts/controller/v1/query.proto
index d3960e9d14c..6ccc0456731 100644
--- a/proto/ibc/applications/interchain_accounts/controller/v1/query.proto
+++ b/proto/ibc/applications/interchain_accounts/controller/v1/query.proto
@@ -2,7 +2,7 @@ syntax = "proto3";
package ibc.applications.interchain_accounts.controller.v1;
-option go_package = "github.com/cosmos/ibc-go/v3/modules/apps/27-interchain-accounts/controller/types";
+option go_package = "github.com/cosmos/ibc-go/v4/modules/apps/27-interchain-accounts/controller/types";
import "ibc/applications/interchain_accounts/controller/v1/controller.proto";
import "google/api/annotations.proto";
diff --git a/proto/ibc/applications/interchain_accounts/host/v1/host.proto b/proto/ibc/applications/interchain_accounts/host/v1/host.proto
index a9d951cef82..e73510e57f1 100644
--- a/proto/ibc/applications/interchain_accounts/host/v1/host.proto
+++ b/proto/ibc/applications/interchain_accounts/host/v1/host.proto
@@ -2,7 +2,7 @@ syntax = "proto3";
package ibc.applications.interchain_accounts.host.v1;
-option go_package = "github.com/cosmos/ibc-go/v3/modules/apps/27-interchain-accounts/host/types";
+option go_package = "github.com/cosmos/ibc-go/v4/modules/apps/27-interchain-accounts/host/types";
import "gogoproto/gogo.proto";
diff --git a/proto/ibc/applications/interchain_accounts/host/v1/query.proto b/proto/ibc/applications/interchain_accounts/host/v1/query.proto
index 5512d7b4fa5..02d17d314a7 100644
--- a/proto/ibc/applications/interchain_accounts/host/v1/query.proto
+++ b/proto/ibc/applications/interchain_accounts/host/v1/query.proto
@@ -2,7 +2,7 @@ syntax = "proto3";
package ibc.applications.interchain_accounts.host.v1;
-option go_package = "github.com/cosmos/ibc-go/v3/modules/apps/27-interchain-accounts/host/types";
+option go_package = "github.com/cosmos/ibc-go/v4/modules/apps/27-interchain-accounts/host/types";
import "google/api/annotations.proto";
import "ibc/applications/interchain_accounts/host/v1/host.proto";
diff --git a/proto/ibc/applications/interchain_accounts/v1/account.proto b/proto/ibc/applications/interchain_accounts/v1/account.proto
index 75d2fbd89ed..2748b935778 100644
--- a/proto/ibc/applications/interchain_accounts/v1/account.proto
+++ b/proto/ibc/applications/interchain_accounts/v1/account.proto
@@ -2,7 +2,7 @@ syntax = "proto3";
package ibc.applications.interchain_accounts.v1;
-option go_package = "github.com/cosmos/ibc-go/v3/modules/apps/27-interchain-accounts/types";
+option go_package = "github.com/cosmos/ibc-go/v4/modules/apps/27-interchain-accounts/types";
import "cosmos_proto/cosmos.proto";
import "gogoproto/gogo.proto";
diff --git a/proto/ibc/applications/interchain_accounts/v1/genesis.proto b/proto/ibc/applications/interchain_accounts/v1/genesis.proto
index 3902f890708..a92b6a0f17a 100644
--- a/proto/ibc/applications/interchain_accounts/v1/genesis.proto
+++ b/proto/ibc/applications/interchain_accounts/v1/genesis.proto
@@ -2,7 +2,7 @@ syntax = "proto3";
package ibc.applications.interchain_accounts.v1;
-option go_package = "github.com/cosmos/ibc-go/v3/modules/apps/27-interchain-accounts/types";
+option go_package = "github.com/cosmos/ibc-go/v4/modules/apps/27-interchain-accounts/types";
import "gogoproto/gogo.proto";
import "ibc/applications/interchain_accounts/controller/v1/controller.proto";
diff --git a/proto/ibc/applications/interchain_accounts/v1/metadata.proto b/proto/ibc/applications/interchain_accounts/v1/metadata.proto
index 3eab1d04a69..6a4b4abe57e 100644
--- a/proto/ibc/applications/interchain_accounts/v1/metadata.proto
+++ b/proto/ibc/applications/interchain_accounts/v1/metadata.proto
@@ -2,7 +2,7 @@ syntax = "proto3";
package ibc.applications.interchain_accounts.v1;
-option go_package = "github.com/cosmos/ibc-go/v3/modules/apps/27-interchain-accounts/types";
+option go_package = "github.com/cosmos/ibc-go/v4/modules/apps/27-interchain-accounts/types";
import "gogoproto/gogo.proto";
diff --git a/proto/ibc/applications/interchain_accounts/v1/packet.proto b/proto/ibc/applications/interchain_accounts/v1/packet.proto
index 51ff4279aeb..8e09a9d670c 100644
--- a/proto/ibc/applications/interchain_accounts/v1/packet.proto
+++ b/proto/ibc/applications/interchain_accounts/v1/packet.proto
@@ -2,7 +2,7 @@ syntax = "proto3";
package ibc.applications.interchain_accounts.v1;
-option go_package = "github.com/cosmos/ibc-go/v3/modules/apps/27-interchain-accounts/types";
+option go_package = "github.com/cosmos/ibc-go/v4/modules/apps/27-interchain-accounts/types";
import "google/protobuf/any.proto";
import "gogoproto/gogo.proto";
diff --git a/proto/ibc/applications/transfer/v1/genesis.proto b/proto/ibc/applications/transfer/v1/genesis.proto
index 0b5c0e0d122..34672fdebfb 100644
--- a/proto/ibc/applications/transfer/v1/genesis.proto
+++ b/proto/ibc/applications/transfer/v1/genesis.proto
@@ -2,7 +2,7 @@ syntax = "proto3";
package ibc.applications.transfer.v1;
-option go_package = "github.com/cosmos/ibc-go/v3/modules/apps/transfer/types";
+option go_package = "github.com/cosmos/ibc-go/v4/modules/apps/transfer/types";
import "ibc/applications/transfer/v1/transfer.proto";
import "gogoproto/gogo.proto";
diff --git a/proto/ibc/applications/transfer/v1/query.proto b/proto/ibc/applications/transfer/v1/query.proto
index 5298338c10c..075c0001c8a 100644
--- a/proto/ibc/applications/transfer/v1/query.proto
+++ b/proto/ibc/applications/transfer/v1/query.proto
@@ -7,7 +7,7 @@ import "cosmos/base/query/v1beta1/pagination.proto";
import "ibc/applications/transfer/v1/transfer.proto";
import "google/api/annotations.proto";
-option go_package = "github.com/cosmos/ibc-go/v3/modules/apps/transfer/types";
+option go_package = "github.com/cosmos/ibc-go/v4/modules/apps/transfer/types";
// Query provides defines the gRPC querier service.
service Query {
diff --git a/proto/ibc/applications/transfer/v1/transfer.proto b/proto/ibc/applications/transfer/v1/transfer.proto
index 7a99485c589..1f92e81a627 100644
--- a/proto/ibc/applications/transfer/v1/transfer.proto
+++ b/proto/ibc/applications/transfer/v1/transfer.proto
@@ -2,7 +2,7 @@ syntax = "proto3";
package ibc.applications.transfer.v1;
-option go_package = "github.com/cosmos/ibc-go/v3/modules/apps/transfer/types";
+option go_package = "github.com/cosmos/ibc-go/v4/modules/apps/transfer/types";
import "gogoproto/gogo.proto";
diff --git a/proto/ibc/applications/transfer/v1/tx.proto b/proto/ibc/applications/transfer/v1/tx.proto
index 8f1392b0cf3..5befdf2fbc3 100644
--- a/proto/ibc/applications/transfer/v1/tx.proto
+++ b/proto/ibc/applications/transfer/v1/tx.proto
@@ -2,7 +2,7 @@ syntax = "proto3";
package ibc.applications.transfer.v1;
-option go_package = "github.com/cosmos/ibc-go/v3/modules/apps/transfer/types";
+option go_package = "github.com/cosmos/ibc-go/v4/modules/apps/transfer/types";
import "gogoproto/gogo.proto";
import "cosmos/base/v1beta1/coin.proto";
diff --git a/proto/ibc/applications/transfer/v2/packet.proto b/proto/ibc/applications/transfer/v2/packet.proto
index 850320df340..acae83530f6 100644
--- a/proto/ibc/applications/transfer/v2/packet.proto
+++ b/proto/ibc/applications/transfer/v2/packet.proto
@@ -2,7 +2,7 @@ syntax = "proto3";
package ibc.applications.transfer.v2;
-option go_package = "github.com/cosmos/ibc-go/v3/modules/apps/transfer/types";
+option go_package = "github.com/cosmos/ibc-go/v4/modules/apps/transfer/types";
// FungibleTokenPacketData defines a struct for the packet payload
// See FungibleTokenPacketData spec:
diff --git a/proto/ibc/core/channel/v1/channel.proto b/proto/ibc/core/channel/v1/channel.proto
index 177f2c85fd1..646884d5712 100644
--- a/proto/ibc/core/channel/v1/channel.proto
+++ b/proto/ibc/core/channel/v1/channel.proto
@@ -2,7 +2,7 @@ syntax = "proto3";
package ibc.core.channel.v1;
-option go_package = "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types";
+option go_package = "github.com/cosmos/ibc-go/v4/modules/core/04-channel/types";
import "gogoproto/gogo.proto";
import "ibc/core/client/v1/client.proto";
diff --git a/proto/ibc/core/channel/v1/genesis.proto b/proto/ibc/core/channel/v1/genesis.proto
index d95c891b6c8..1c0ff6ee883 100644
--- a/proto/ibc/core/channel/v1/genesis.proto
+++ b/proto/ibc/core/channel/v1/genesis.proto
@@ -2,7 +2,7 @@ syntax = "proto3";
package ibc.core.channel.v1;
-option go_package = "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types";
+option go_package = "github.com/cosmos/ibc-go/v4/modules/core/04-channel/types";
import "gogoproto/gogo.proto";
import "ibc/core/channel/v1/channel.proto";
diff --git a/proto/ibc/core/channel/v1/query.proto b/proto/ibc/core/channel/v1/query.proto
index ceb13d00091..986633173cc 100644
--- a/proto/ibc/core/channel/v1/query.proto
+++ b/proto/ibc/core/channel/v1/query.proto
@@ -2,7 +2,7 @@ syntax = "proto3";
package ibc.core.channel.v1;
-option go_package = "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types";
+option go_package = "github.com/cosmos/ibc-go/v4/modules/core/04-channel/types";
import "ibc/core/client/v1/client.proto";
import "cosmos/base/query/v1beta1/pagination.proto";
diff --git a/proto/ibc/core/channel/v1/tx.proto b/proto/ibc/core/channel/v1/tx.proto
index bf8bb103879..4df3b74e574 100644
--- a/proto/ibc/core/channel/v1/tx.proto
+++ b/proto/ibc/core/channel/v1/tx.proto
@@ -2,7 +2,7 @@ syntax = "proto3";
package ibc.core.channel.v1;
-option go_package = "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types";
+option go_package = "github.com/cosmos/ibc-go/v4/modules/core/04-channel/types";
import "gogoproto/gogo.proto";
import "ibc/core/client/v1/client.proto";
@@ -97,9 +97,8 @@ message MsgChannelOpenTry {
option (gogoproto.goproto_getters) = false;
string port_id = 1 [(gogoproto.moretags) = "yaml:\"port_id\""];
- // in the case of crossing hello's, when both chains call OpenInit, we need
- // the channel identifier of the previous channel in state INIT
- string previous_channel_id = 2 [(gogoproto.moretags) = "yaml:\"previous_channel_id\""];
+ // Deprecated: this field is unused. Crossing hello's are no longer supported in core IBC.
+ string previous_channel_id = 2 [deprecated = true, (gogoproto.moretags) = "yaml:\"previous_channel_id\""];
// NOTE: the version field within the channel has been deprecated. Its value will be ignored by core IBC.
Channel channel = 3 [(gogoproto.nullable) = false];
string counterparty_version = 4 [(gogoproto.moretags) = "yaml:\"counterparty_version\""];
diff --git a/proto/ibc/core/channel/v1/upgrade.proto b/proto/ibc/core/channel/v1/upgrade.proto
index 4536abe4c6a..753487ce432 100644
--- a/proto/ibc/core/channel/v1/upgrade.proto
+++ b/proto/ibc/core/channel/v1/upgrade.proto
@@ -2,7 +2,7 @@ syntax = "proto3";
package ibc.core.channel.v1;
-option go_package = "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types";
+option go_package = "github.com/cosmos/ibc-go/v4/modules/core/04-channel/types";
import "gogoproto/gogo.proto";
import "ibc/core/client/v1/client.proto";
diff --git a/proto/ibc/core/client/v1/client.proto b/proto/ibc/core/client/v1/client.proto
index 657d99ed204..9d386592fa9 100644
--- a/proto/ibc/core/client/v1/client.proto
+++ b/proto/ibc/core/client/v1/client.proto
@@ -2,7 +2,7 @@ syntax = "proto3";
package ibc.core.client.v1;
-option go_package = "github.com/cosmos/ibc-go/v3/modules/core/02-client/types";
+option go_package = "github.com/cosmos/ibc-go/v4/modules/core/02-client/types";
import "gogoproto/gogo.proto";
import "google/protobuf/any.proto";
diff --git a/proto/ibc/core/client/v1/genesis.proto b/proto/ibc/core/client/v1/genesis.proto
index 0ca29d224b0..b2930c48418 100644
--- a/proto/ibc/core/client/v1/genesis.proto
+++ b/proto/ibc/core/client/v1/genesis.proto
@@ -2,7 +2,7 @@ syntax = "proto3";
package ibc.core.client.v1;
-option go_package = "github.com/cosmos/ibc-go/v3/modules/core/02-client/types";
+option go_package = "github.com/cosmos/ibc-go/v4/modules/core/02-client/types";
import "ibc/core/client/v1/client.proto";
import "gogoproto/gogo.proto";
diff --git a/proto/ibc/core/client/v1/query.proto b/proto/ibc/core/client/v1/query.proto
index 33a4191cd06..2c9618bc801 100644
--- a/proto/ibc/core/client/v1/query.proto
+++ b/proto/ibc/core/client/v1/query.proto
@@ -2,7 +2,7 @@ syntax = "proto3";
package ibc.core.client.v1;
-option go_package = "github.com/cosmos/ibc-go/v3/modules/core/02-client/types";
+option go_package = "github.com/cosmos/ibc-go/v4/modules/core/02-client/types";
import "cosmos/base/query/v1beta1/pagination.proto";
import "ibc/core/client/v1/client.proto";
diff --git a/proto/ibc/core/client/v1/tx.proto b/proto/ibc/core/client/v1/tx.proto
index 06dbfbd0dfe..11dfdadeaa6 100644
--- a/proto/ibc/core/client/v1/tx.proto
+++ b/proto/ibc/core/client/v1/tx.proto
@@ -2,7 +2,7 @@ syntax = "proto3";
package ibc.core.client.v1;
-option go_package = "github.com/cosmos/ibc-go/v3/modules/core/02-client/types";
+option go_package = "github.com/cosmos/ibc-go/v4/modules/core/02-client/types";
import "gogoproto/gogo.proto";
import "google/protobuf/any.proto";
diff --git a/proto/ibc/core/commitment/v1/commitment.proto b/proto/ibc/core/commitment/v1/commitment.proto
index b0afed2273b..b6a68a99fb7 100644
--- a/proto/ibc/core/commitment/v1/commitment.proto
+++ b/proto/ibc/core/commitment/v1/commitment.proto
@@ -2,7 +2,7 @@ syntax = "proto3";
package ibc.core.commitment.v1;
-option go_package = "github.com/cosmos/ibc-go/v3/modules/core/23-commitment/types";
+option go_package = "github.com/cosmos/ibc-go/v4/modules/core/23-commitment/types";
import "gogoproto/gogo.proto";
import "proofs.proto";
diff --git a/proto/ibc/core/connection/v1/connection.proto b/proto/ibc/core/connection/v1/connection.proto
index 7fd2a6909ad..8360af98883 100644
--- a/proto/ibc/core/connection/v1/connection.proto
+++ b/proto/ibc/core/connection/v1/connection.proto
@@ -2,7 +2,7 @@ syntax = "proto3";
package ibc.core.connection.v1;
-option go_package = "github.com/cosmos/ibc-go/v3/modules/core/03-connection/types";
+option go_package = "github.com/cosmos/ibc-go/v4/modules/core/03-connection/types";
import "gogoproto/gogo.proto";
import "ibc/core/commitment/v1/commitment.proto";
diff --git a/proto/ibc/core/connection/v1/genesis.proto b/proto/ibc/core/connection/v1/genesis.proto
index 1a53422c94a..f616ae67e0d 100644
--- a/proto/ibc/core/connection/v1/genesis.proto
+++ b/proto/ibc/core/connection/v1/genesis.proto
@@ -2,7 +2,7 @@ syntax = "proto3";
package ibc.core.connection.v1;
-option go_package = "github.com/cosmos/ibc-go/v3/modules/core/03-connection/types";
+option go_package = "github.com/cosmos/ibc-go/v4/modules/core/03-connection/types";
import "gogoproto/gogo.proto";
import "ibc/core/connection/v1/connection.proto";
diff --git a/proto/ibc/core/connection/v1/query.proto b/proto/ibc/core/connection/v1/query.proto
index f28578f5fc5..129f30a71a8 100644
--- a/proto/ibc/core/connection/v1/query.proto
+++ b/proto/ibc/core/connection/v1/query.proto
@@ -2,7 +2,7 @@ syntax = "proto3";
package ibc.core.connection.v1;
-option go_package = "github.com/cosmos/ibc-go/v3/modules/core/03-connection/types";
+option go_package = "github.com/cosmos/ibc-go/v4/modules/core/03-connection/types";
import "gogoproto/gogo.proto";
import "cosmos/base/query/v1beta1/pagination.proto";
diff --git a/proto/ibc/core/connection/v1/tx.proto b/proto/ibc/core/connection/v1/tx.proto
index e7e09c84cff..b2fea632c36 100644
--- a/proto/ibc/core/connection/v1/tx.proto
+++ b/proto/ibc/core/connection/v1/tx.proto
@@ -2,7 +2,7 @@ syntax = "proto3";
package ibc.core.connection.v1;
-option go_package = "github.com/cosmos/ibc-go/v3/modules/core/03-connection/types";
+option go_package = "github.com/cosmos/ibc-go/v4/modules/core/03-connection/types";
import "gogoproto/gogo.proto";
import "google/protobuf/any.proto";
@@ -49,14 +49,13 @@ message MsgConnectionOpenTry {
option (gogoproto.goproto_getters) = false;
string client_id = 1 [(gogoproto.moretags) = "yaml:\"client_id\""];
- // in the case of crossing hello's, when both chains call OpenInit, we need
- // the connection identifier of the previous connection in state INIT
- string previous_connection_id = 2 [(gogoproto.moretags) = "yaml:\"previous_connection_id\""];
- google.protobuf.Any client_state = 3 [(gogoproto.moretags) = "yaml:\"client_state\""];
- Counterparty counterparty = 4 [(gogoproto.nullable) = false];
- uint64 delay_period = 5 [(gogoproto.moretags) = "yaml:\"delay_period\""];
- repeated Version counterparty_versions = 6 [(gogoproto.moretags) = "yaml:\"counterparty_versions\""];
- ibc.core.client.v1.Height proof_height = 7
+ // Deprecated: this field is unused. Crossing hellos are no longer supported in core IBC.
+ string previous_connection_id = 2 [deprecated = true, (gogoproto.moretags) = "yaml:\"previous_connection_id\""];
+ google.protobuf.Any client_state = 3 [(gogoproto.moretags) = "yaml:\"client_state\""];
+ Counterparty counterparty = 4 [(gogoproto.nullable) = false];
+ uint64 delay_period = 5 [(gogoproto.moretags) = "yaml:\"delay_period\""];
+ repeated Version counterparty_versions = 6 [(gogoproto.moretags) = "yaml:\"counterparty_versions\""];
+ ibc.core.client.v1.Height proof_height = 7
[(gogoproto.moretags) = "yaml:\"proof_height\"", (gogoproto.nullable) = false];
// proof of the initialization the connection on Chain A: `UNITIALIZED ->
// INIT`
diff --git a/proto/ibc/core/types/v1/genesis.proto b/proto/ibc/core/types/v1/genesis.proto
index fbddbf3035f..4cc931d32f7 100644
--- a/proto/ibc/core/types/v1/genesis.proto
+++ b/proto/ibc/core/types/v1/genesis.proto
@@ -2,7 +2,7 @@ syntax = "proto3";
package ibc.core.types.v1;
-option go_package = "github.com/cosmos/ibc-go/v3/modules/core/types";
+option go_package = "github.com/cosmos/ibc-go/v4/modules/core/types";
import "gogoproto/gogo.proto";
import "ibc/core/client/v1/genesis.proto";
diff --git a/proto/ibc/lightclients/localhost/v1/localhost.proto b/proto/ibc/lightclients/localhost/v1/localhost.proto
index 43056801542..9eda835ebb1 100644
--- a/proto/ibc/lightclients/localhost/v1/localhost.proto
+++ b/proto/ibc/lightclients/localhost/v1/localhost.proto
@@ -2,7 +2,7 @@ syntax = "proto3";
package ibc.lightclients.localhost.v1;
-option go_package = "github.com/cosmos/ibc-go/v3/modules/light-clients/09-localhost/types";
+option go_package = "github.com/cosmos/ibc-go/v4/modules/light-clients/09-localhost/types";
import "gogoproto/gogo.proto";
import "ibc/core/client/v1/client.proto";
diff --git a/proto/ibc/lightclients/solomachine/v1/solomachine.proto b/proto/ibc/lightclients/solomachine/v1/solomachine.proto
index c279f5e728e..37bd81e923a 100644
--- a/proto/ibc/lightclients/solomachine/v1/solomachine.proto
+++ b/proto/ibc/lightclients/solomachine/v1/solomachine.proto
@@ -2,7 +2,7 @@ syntax = "proto3";
package ibc.lightclients.solomachine.v1;
-option go_package = "github.com/cosmos/ibc-go/v3/modules/core/02-client/legacy/v100";
+option go_package = "github.com/cosmos/ibc-go/v4/modules/core/02-client/legacy/v100";
import "ibc/core/connection/v1/connection.proto";
import "ibc/core/channel/v1/channel.proto";
diff --git a/proto/ibc/lightclients/solomachine/v2/solomachine.proto b/proto/ibc/lightclients/solomachine/v2/solomachine.proto
index e626c18ac66..c735fddddf9 100644
--- a/proto/ibc/lightclients/solomachine/v2/solomachine.proto
+++ b/proto/ibc/lightclients/solomachine/v2/solomachine.proto
@@ -2,7 +2,7 @@ syntax = "proto3";
package ibc.lightclients.solomachine.v2;
-option go_package = "github.com/cosmos/ibc-go/v3/modules/light-clients/06-solomachine/types";
+option go_package = "github.com/cosmos/ibc-go/v4/modules/light-clients/06-solomachine/types";
import "ibc/core/connection/v1/connection.proto";
import "ibc/core/channel/v1/channel.proto";
diff --git a/proto/ibc/lightclients/tendermint/v1/tendermint.proto b/proto/ibc/lightclients/tendermint/v1/tendermint.proto
index 2815fe6ad2a..55a4e06906d 100644
--- a/proto/ibc/lightclients/tendermint/v1/tendermint.proto
+++ b/proto/ibc/lightclients/tendermint/v1/tendermint.proto
@@ -2,7 +2,7 @@ syntax = "proto3";
package ibc.lightclients.tendermint.v1;
-option go_package = "github.com/cosmos/ibc-go/v3/modules/light-clients/07-tendermint/types";
+option go_package = "github.com/cosmos/ibc-go/v4/modules/light-clients/07-tendermint/types";
import "tendermint/types/validator.proto";
import "tendermint/types/types.proto";
diff --git a/testing/README.md b/testing/README.md
index ad02a80e640..c682ba9ed8e 100644
--- a/testing/README.md
+++ b/testing/README.md
@@ -255,8 +255,8 @@ import (
"github.com/tendermint/tendermint/libs/log"
dbm "github.com/tendermint/tm-db"
- "github.com/cosmos/ibc-go/v3/modules/apps/transfer/simapp"
- ibctesting "github.com/cosmos/ibc-go/v3/testing"
+ "github.com/cosmos/ibc-go/v4/modules/apps/transfer/simapp"
+ ibctesting "github.com/cosmos/ibc-go/v4/testing"
)
func SetupTransferTestingApp() (ibctesting.TestingApp, map[string]json.RawMessage) {
diff --git a/testing/app.go b/testing/app.go
index 1cde8614b6d..9392c42424c 100644
--- a/testing/app.go
+++ b/testing/app.go
@@ -23,8 +23,8 @@ import (
tmtypes "github.com/tendermint/tendermint/types"
dbm "github.com/tendermint/tm-db"
- "github.com/cosmos/ibc-go/v3/modules/core/keeper"
- "github.com/cosmos/ibc-go/v3/testing/simapp"
+ "github.com/cosmos/ibc-go/v4/modules/core/keeper"
+ "github.com/cosmos/ibc-go/v4/testing/simapp"
)
var DefaultTestingAppInit func() (TestingApp, map[string]json.RawMessage) = SetupTestingApp
diff --git a/testing/chain.go b/testing/chain.go
index 9e248312bc8..038d20c4c54 100644
--- a/testing/chain.go
+++ b/testing/chain.go
@@ -25,14 +25,14 @@ import (
tmtypes "github.com/tendermint/tendermint/types"
tmversion "github.com/tendermint/tendermint/version"
- clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types"
- commitmenttypes "github.com/cosmos/ibc-go/v3/modules/core/23-commitment/types"
- host "github.com/cosmos/ibc-go/v3/modules/core/24-host"
- "github.com/cosmos/ibc-go/v3/modules/core/exported"
- "github.com/cosmos/ibc-go/v3/modules/core/types"
- ibctmtypes "github.com/cosmos/ibc-go/v3/modules/light-clients/07-tendermint/types"
- "github.com/cosmos/ibc-go/v3/testing/mock"
- "github.com/cosmos/ibc-go/v3/testing/simapp"
+ clienttypes "github.com/cosmos/ibc-go/v4/modules/core/02-client/types"
+ commitmenttypes "github.com/cosmos/ibc-go/v4/modules/core/23-commitment/types"
+ host "github.com/cosmos/ibc-go/v4/modules/core/24-host"
+ "github.com/cosmos/ibc-go/v4/modules/core/exported"
+ "github.com/cosmos/ibc-go/v4/modules/core/types"
+ ibctmtypes "github.com/cosmos/ibc-go/v4/modules/light-clients/07-tendermint/types"
+ "github.com/cosmos/ibc-go/v4/testing/mock"
+ "github.com/cosmos/ibc-go/v4/testing/simapp"
)
var MaxAccounts = 10
diff --git a/testing/chain_test.go b/testing/chain_test.go
index 64ddc6c751e..5edb189c2f8 100644
--- a/testing/chain_test.go
+++ b/testing/chain_test.go
@@ -7,7 +7,8 @@ import (
sdk "github.com/cosmos/cosmos-sdk/types"
"github.com/cosmos/cosmos-sdk/x/staking/types"
- ibctesting "github.com/cosmos/ibc-go/v3/testing"
+
+ ibctesting "github.com/cosmos/ibc-go/v4/testing"
)
func TestChangeValSet(t *testing.T) {
diff --git a/testing/config.go b/testing/config.go
index a47dea1701b..b75ecc8d918 100644
--- a/testing/config.go
+++ b/testing/config.go
@@ -3,11 +3,11 @@ package ibctesting
import (
"time"
- connectiontypes "github.com/cosmos/ibc-go/v3/modules/core/03-connection/types"
- channeltypes "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types"
- "github.com/cosmos/ibc-go/v3/modules/core/exported"
- ibctmtypes "github.com/cosmos/ibc-go/v3/modules/light-clients/07-tendermint/types"
- "github.com/cosmos/ibc-go/v3/testing/mock"
+ connectiontypes "github.com/cosmos/ibc-go/v4/modules/core/03-connection/types"
+ channeltypes "github.com/cosmos/ibc-go/v4/modules/core/04-channel/types"
+ "github.com/cosmos/ibc-go/v4/modules/core/exported"
+ ibctmtypes "github.com/cosmos/ibc-go/v4/modules/light-clients/07-tendermint/types"
+ "github.com/cosmos/ibc-go/v4/testing/mock"
)
type ClientConfig interface {
diff --git a/testing/coordinator.go b/testing/coordinator.go
index dde3eb56b1a..f2cc49f9a91 100644
--- a/testing/coordinator.go
+++ b/testing/coordinator.go
@@ -194,42 +194,3 @@ func (coord *Coordinator) CommitNBlocks(chain *TestChain, n uint64) {
coord.IncrementTime()
}
}
-
-// ConnOpenInitOnBothChains initializes a connection on both endpoints with the state INIT
-// using the OpenInit handshake call.
-func (coord *Coordinator) ConnOpenInitOnBothChains(path *Path) error {
- if err := path.EndpointA.ConnOpenInit(); err != nil {
- return err
- }
-
- if err := path.EndpointB.ConnOpenInit(); err != nil {
- return err
- }
-
- if err := path.EndpointA.UpdateClient(); err != nil {
- return err
- }
-
- return path.EndpointB.UpdateClient()
-}
-
-// ChanOpenInitOnBothChains initializes a channel on the source chain and counterparty chain
-// with the state INIT using the OpenInit handshake call.
-func (coord *Coordinator) ChanOpenInitOnBothChains(path *Path) error {
- // NOTE: only creation of a capability for a transfer or mock port is supported
- // Other applications must bind to the port in InitGenesis or modify this code.
-
- if err := path.EndpointA.ChanOpenInit(); err != nil {
- return err
- }
-
- if err := path.EndpointB.ChanOpenInit(); err != nil {
- return err
- }
-
- if err := path.EndpointA.UpdateClient(); err != nil {
- return err
- }
-
- return path.EndpointB.UpdateClient()
-}
diff --git a/testing/endpoint.go b/testing/endpoint.go
index 94fa14f8b0d..ce8895ebb51 100644
--- a/testing/endpoint.go
+++ b/testing/endpoint.go
@@ -6,13 +6,13 @@ import (
sdk "github.com/cosmos/cosmos-sdk/types"
"github.com/stretchr/testify/require"
- clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types"
- connectiontypes "github.com/cosmos/ibc-go/v3/modules/core/03-connection/types"
- channeltypes "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types"
- commitmenttypes "github.com/cosmos/ibc-go/v3/modules/core/23-commitment/types"
- host "github.com/cosmos/ibc-go/v3/modules/core/24-host"
- "github.com/cosmos/ibc-go/v3/modules/core/exported"
- ibctmtypes "github.com/cosmos/ibc-go/v3/modules/light-clients/07-tendermint/types"
+ clienttypes "github.com/cosmos/ibc-go/v4/modules/core/02-client/types"
+ connectiontypes "github.com/cosmos/ibc-go/v4/modules/core/03-connection/types"
+ channeltypes "github.com/cosmos/ibc-go/v4/modules/core/04-channel/types"
+ commitmenttypes "github.com/cosmos/ibc-go/v4/modules/core/23-commitment/types"
+ host "github.com/cosmos/ibc-go/v4/modules/core/24-host"
+ "github.com/cosmos/ibc-go/v4/modules/core/exported"
+ ibctmtypes "github.com/cosmos/ibc-go/v4/modules/light-clients/07-tendermint/types"
)
// Endpoint is a which represents a channel endpoint and its associated
diff --git a/testing/events.go b/testing/events.go
index 8beaa0a2beb..18169d30818 100644
--- a/testing/events.go
+++ b/testing/events.go
@@ -6,9 +6,9 @@ import (
sdk "github.com/cosmos/cosmos-sdk/types"
- clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types"
- connectiontypes "github.com/cosmos/ibc-go/v3/modules/core/03-connection/types"
- channeltypes "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types"
+ clienttypes "github.com/cosmos/ibc-go/v4/modules/core/02-client/types"
+ connectiontypes "github.com/cosmos/ibc-go/v4/modules/core/03-connection/types"
+ channeltypes "github.com/cosmos/ibc-go/v4/modules/core/04-channel/types"
)
// ParseClientIDFromEvents parses events emitted from a MsgCreateClient and returns the
diff --git a/testing/mock/ibc_app.go b/testing/mock/ibc_app.go
index 0504c2df0de..47f39deb5ce 100644
--- a/testing/mock/ibc_app.go
+++ b/testing/mock/ibc_app.go
@@ -5,8 +5,8 @@ import (
capabilitykeeper "github.com/cosmos/cosmos-sdk/x/capability/keeper"
capabilitytypes "github.com/cosmos/cosmos-sdk/x/capability/types"
- channeltypes "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types"
- "github.com/cosmos/ibc-go/v3/modules/core/exported"
+ channeltypes "github.com/cosmos/ibc-go/v4/modules/core/04-channel/types"
+ "github.com/cosmos/ibc-go/v4/modules/core/exported"
)
// MockIBCApp contains IBC application module callbacks as defined in 05-port.
diff --git a/testing/mock/ibc_module.go b/testing/mock/ibc_module.go
index 69f3c388a8a..12d35564005 100644
--- a/testing/mock/ibc_module.go
+++ b/testing/mock/ibc_module.go
@@ -9,9 +9,9 @@ import (
sdk "github.com/cosmos/cosmos-sdk/types"
capabilitytypes "github.com/cosmos/cosmos-sdk/x/capability/types"
- channeltypes "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types"
- host "github.com/cosmos/ibc-go/v3/modules/core/24-host"
- "github.com/cosmos/ibc-go/v3/modules/core/exported"
+ channeltypes "github.com/cosmos/ibc-go/v4/modules/core/04-channel/types"
+ host "github.com/cosmos/ibc-go/v4/modules/core/24-host"
+ "github.com/cosmos/ibc-go/v4/modules/core/exported"
)
// IBCModule implements the ICS26 callbacks for testing/mock.
diff --git a/testing/mock/ibc_module_test.go b/testing/mock/ibc_module_test.go
index b36d58d2004..e790f6e39e7 100644
--- a/testing/mock/ibc_module_test.go
+++ b/testing/mock/ibc_module_test.go
@@ -5,9 +5,9 @@ import (
"github.com/stretchr/testify/require"
- clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types"
- channeltypes "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types"
- "github.com/cosmos/ibc-go/v3/testing/mock"
+ clienttypes "github.com/cosmos/ibc-go/v4/modules/core/02-client/types"
+ channeltypes "github.com/cosmos/ibc-go/v4/modules/core/04-channel/types"
+ "github.com/cosmos/ibc-go/v4/testing/mock"
)
func TestCreateCapabilityName(t *testing.T) {
diff --git a/testing/mock/mock.go b/testing/mock/mock.go
index b621a05e9f7..3ee9e1dec89 100644
--- a/testing/mock/mock.go
+++ b/testing/mock/mock.go
@@ -2,6 +2,7 @@ package mock
import (
"encoding/json"
+ "fmt"
"github.com/cosmos/cosmos-sdk/client"
"github.com/cosmos/cosmos-sdk/codec"
@@ -14,9 +15,9 @@ import (
"github.com/spf13/cobra"
abci "github.com/tendermint/tendermint/abci/types"
- channeltypes "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types"
- porttypes "github.com/cosmos/ibc-go/v3/modules/core/05-port/types"
- host "github.com/cosmos/ibc-go/v3/modules/core/24-host"
+ channeltypes "github.com/cosmos/ibc-go/v4/modules/core/04-channel/types"
+ porttypes "github.com/cosmos/ibc-go/v4/modules/core/05-port/types"
+ host "github.com/cosmos/ibc-go/v4/modules/core/24-host"
)
const (
@@ -28,7 +29,7 @@ const (
var (
MockAcknowledgement = channeltypes.NewResultAcknowledgement([]byte("mock acknowledgement"))
- MockFailAcknowledgement = channeltypes.NewErrorAcknowledgement("mock failed acknowledgement")
+ MockFailAcknowledgement = channeltypes.NewErrorAcknowledgement(fmt.Errorf("mock failed acknowledgement"))
MockPacketData = []byte("mock packet data")
MockFailPacketData = []byte("mock failed packet data")
MockAsyncPacketData = []byte("mock async packet data")
diff --git a/testing/mock/privval_test.go b/testing/mock/privval_test.go
index 452fa667824..8fbabd90729 100644
--- a/testing/mock/privval_test.go
+++ b/testing/mock/privval_test.go
@@ -7,7 +7,7 @@ import (
tmproto "github.com/tendermint/tendermint/proto/tendermint/types"
tmtypes "github.com/tendermint/tendermint/types"
- "github.com/cosmos/ibc-go/v3/testing/mock"
+ "github.com/cosmos/ibc-go/v4/testing/mock"
)
const chainID = "testChain"
diff --git a/testing/path.go b/testing/path.go
index 731d3cd5e1b..bfec2c803f2 100644
--- a/testing/path.go
+++ b/testing/path.go
@@ -4,7 +4,7 @@ import (
"bytes"
"fmt"
- channeltypes "github.com/cosmos/ibc-go/v3/modules/core/04-channel/types"
+ channeltypes "github.com/cosmos/ibc-go/v4/modules/core/04-channel/types"
)
// Path contains two endpoints representing two chains connected over IBC
diff --git a/testing/sdk_test.go b/testing/sdk_test.go
index 415c61eee11..a56dae3b73e 100644
--- a/testing/sdk_test.go
+++ b/testing/sdk_test.go
@@ -27,9 +27,9 @@ import (
tmrand "github.com/tendermint/tendermint/libs/rand"
dbm "github.com/tendermint/tm-db"
- ibcclientcli "github.com/cosmos/ibc-go/v3/modules/core/02-client/client/cli"
- "github.com/cosmos/ibc-go/v3/testing/simapp"
- "github.com/cosmos/ibc-go/v3/testing/simapp/params"
+ ibcclientcli "github.com/cosmos/ibc-go/v4/modules/core/02-client/client/cli"
+ "github.com/cosmos/ibc-go/v4/testing/simapp"
+ "github.com/cosmos/ibc-go/v4/testing/simapp/params"
)
/*
diff --git a/testing/simapp/ante_handler.go b/testing/simapp/ante_handler.go
index 5d32e9199bb..5f8a6265399 100644
--- a/testing/simapp/ante_handler.go
+++ b/testing/simapp/ante_handler.go
@@ -5,8 +5,8 @@ import (
sdkerrors "github.com/cosmos/cosmos-sdk/types/errors"
"github.com/cosmos/cosmos-sdk/x/auth/ante"
- ibcante "github.com/cosmos/ibc-go/v3/modules/core/ante"
- "github.com/cosmos/ibc-go/v3/modules/core/keeper"
+ ibcante "github.com/cosmos/ibc-go/v4/modules/core/ante"
+ "github.com/cosmos/ibc-go/v4/modules/core/keeper"
)
// HandlerOptions extend the SDK's AnteHandler options by requiring the IBC keeper.
diff --git a/testing/simapp/app.go b/testing/simapp/app.go
index cb6c1cdccb3..312de2eb624 100644
--- a/testing/simapp/app.go
+++ b/testing/simapp/app.go
@@ -43,8 +43,6 @@ import (
"github.com/cosmos/cosmos-sdk/x/capability"
capabilitykeeper "github.com/cosmos/cosmos-sdk/x/capability/keeper"
capabilitytypes "github.com/cosmos/cosmos-sdk/x/capability/types"
- "github.com/cosmos/ibc-go/v3/testing/mock"
- simappparams "github.com/cosmos/ibc-go/v3/testing/simapp/params"
"github.com/cosmos/cosmos-sdk/x/crisis"
crisiskeeper "github.com/cosmos/cosmos-sdk/x/crisis/keeper"
@@ -82,28 +80,30 @@ 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"
- ica "github.com/cosmos/ibc-go/v3/modules/apps/27-interchain-accounts"
- icacontroller "github.com/cosmos/ibc-go/v3/modules/apps/27-interchain-accounts/controller"
- icacontrollerkeeper "github.com/cosmos/ibc-go/v3/modules/apps/27-interchain-accounts/controller/keeper"
- icacontrollertypes "github.com/cosmos/ibc-go/v3/modules/apps/27-interchain-accounts/controller/types"
- icahost "github.com/cosmos/ibc-go/v3/modules/apps/27-interchain-accounts/host"
- icahostkeeper "github.com/cosmos/ibc-go/v3/modules/apps/27-interchain-accounts/host/keeper"
- 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"
- ibcfee "github.com/cosmos/ibc-go/v3/modules/apps/29-fee"
- ibcfeekeeper "github.com/cosmos/ibc-go/v3/modules/apps/29-fee/keeper"
- ibcfeetypes "github.com/cosmos/ibc-go/v3/modules/apps/29-fee/types"
- transfer "github.com/cosmos/ibc-go/v3/modules/apps/transfer"
- ibctransferkeeper "github.com/cosmos/ibc-go/v3/modules/apps/transfer/keeper"
- ibctransfertypes "github.com/cosmos/ibc-go/v3/modules/apps/transfer/types"
- ibc "github.com/cosmos/ibc-go/v3/modules/core"
- ibcclient "github.com/cosmos/ibc-go/v3/modules/core/02-client"
- ibcclientclient "github.com/cosmos/ibc-go/v3/modules/core/02-client/client"
- ibcclienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types"
- porttypes "github.com/cosmos/ibc-go/v3/modules/core/05-port/types"
- ibchost "github.com/cosmos/ibc-go/v3/modules/core/24-host"
- ibckeeper "github.com/cosmos/ibc-go/v3/modules/core/keeper"
- ibcmock "github.com/cosmos/ibc-go/v3/testing/mock"
+
+ ica "github.com/cosmos/ibc-go/v4/modules/apps/27-interchain-accounts"
+ icacontroller "github.com/cosmos/ibc-go/v4/modules/apps/27-interchain-accounts/controller"
+ icacontrollerkeeper "github.com/cosmos/ibc-go/v4/modules/apps/27-interchain-accounts/controller/keeper"
+ icacontrollertypes "github.com/cosmos/ibc-go/v4/modules/apps/27-interchain-accounts/controller/types"
+ icahost "github.com/cosmos/ibc-go/v4/modules/apps/27-interchain-accounts/host"
+ icahostkeeper "github.com/cosmos/ibc-go/v4/modules/apps/27-interchain-accounts/host/keeper"
+ icahosttypes "github.com/cosmos/ibc-go/v4/modules/apps/27-interchain-accounts/host/types"
+ icatypes "github.com/cosmos/ibc-go/v4/modules/apps/27-interchain-accounts/types"
+ ibcfee "github.com/cosmos/ibc-go/v4/modules/apps/29-fee"
+ ibcfeekeeper "github.com/cosmos/ibc-go/v4/modules/apps/29-fee/keeper"
+ ibcfeetypes "github.com/cosmos/ibc-go/v4/modules/apps/29-fee/types"
+ transfer "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"
+ ibcclientclient "github.com/cosmos/ibc-go/v4/modules/core/02-client/client"
+ ibcclienttypes "github.com/cosmos/ibc-go/v4/modules/core/02-client/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"
+ ibcmock "github.com/cosmos/ibc-go/v4/testing/mock"
+ simappparams "github.com/cosmos/ibc-go/v4/testing/simapp/params"
authz "github.com/cosmos/cosmos-sdk/x/authz"
authzkeeper "github.com/cosmos/cosmos-sdk/x/authz/keeper"
@@ -165,7 +165,7 @@ var (
ibctransfertypes.ModuleName: {authtypes.Minter, authtypes.Burner},
ibcfeetypes.ModuleName: nil,
icatypes.ModuleName: nil,
- mock.ModuleName: nil,
+ ibcmock.ModuleName: nil,
}
)
@@ -658,7 +658,7 @@ func (app *SimApp) ModuleAccountAddrs() map[string]bool {
for acc := range maccPerms {
// do not add mock module to blocked addresses
// this is only used for testing
- if acc == mock.ModuleName {
+ if acc == ibcmock.ModuleName {
continue
}
diff --git a/testing/simapp/encoding.go b/testing/simapp/encoding.go
index f308cadc23d..c13124c5c7b 100644
--- a/testing/simapp/encoding.go
+++ b/testing/simapp/encoding.go
@@ -3,7 +3,7 @@ package simapp
import (
"github.com/cosmos/cosmos-sdk/std"
- simappparams "github.com/cosmos/ibc-go/v3/testing/simapp/params"
+ simappparams "github.com/cosmos/ibc-go/v4/testing/simapp/params"
)
// MakeTestEncodingConfig creates an EncodingConfig for testing. This function
diff --git a/testing/simapp/genesis_account_test.go b/testing/simapp/genesis_account_test.go
index 8a223148955..f4595c0fdf0 100644
--- a/testing/simapp/genesis_account_test.go
+++ b/testing/simapp/genesis_account_test.go
@@ -10,7 +10,7 @@ import (
"github.com/stretchr/testify/require"
"github.com/tendermint/tendermint/crypto"
- "github.com/cosmos/ibc-go/v3/testing/simapp"
+ "github.com/cosmos/ibc-go/v4/testing/simapp"
)
func TestSimGenesisAccountValidate(t *testing.T) {
diff --git a/testing/simapp/sim_bench_test.go b/testing/simapp/sim_bench_test.go
index 6f8b020a043..26c2223c543 100644
--- a/testing/simapp/sim_bench_test.go
+++ b/testing/simapp/sim_bench_test.go
@@ -11,7 +11,7 @@ import (
)
// Profile with:
-// /usr/local/go/bin/go test -benchmem -run=^$ github.com/cosmos/ibc-go/v3/testing/simapp -bench ^BenchmarkFullAppSimulation$ -Commit=true -cpuprofile cpu.out
+// /usr/local/go/bin/go test -benchmem -run=^$ github.com/cosmos/ibc-go/v4/testing/simapp -bench ^BenchmarkFullAppSimulation$ -Commit=true -cpuprofile cpu.out
func BenchmarkFullAppSimulation(b *testing.B) {
b.ReportAllocs()
config, db, dir, logger, _, err := SetupSimulation("goleveldb-app-sim", "Simulation")
diff --git a/testing/simapp/sim_test.go b/testing/simapp/sim_test.go
index 12c96755aca..7935213c9b3 100644
--- a/testing/simapp/sim_test.go
+++ b/testing/simapp/sim_test.go
@@ -29,9 +29,9 @@ import (
tmproto "github.com/tendermint/tendermint/proto/tendermint/types"
dbm "github.com/tendermint/tm-db"
- ibctransfertypes "github.com/cosmos/ibc-go/v3/modules/apps/transfer/types"
- ibchost "github.com/cosmos/ibc-go/v3/modules/core/24-host"
- "github.com/cosmos/ibc-go/v3/testing/simapp/helpers"
+ ibctransfertypes "github.com/cosmos/ibc-go/v4/modules/apps/transfer/types"
+ ibchost "github.com/cosmos/ibc-go/v4/modules/core/24-host"
+ "github.com/cosmos/ibc-go/v4/testing/simapp/helpers"
)
// Get flags every time the simulator is run
diff --git a/testing/simapp/simd/cmd/cmd_test.go b/testing/simapp/simd/cmd/cmd_test.go
index 446639c5bf0..5108d3c0a2e 100644
--- a/testing/simapp/simd/cmd/cmd_test.go
+++ b/testing/simapp/simd/cmd/cmd_test.go
@@ -8,8 +8,8 @@ import (
"github.com/cosmos/cosmos-sdk/x/genutil/client/cli"
"github.com/stretchr/testify/require"
- "github.com/cosmos/ibc-go/v3/testing/simapp"
- "github.com/cosmos/ibc-go/v3/testing/simapp/simd/cmd"
+ "github.com/cosmos/ibc-go/v4/testing/simapp"
+ "github.com/cosmos/ibc-go/v4/testing/simapp/simd/cmd"
)
func TestInitCmd(t *testing.T) {
diff --git a/testing/simapp/simd/cmd/genaccounts_test.go b/testing/simapp/simd/cmd/genaccounts_test.go
index c7c2f92682c..b22f956d4d2 100644
--- a/testing/simapp/simd/cmd/genaccounts_test.go
+++ b/testing/simapp/simd/cmd/genaccounts_test.go
@@ -16,8 +16,8 @@ import (
"github.com/stretchr/testify/require"
"github.com/tendermint/tendermint/libs/log"
- "github.com/cosmos/ibc-go/v3/testing/simapp"
- simcmd "github.com/cosmos/ibc-go/v3/testing/simapp/simd/cmd"
+ "github.com/cosmos/ibc-go/v4/testing/simapp"
+ simcmd "github.com/cosmos/ibc-go/v4/testing/simapp/simd/cmd"
)
var testMbm = module.NewBasicManager(genutil.AppModuleBasic{})
diff --git a/testing/simapp/simd/cmd/root.go b/testing/simapp/simd/cmd/root.go
index e130cb16a32..219091ea09a 100644
--- a/testing/simapp/simd/cmd/root.go
+++ b/testing/simapp/simd/cmd/root.go
@@ -30,8 +30,8 @@ import (
"github.com/tendermint/tendermint/libs/log"
dbm "github.com/tendermint/tm-db"
- "github.com/cosmos/ibc-go/v3/testing/simapp"
- "github.com/cosmos/ibc-go/v3/testing/simapp/params"
+ "github.com/cosmos/ibc-go/v4/testing/simapp"
+ "github.com/cosmos/ibc-go/v4/testing/simapp/params"
)
// NewRootCmd creates a new root command for simd. It is called once in the
diff --git a/testing/simapp/simd/main.go b/testing/simapp/simd/main.go
index 79a7da2ac28..c6450c79f58 100644
--- a/testing/simapp/simd/main.go
+++ b/testing/simapp/simd/main.go
@@ -6,8 +6,8 @@ import (
"github.com/cosmos/cosmos-sdk/server"
svrcmd "github.com/cosmos/cosmos-sdk/server/cmd"
- "github.com/cosmos/ibc-go/v3/testing/simapp"
- "github.com/cosmos/ibc-go/v3/testing/simapp/simd/cmd"
+ "github.com/cosmos/ibc-go/v4/testing/simapp"
+ "github.com/cosmos/ibc-go/v4/testing/simapp/simd/cmd"
)
func main() {
diff --git a/testing/simapp/state.go b/testing/simapp/state.go
index c0a9e2ea1ec..0b1830d7c4b 100644
--- a/testing/simapp/state.go
+++ b/testing/simapp/state.go
@@ -19,7 +19,7 @@ import (
tmjson "github.com/tendermint/tendermint/libs/json"
tmtypes "github.com/tendermint/tendermint/types"
- simappparams "github.com/cosmos/ibc-go/v3/testing/simapp/params"
+ simappparams "github.com/cosmos/ibc-go/v4/testing/simapp/params"
)
// AppStateFn returns the initial application state using a genesis or the simulation parameters.
diff --git a/testing/simapp/test_helpers.go b/testing/simapp/test_helpers.go
index 8f76c8507ab..58e1ac2eb23 100644
--- a/testing/simapp/test_helpers.go
+++ b/testing/simapp/test_helpers.go
@@ -25,7 +25,7 @@ import (
tmtypes "github.com/tendermint/tendermint/types"
dbm "github.com/tendermint/tm-db"
- "github.com/cosmos/ibc-go/v3/testing/simapp/helpers"
+ "github.com/cosmos/ibc-go/v4/testing/simapp/helpers"
)
// DefaultConsensusParams defines the default Tendermint consensus params used in
diff --git a/testing/simapp/utils.go b/testing/simapp/utils.go
index 51788f5a322..668feb3f7f6 100644
--- a/testing/simapp/utils.go
+++ b/testing/simapp/utils.go
@@ -13,7 +13,7 @@ import (
"github.com/tendermint/tendermint/libs/log"
dbm "github.com/tendermint/tm-db"
- "github.com/cosmos/ibc-go/v3/testing/simapp/helpers"
+ "github.com/cosmos/ibc-go/v4/testing/simapp/helpers"
)
// SetupSimulation creates the config, db (levelDB), temporary directory and logger for
diff --git a/testing/solomachine.go b/testing/solomachine.go
index 485fb75be0e..a97f63c3919 100644
--- a/testing/solomachine.go
+++ b/testing/solomachine.go
@@ -12,11 +12,11 @@ import (
"github.com/cosmos/cosmos-sdk/types/tx/signing"
"github.com/stretchr/testify/require"
- clienttypes "github.com/cosmos/ibc-go/v3/modules/core/02-client/types"
- commitmenttypes "github.com/cosmos/ibc-go/v3/modules/core/23-commitment/types"
- host "github.com/cosmos/ibc-go/v3/modules/core/24-host"
- "github.com/cosmos/ibc-go/v3/modules/core/exported"
- solomachinetypes "github.com/cosmos/ibc-go/v3/modules/light-clients/06-solomachine/types"
+ clienttypes "github.com/cosmos/ibc-go/v4/modules/core/02-client/types"
+ commitmenttypes "github.com/cosmos/ibc-go/v4/modules/core/23-commitment/types"
+ host "github.com/cosmos/ibc-go/v4/modules/core/24-host"
+ "github.com/cosmos/ibc-go/v4/modules/core/exported"
+ solomachinetypes "github.com/cosmos/ibc-go/v4/modules/light-clients/06-solomachine/types"
)
// Solomachine is a testing helper used to simulate a counterparty
diff --git a/testing/values.go b/testing/values.go
index 655a4731a74..481db7915e8 100644
--- a/testing/values.go
+++ b/testing/values.go
@@ -9,12 +9,12 @@ import (
sdk "github.com/cosmos/cosmos-sdk/types"
- ibctransfertypes "github.com/cosmos/ibc-go/v3/modules/apps/transfer/types"
- connectiontypes "github.com/cosmos/ibc-go/v3/modules/core/03-connection/types"
- commitmenttypes "github.com/cosmos/ibc-go/v3/modules/core/23-commitment/types"
- ibctmtypes "github.com/cosmos/ibc-go/v3/modules/light-clients/07-tendermint/types"
- "github.com/cosmos/ibc-go/v3/testing/mock"
- "github.com/cosmos/ibc-go/v3/testing/simapp"
+ ibctransfertypes "github.com/cosmos/ibc-go/v4/modules/apps/transfer/types"
+ connectiontypes "github.com/cosmos/ibc-go/v4/modules/core/03-connection/types"
+ commitmenttypes "github.com/cosmos/ibc-go/v4/modules/core/23-commitment/types"
+ ibctmtypes "github.com/cosmos/ibc-go/v4/modules/light-clients/07-tendermint/types"
+ "github.com/cosmos/ibc-go/v4/testing/mock"
+ "github.com/cosmos/ibc-go/v4/testing/simapp"
)
const (