From 055351fe12610d446cac34c34b9306d30581d96c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 10 May 2024 10:45:37 +0200 Subject: [PATCH 1/4] build(deps): Bump cosmossdk.io/api from 0.7.4 to 0.7.5 (#6282) * build(deps): Bump cosmossdk.io/api from 0.7.4 to 0.7.5 Bumps [cosmossdk.io/api](https://github.com/cosmos/cosmos-sdk) from 0.7.4 to 0.7.5. - [Release notes](https://github.com/cosmos/cosmos-sdk/releases) - [Changelog](https://github.com/cosmos/cosmos-sdk/blob/main/CHANGELOG.md) - [Commits](https://github.com/cosmos/cosmos-sdk/compare/api/v0.7.4...api/v0.7.5) --- updated-dependencies: - dependency-name: cosmossdk.io/api dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] * bump cosmossdk.io/api to v0.7.5 in modules --------- Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Carlos Rodriguez --- e2e/go.mod | 2 +- e2e/go.sum | 4 ++-- go.mod | 2 +- go.sum | 4 ++-- modules/apps/callbacks/go.mod | 2 +- modules/apps/callbacks/go.sum | 4 ++-- modules/capability/go.mod | 2 +- modules/capability/go.sum | 2 ++ modules/light-clients/08-wasm/go.mod | 2 +- modules/light-clients/08-wasm/go.sum | 4 ++-- 10 files changed, 15 insertions(+), 13 deletions(-) diff --git a/e2e/go.mod b/e2e/go.mod index ee60f18d4d4..5938c61a4c4 100644 --- a/e2e/go.mod +++ b/e2e/go.mod @@ -28,7 +28,7 @@ require ( cloud.google.com/go/compute/metadata v0.2.3 // indirect cloud.google.com/go/iam v1.1.6 // indirect cloud.google.com/go/storage v1.36.0 // indirect - cosmossdk.io/api v0.7.4 // indirect + cosmossdk.io/api v0.7.5 // indirect cosmossdk.io/client/v2 v2.0.0-beta.1 // indirect cosmossdk.io/collections v0.4.0 // indirect cosmossdk.io/core v0.11.0 // indirect diff --git a/e2e/go.sum b/e2e/go.sum index fdbda98c386..60810d55a61 100644 --- a/e2e/go.sum +++ b/e2e/go.sum @@ -184,8 +184,8 @@ cloud.google.com/go/webrisk v1.4.0/go.mod h1:Hn8X6Zr+ziE2aNd8SliSDWpEnSS1u4R9+xX cloud.google.com/go/webrisk v1.5.0/go.mod h1:iPG6fr52Tv7sGk0H6qUFzmL3HHZev1htXuWDEEsqMTg= cloud.google.com/go/workflows v1.6.0/go.mod h1:6t9F5h/unJz41YqfBmqSASJSXccBLtD1Vwf+KmJENM0= cloud.google.com/go/workflows v1.7.0/go.mod h1:JhSrZuVZWuiDfKEFxU0/F1PQjmpnpcoISEXH2bcHC3M= -cosmossdk.io/api v0.7.4 h1:sPo8wKwCty1lht8kgL3J7YL1voJywP3YWuA5JKkBz30= -cosmossdk.io/api v0.7.4/go.mod h1:IcxpYS5fMemZGqyYtErK7OqvdM0C8kdW3dq8Q/XIG38= +cosmossdk.io/api v0.7.5 h1:eMPTReoNmGUm8DeiQL9DyM8sYDjEhWzL1+nLbI9DqtQ= +cosmossdk.io/api v0.7.5/go.mod h1:IcxpYS5fMemZGqyYtErK7OqvdM0C8kdW3dq8Q/XIG38= cosmossdk.io/client/v2 v2.0.0-beta.1 h1:XkHh1lhrLYIT9zKl7cIOXUXg2hdhtjTPBUfqERNA1/Q= cosmossdk.io/client/v2 v2.0.0-beta.1/go.mod h1:JEUSu9moNZQ4kU3ir1DKD5eU4bllmAexrGWjmb9k8qU= cosmossdk.io/collections v0.4.0 h1:PFmwj2W8szgpD5nOd8GWH6AbYNi1f2J6akWXJ7P5t9s= diff --git a/go.mod b/go.mod index 213e9beef33..98eecc76171 100644 --- a/go.mod +++ b/go.mod @@ -3,7 +3,7 @@ go 1.21 module github.com/cosmos/ibc-go/v8 require ( - cosmossdk.io/api v0.7.4 + cosmossdk.io/api v0.7.5 cosmossdk.io/client/v2 v2.0.0-beta.1 cosmossdk.io/core v0.11.0 cosmossdk.io/errors v1.0.1 diff --git a/go.sum b/go.sum index ac6eaaded6f..ce10cfe9eb8 100644 --- a/go.sum +++ b/go.sum @@ -184,8 +184,8 @@ cloud.google.com/go/webrisk v1.4.0/go.mod h1:Hn8X6Zr+ziE2aNd8SliSDWpEnSS1u4R9+xX cloud.google.com/go/webrisk v1.5.0/go.mod h1:iPG6fr52Tv7sGk0H6qUFzmL3HHZev1htXuWDEEsqMTg= cloud.google.com/go/workflows v1.6.0/go.mod h1:6t9F5h/unJz41YqfBmqSASJSXccBLtD1Vwf+KmJENM0= cloud.google.com/go/workflows v1.7.0/go.mod h1:JhSrZuVZWuiDfKEFxU0/F1PQjmpnpcoISEXH2bcHC3M= -cosmossdk.io/api v0.7.4 h1:sPo8wKwCty1lht8kgL3J7YL1voJywP3YWuA5JKkBz30= -cosmossdk.io/api v0.7.4/go.mod h1:IcxpYS5fMemZGqyYtErK7OqvdM0C8kdW3dq8Q/XIG38= +cosmossdk.io/api v0.7.5 h1:eMPTReoNmGUm8DeiQL9DyM8sYDjEhWzL1+nLbI9DqtQ= +cosmossdk.io/api v0.7.5/go.mod h1:IcxpYS5fMemZGqyYtErK7OqvdM0C8kdW3dq8Q/XIG38= cosmossdk.io/client/v2 v2.0.0-beta.1 h1:XkHh1lhrLYIT9zKl7cIOXUXg2hdhtjTPBUfqERNA1/Q= cosmossdk.io/client/v2 v2.0.0-beta.1/go.mod h1:JEUSu9moNZQ4kU3ir1DKD5eU4bllmAexrGWjmb9k8qU= cosmossdk.io/collections v0.4.0 h1:PFmwj2W8szgpD5nOd8GWH6AbYNi1f2J6akWXJ7P5t9s= diff --git a/modules/apps/callbacks/go.mod b/modules/apps/callbacks/go.mod index 9402fe75c6e..11a6ce7d3b7 100644 --- a/modules/apps/callbacks/go.mod +++ b/modules/apps/callbacks/go.mod @@ -9,7 +9,7 @@ replace github.com/cosmos/ibc-go/v8 => ../../../ replace github.com/syndtr/goleveldb => github.com/syndtr/goleveldb v1.0.1-0.20210819022825-2ae1ddf74ef7 require ( - cosmossdk.io/api v0.7.4 + cosmossdk.io/api v0.7.5 cosmossdk.io/client/v2 v2.0.0-beta.1 cosmossdk.io/core v0.11.0 cosmossdk.io/errors v1.0.1 diff --git a/modules/apps/callbacks/go.sum b/modules/apps/callbacks/go.sum index ac6eaaded6f..ce10cfe9eb8 100644 --- a/modules/apps/callbacks/go.sum +++ b/modules/apps/callbacks/go.sum @@ -184,8 +184,8 @@ cloud.google.com/go/webrisk v1.4.0/go.mod h1:Hn8X6Zr+ziE2aNd8SliSDWpEnSS1u4R9+xX cloud.google.com/go/webrisk v1.5.0/go.mod h1:iPG6fr52Tv7sGk0H6qUFzmL3HHZev1htXuWDEEsqMTg= cloud.google.com/go/workflows v1.6.0/go.mod h1:6t9F5h/unJz41YqfBmqSASJSXccBLtD1Vwf+KmJENM0= cloud.google.com/go/workflows v1.7.0/go.mod h1:JhSrZuVZWuiDfKEFxU0/F1PQjmpnpcoISEXH2bcHC3M= -cosmossdk.io/api v0.7.4 h1:sPo8wKwCty1lht8kgL3J7YL1voJywP3YWuA5JKkBz30= -cosmossdk.io/api v0.7.4/go.mod h1:IcxpYS5fMemZGqyYtErK7OqvdM0C8kdW3dq8Q/XIG38= +cosmossdk.io/api v0.7.5 h1:eMPTReoNmGUm8DeiQL9DyM8sYDjEhWzL1+nLbI9DqtQ= +cosmossdk.io/api v0.7.5/go.mod h1:IcxpYS5fMemZGqyYtErK7OqvdM0C8kdW3dq8Q/XIG38= cosmossdk.io/client/v2 v2.0.0-beta.1 h1:XkHh1lhrLYIT9zKl7cIOXUXg2hdhtjTPBUfqERNA1/Q= cosmossdk.io/client/v2 v2.0.0-beta.1/go.mod h1:JEUSu9moNZQ4kU3ir1DKD5eU4bllmAexrGWjmb9k8qU= cosmossdk.io/collections v0.4.0 h1:PFmwj2W8szgpD5nOd8GWH6AbYNi1f2J6akWXJ7P5t9s= diff --git a/modules/capability/go.mod b/modules/capability/go.mod index a1ebd56f413..a66ed1f3b01 100644 --- a/modules/capability/go.mod +++ b/modules/capability/go.mod @@ -20,7 +20,7 @@ require ( ) require ( - cosmossdk.io/api v0.7.4 // indirect + cosmossdk.io/api v0.7.5 // indirect cosmossdk.io/collections v0.4.0 // indirect cosmossdk.io/depinject v1.0.0-alpha.4 // indirect cosmossdk.io/x/tx v0.13.2 // indirect diff --git a/modules/capability/go.sum b/modules/capability/go.sum index 5cede605910..e88d7001d27 100644 --- a/modules/capability/go.sum +++ b/modules/capability/go.sum @@ -2,6 +2,8 @@ cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMT cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= cosmossdk.io/api v0.7.4 h1:sPo8wKwCty1lht8kgL3J7YL1voJywP3YWuA5JKkBz30= cosmossdk.io/api v0.7.4/go.mod h1:IcxpYS5fMemZGqyYtErK7OqvdM0C8kdW3dq8Q/XIG38= +cosmossdk.io/api v0.7.5 h1:eMPTReoNmGUm8DeiQL9DyM8sYDjEhWzL1+nLbI9DqtQ= +cosmossdk.io/api v0.7.5/go.mod h1:IcxpYS5fMemZGqyYtErK7OqvdM0C8kdW3dq8Q/XIG38= cosmossdk.io/collections v0.4.0 h1:PFmwj2W8szgpD5nOd8GWH6AbYNi1f2J6akWXJ7P5t9s= cosmossdk.io/collections v0.4.0/go.mod h1:oa5lUING2dP+gdDquow+QjlF45eL1t4TJDypgGd+tv0= cosmossdk.io/core v0.11.0 h1:vtIafqUi+1ZNAE/oxLOQQ7Oek2n4S48SWLG8h/+wdbo= diff --git a/modules/light-clients/08-wasm/go.mod b/modules/light-clients/08-wasm/go.mod index 449c23f731b..7655ed57ba5 100644 --- a/modules/light-clients/08-wasm/go.mod +++ b/modules/light-clients/08-wasm/go.mod @@ -7,7 +7,7 @@ replace github.com/cosmos/ibc-go/v8 => ../../../ replace github.com/syndtr/goleveldb => github.com/syndtr/goleveldb v1.0.1-0.20210819022825-2ae1ddf74ef7 require ( - cosmossdk.io/api v0.7.4 + cosmossdk.io/api v0.7.5 cosmossdk.io/client/v2 v2.0.0-beta.1 cosmossdk.io/collections v0.4.0 cosmossdk.io/core v0.11.0 diff --git a/modules/light-clients/08-wasm/go.sum b/modules/light-clients/08-wasm/go.sum index 1e3f204762a..ae2a531382f 100644 --- a/modules/light-clients/08-wasm/go.sum +++ b/modules/light-clients/08-wasm/go.sum @@ -184,8 +184,8 @@ cloud.google.com/go/webrisk v1.4.0/go.mod h1:Hn8X6Zr+ziE2aNd8SliSDWpEnSS1u4R9+xX cloud.google.com/go/webrisk v1.5.0/go.mod h1:iPG6fr52Tv7sGk0H6qUFzmL3HHZev1htXuWDEEsqMTg= cloud.google.com/go/workflows v1.6.0/go.mod h1:6t9F5h/unJz41YqfBmqSASJSXccBLtD1Vwf+KmJENM0= cloud.google.com/go/workflows v1.7.0/go.mod h1:JhSrZuVZWuiDfKEFxU0/F1PQjmpnpcoISEXH2bcHC3M= -cosmossdk.io/api v0.7.4 h1:sPo8wKwCty1lht8kgL3J7YL1voJywP3YWuA5JKkBz30= -cosmossdk.io/api v0.7.4/go.mod h1:IcxpYS5fMemZGqyYtErK7OqvdM0C8kdW3dq8Q/XIG38= +cosmossdk.io/api v0.7.5 h1:eMPTReoNmGUm8DeiQL9DyM8sYDjEhWzL1+nLbI9DqtQ= +cosmossdk.io/api v0.7.5/go.mod h1:IcxpYS5fMemZGqyYtErK7OqvdM0C8kdW3dq8Q/XIG38= cosmossdk.io/client/v2 v2.0.0-beta.1 h1:XkHh1lhrLYIT9zKl7cIOXUXg2hdhtjTPBUfqERNA1/Q= cosmossdk.io/client/v2 v2.0.0-beta.1/go.mod h1:JEUSu9moNZQ4kU3ir1DKD5eU4bllmAexrGWjmb9k8qU= cosmossdk.io/collections v0.4.0 h1:PFmwj2W8szgpD5nOd8GWH6AbYNi1f2J6akWXJ7P5t9s= From 527912058257303cfe9569ef1097036b354acf5e Mon Sep 17 00:00:00 2001 From: Carlos Rodriguez Date: Fri, 10 May 2024 13:24:42 +0200 Subject: [PATCH 2/4] e2e: add compatibility tests for v7.5.x and v8.3.x (#6228) * e2e: add compatibility tests for v7.5.x and v8.3.x * add ica queries test for main * add v7.5 as version that supports unordered ICA channels * SDK supports transaction event querying since v0.50 * fix if statement * add missing tests * verifying the response of the ICA query is only possible if the chain support the --query flag * try --events flag for querying txs by events * remove unused variable * hopefully this does the trick to make the query work * add logging * remove logging --------- Co-authored-by: Damian Nolan --- .../main/ica-queries-chain-a.json | 17 ++++++++ .../main/ica-queries-chain-b.json | 17 ++++++++ .../release-v7.5.x/client-chain-a.json | 19 +++++++++ .../release-v7.5.x/connection-chain-a.json | 17 ++++++++ .../release-v7.5.x/ica-chain-a.json | 23 +++++++++++ .../release-v7.5.x/ica-chain-b.json | 23 +++++++++++ .../release-v7.5.x/ica-gov-chain-a.json | 20 ++++++++++ .../release-v7.5.x/ica-gov-chain-b.json | 20 ++++++++++ .../release-v7.5.x/ica-groups-chain-a.json | 20 ++++++++++ .../release-v7.5.x/ica-groups-chain-b.json | 20 ++++++++++ .../release-v7.5.x/ica-queries-chain-a.json | 17 ++++++++ .../release-v7.5.x/ica-queries-chain-b.json | 17 ++++++++ .../ica-unordered-channel-chain-a.json | 18 +++++++++ .../ica-unordered-channel-chain-b.json | 18 +++++++++ .../incentivized-ica-chain-a.json | 21 ++++++++++ .../incentivized-ica-chain-b.json | 21 ++++++++++ .../incentivized-transfer-chain-a.json | 27 +++++++++++++ .../incentivized-transfer-chain-b.json | 27 +++++++++++++ .../release-v7.5.x/localhost-ica-chain-a.json | 20 ++++++++++ .../localhost-transfer-chain-a.json | 19 +++++++++ .../transfer-authz-chain-a.json | 20 ++++++++++ .../transfer-authz-chain-b.json | 20 ++++++++++ .../release-v7.5.x/transfer-chain-a.json | 29 ++++++++++++++ .../release-v7.5.x/transfer-chain-b.json | 27 +++++++++++++ .../release-v8.3.x/client-chain-a.json | 21 ++++++++++ .../release-v8.3.x/connection-chain-a.json | 17 ++++++++ .../release-v8.3.x/genesis-chain-a.json | 17 ++++++++ .../release-v8.3.x/ica-chain-a.json | 23 +++++++++++ .../release-v8.3.x/ica-chain-b.json | 23 +++++++++++ .../ica-channel-upgrade-chain-a.json | 19 +++++++++ .../ica-channel-upgrade-chain-b.json | 19 +++++++++ .../release-v8.3.x/ica-gov-chain-a.json | 20 ++++++++++ .../release-v8.3.x/ica-gov-chain-b.json | 20 ++++++++++ .../release-v8.3.x/ica-groups-chain-a.json | 20 ++++++++++ .../release-v8.3.x/ica-groups-chain-b.json | 20 ++++++++++ .../release-v8.3.x/ica-queries-chain-a.json | 17 ++++++++ .../release-v8.3.x/ica-queries-chain-b.json | 17 ++++++++ .../ica-unordered-channel-chain-a.json | 18 +++++++++ .../ica-unordered-channel-chain-b.json | 18 +++++++++ .../incentivized-ica-chain-a.json | 21 ++++++++++ .../incentivized-ica-chain-b.json | 21 ++++++++++ .../incentivized-transfer-chain-a.json | 27 +++++++++++++ .../incentivized-transfer-chain-b.json | 27 +++++++++++++ .../release-v8.3.x/localhost-ica-chain-a.json | 20 ++++++++++ .../localhost-transfer-chain-a.json | 19 +++++++++ .../transfer-authz-chain-a.json | 20 ++++++++++ .../transfer-authz-chain-b.json | 20 ++++++++++ .../release-v8.3.x/transfer-chain-a.json | 29 ++++++++++++++ .../release-v8.3.x/transfer-chain-b.json | 27 +++++++++++++ .../transfer-channel-upgrade-chain-a.json | 20 ++++++++++ .../transfer-channel-upgrade-chain-b.json | 20 ++++++++++ .../unreleased/ica-queries.json | 19 +++++++++ .../e2e-compatibility-unreleased.yaml | 2 + .github/workflows/e2e-compatibility.yaml | 40 +++++++++++++++++++ e2e/tests/interchain_accounts/params_test.go | 6 ++- e2e/tests/interchain_accounts/query_test.go | 10 +++-- e2e/testsuite/sanitize/messages.go | 1 + e2e/testsuite/tx.go | 10 ++++- e2e/testvalues/values.go | 6 +++ 59 files changed, 1145 insertions(+), 6 deletions(-) create mode 100644 .github/compatibility-test-matrices/main/ica-queries-chain-a.json create mode 100644 .github/compatibility-test-matrices/main/ica-queries-chain-b.json create mode 100644 .github/compatibility-test-matrices/release-v7.5.x/client-chain-a.json create mode 100644 .github/compatibility-test-matrices/release-v7.5.x/connection-chain-a.json create mode 100644 .github/compatibility-test-matrices/release-v7.5.x/ica-chain-a.json create mode 100644 .github/compatibility-test-matrices/release-v7.5.x/ica-chain-b.json create mode 100644 .github/compatibility-test-matrices/release-v7.5.x/ica-gov-chain-a.json create mode 100644 .github/compatibility-test-matrices/release-v7.5.x/ica-gov-chain-b.json create mode 100644 .github/compatibility-test-matrices/release-v7.5.x/ica-groups-chain-a.json create mode 100644 .github/compatibility-test-matrices/release-v7.5.x/ica-groups-chain-b.json create mode 100644 .github/compatibility-test-matrices/release-v7.5.x/ica-queries-chain-a.json create mode 100644 .github/compatibility-test-matrices/release-v7.5.x/ica-queries-chain-b.json create mode 100644 .github/compatibility-test-matrices/release-v7.5.x/ica-unordered-channel-chain-a.json create mode 100644 .github/compatibility-test-matrices/release-v7.5.x/ica-unordered-channel-chain-b.json create mode 100644 .github/compatibility-test-matrices/release-v7.5.x/incentivized-ica-chain-a.json create mode 100644 .github/compatibility-test-matrices/release-v7.5.x/incentivized-ica-chain-b.json create mode 100644 .github/compatibility-test-matrices/release-v7.5.x/incentivized-transfer-chain-a.json create mode 100644 .github/compatibility-test-matrices/release-v7.5.x/incentivized-transfer-chain-b.json create mode 100644 .github/compatibility-test-matrices/release-v7.5.x/localhost-ica-chain-a.json create mode 100644 .github/compatibility-test-matrices/release-v7.5.x/localhost-transfer-chain-a.json create mode 100644 .github/compatibility-test-matrices/release-v7.5.x/transfer-authz-chain-a.json create mode 100644 .github/compatibility-test-matrices/release-v7.5.x/transfer-authz-chain-b.json create mode 100644 .github/compatibility-test-matrices/release-v7.5.x/transfer-chain-a.json create mode 100644 .github/compatibility-test-matrices/release-v7.5.x/transfer-chain-b.json create mode 100644 .github/compatibility-test-matrices/release-v8.3.x/client-chain-a.json create mode 100644 .github/compatibility-test-matrices/release-v8.3.x/connection-chain-a.json create mode 100644 .github/compatibility-test-matrices/release-v8.3.x/genesis-chain-a.json create mode 100644 .github/compatibility-test-matrices/release-v8.3.x/ica-chain-a.json create mode 100644 .github/compatibility-test-matrices/release-v8.3.x/ica-chain-b.json create mode 100644 .github/compatibility-test-matrices/release-v8.3.x/ica-channel-upgrade-chain-a.json create mode 100644 .github/compatibility-test-matrices/release-v8.3.x/ica-channel-upgrade-chain-b.json create mode 100644 .github/compatibility-test-matrices/release-v8.3.x/ica-gov-chain-a.json create mode 100644 .github/compatibility-test-matrices/release-v8.3.x/ica-gov-chain-b.json create mode 100644 .github/compatibility-test-matrices/release-v8.3.x/ica-groups-chain-a.json create mode 100644 .github/compatibility-test-matrices/release-v8.3.x/ica-groups-chain-b.json create mode 100644 .github/compatibility-test-matrices/release-v8.3.x/ica-queries-chain-a.json create mode 100644 .github/compatibility-test-matrices/release-v8.3.x/ica-queries-chain-b.json create mode 100644 .github/compatibility-test-matrices/release-v8.3.x/ica-unordered-channel-chain-a.json create mode 100644 .github/compatibility-test-matrices/release-v8.3.x/ica-unordered-channel-chain-b.json create mode 100644 .github/compatibility-test-matrices/release-v8.3.x/incentivized-ica-chain-a.json create mode 100644 .github/compatibility-test-matrices/release-v8.3.x/incentivized-ica-chain-b.json create mode 100644 .github/compatibility-test-matrices/release-v8.3.x/incentivized-transfer-chain-a.json create mode 100644 .github/compatibility-test-matrices/release-v8.3.x/incentivized-transfer-chain-b.json create mode 100644 .github/compatibility-test-matrices/release-v8.3.x/localhost-ica-chain-a.json create mode 100644 .github/compatibility-test-matrices/release-v8.3.x/localhost-transfer-chain-a.json create mode 100644 .github/compatibility-test-matrices/release-v8.3.x/transfer-authz-chain-a.json create mode 100644 .github/compatibility-test-matrices/release-v8.3.x/transfer-authz-chain-b.json create mode 100644 .github/compatibility-test-matrices/release-v8.3.x/transfer-chain-a.json create mode 100644 .github/compatibility-test-matrices/release-v8.3.x/transfer-chain-b.json create mode 100644 .github/compatibility-test-matrices/release-v8.3.x/transfer-channel-upgrade-chain-a.json create mode 100644 .github/compatibility-test-matrices/release-v8.3.x/transfer-channel-upgrade-chain-b.json create mode 100644 .github/compatibility-test-matrices/unreleased/ica-queries.json diff --git a/.github/compatibility-test-matrices/main/ica-queries-chain-a.json b/.github/compatibility-test-matrices/main/ica-queries-chain-a.json new file mode 100644 index 00000000000..e76bace97b9 --- /dev/null +++ b/.github/compatibility-test-matrices/main/ica-queries-chain-a.json @@ -0,0 +1,17 @@ +{ + "chain-a": [ + "main" + ], + "chain-b": [ + "main" + ], + "entrypoint": [ + "TestInterchainAccountsQueryTestSuite" + ], + "test": [ + "TestInterchainAccountsQuery" + ], + "relayer-type": [ + "hermes" + ] +} \ No newline at end of file diff --git a/.github/compatibility-test-matrices/main/ica-queries-chain-b.json b/.github/compatibility-test-matrices/main/ica-queries-chain-b.json new file mode 100644 index 00000000000..e76bace97b9 --- /dev/null +++ b/.github/compatibility-test-matrices/main/ica-queries-chain-b.json @@ -0,0 +1,17 @@ +{ + "chain-a": [ + "main" + ], + "chain-b": [ + "main" + ], + "entrypoint": [ + "TestInterchainAccountsQueryTestSuite" + ], + "test": [ + "TestInterchainAccountsQuery" + ], + "relayer-type": [ + "hermes" + ] +} \ No newline at end of file diff --git a/.github/compatibility-test-matrices/release-v7.5.x/client-chain-a.json b/.github/compatibility-test-matrices/release-v7.5.x/client-chain-a.json new file mode 100644 index 00000000000..8745375ca7b --- /dev/null +++ b/.github/compatibility-test-matrices/release-v7.5.x/client-chain-a.json @@ -0,0 +1,19 @@ +{ + "chain-a": [ + "release-v7.5.x" + ], + "chain-b": [ + "release-v7.5.x" + ], + "entrypoint": [ + "TestClientTestSuite" + ], + "test": [ + "TestClientUpdateProposal_Succeeds", + "TestClient_Update_Misbehaviour", + "TestAllowedClientsParam" + ], + "relayer-type": [ + "hermes" + ] +} diff --git a/.github/compatibility-test-matrices/release-v7.5.x/connection-chain-a.json b/.github/compatibility-test-matrices/release-v7.5.x/connection-chain-a.json new file mode 100644 index 00000000000..fb91c01b6ad --- /dev/null +++ b/.github/compatibility-test-matrices/release-v7.5.x/connection-chain-a.json @@ -0,0 +1,17 @@ +{ + "chain-a": [ + "release-v7.5.x" + ], + "chain-b": [ + "release-v7.5.x" + ], + "entrypoint": [ + "TestConnectionTestSuite" + ], + "test": [ + "TestMaxExpectedTimePerBlockParam" + ], + "relayer-type": [ + "hermes" + ] +} diff --git a/.github/compatibility-test-matrices/release-v7.5.x/ica-chain-a.json b/.github/compatibility-test-matrices/release-v7.5.x/ica-chain-a.json new file mode 100644 index 00000000000..ffc2a1041a0 --- /dev/null +++ b/.github/compatibility-test-matrices/release-v7.5.x/ica-chain-a.json @@ -0,0 +1,23 @@ +{ + "chain-a": [ + "release-v7.5.x" + ], + "chain-b": [ + "v8.2.0", + "v7.4.0", + "v6.3.0", + "release-v7.5.x" + ], + "entrypoint": [ + "TestInterchainAccountsTestSuite" + ], + "test": [ + "TestMsgSendTx_SuccessfulTransfer", + "TestMsgSendTx_FailedTransfer_InsufficientFunds", + "TestMsgSendTx_SuccessfulTransfer_AfterReopeningICA", + "TestControllerEnabledParam" + ], + "relayer-type": [ + "hermes" + ] +} \ No newline at end of file diff --git a/.github/compatibility-test-matrices/release-v7.5.x/ica-chain-b.json b/.github/compatibility-test-matrices/release-v7.5.x/ica-chain-b.json new file mode 100644 index 00000000000..5cfdc387363 --- /dev/null +++ b/.github/compatibility-test-matrices/release-v7.5.x/ica-chain-b.json @@ -0,0 +1,23 @@ +{ + "chain-a": [ + "v8.2.0", + "v7.4.0", + "v6.3.0", + "release-v7.5.x" + ], + "chain-b": [ + "release-v7.5.x" + ], + "entrypoint": [ + "TestInterchainAccountsTestSuite" + ], + "test": [ + "TestMsgSendTx_SuccessfulTransfer", + "TestMsgSendTx_FailedTransfer_InsufficientFunds", + "TestMsgSendTx_SuccessfulTransfer_AfterReopeningICA", + "TestHostEnabledParam" + ], + "relayer-type": [ + "hermes" + ] +} \ No newline at end of file diff --git a/.github/compatibility-test-matrices/release-v7.5.x/ica-gov-chain-a.json b/.github/compatibility-test-matrices/release-v7.5.x/ica-gov-chain-a.json new file mode 100644 index 00000000000..a91f328c512 --- /dev/null +++ b/.github/compatibility-test-matrices/release-v7.5.x/ica-gov-chain-a.json @@ -0,0 +1,20 @@ +{ + "chain-a": [ + "release-v7.5.x" + ], + "chain-b": [ + "v8.2.0", + "v7.4.0", + "v6.3.0", + "release-v7.5.x" + ], + "entrypoint": [ + "TestInterchainAccountsGovTestSuite" + ], + "test": [ + "TestInterchainAccountsGovIntegration" + ], + "relayer-type": [ + "hermes" + ] +} \ No newline at end of file diff --git a/.github/compatibility-test-matrices/release-v7.5.x/ica-gov-chain-b.json b/.github/compatibility-test-matrices/release-v7.5.x/ica-gov-chain-b.json new file mode 100644 index 00000000000..a33e84b35d4 --- /dev/null +++ b/.github/compatibility-test-matrices/release-v7.5.x/ica-gov-chain-b.json @@ -0,0 +1,20 @@ +{ + "chain-a": [ + "v8.2.0", + "v7.4.0", + "v6.3.0", + "release-v7.5.x" + ], + "chain-b": [ + "release-v7.5.x" + ], + "entrypoint": [ + "TestInterchainAccountsGovTestSuite" + ], + "test": [ + "TestInterchainAccountsGovIntegration" + ], + "relayer-type": [ + "hermes" + ] +} \ No newline at end of file diff --git a/.github/compatibility-test-matrices/release-v7.5.x/ica-groups-chain-a.json b/.github/compatibility-test-matrices/release-v7.5.x/ica-groups-chain-a.json new file mode 100644 index 00000000000..036d2f653f5 --- /dev/null +++ b/.github/compatibility-test-matrices/release-v7.5.x/ica-groups-chain-a.json @@ -0,0 +1,20 @@ +{ + "chain-a": [ + "release-v7.5.x" + ], + "chain-b": [ + "v8.2.0", + "v7.4.0", + "v6.3.0", + "release-v7.5.x" + ], + "entrypoint": [ + "TestInterchainAccountsGroupsTestSuite" + ], + "test": [ + "TestInterchainAccountsGroupsIntegration" + ], + "relayer-type": [ + "hermes" + ] +} \ No newline at end of file diff --git a/.github/compatibility-test-matrices/release-v7.5.x/ica-groups-chain-b.json b/.github/compatibility-test-matrices/release-v7.5.x/ica-groups-chain-b.json new file mode 100644 index 00000000000..ced2c450af3 --- /dev/null +++ b/.github/compatibility-test-matrices/release-v7.5.x/ica-groups-chain-b.json @@ -0,0 +1,20 @@ +{ + "chain-a": [ + "v8.2.0", + "v7.4.0", + "v6.3.0", + "release-v7.5.x" + ], + "chain-b": [ + "release-v7.5.x" + ], + "entrypoint": [ + "TestInterchainAccountsGroupsTestSuite" + ], + "test": [ + "TestInterchainAccountsGroupsIntegration" + ], + "relayer-type": [ + "hermes" + ] +} \ No newline at end of file diff --git a/.github/compatibility-test-matrices/release-v7.5.x/ica-queries-chain-a.json b/.github/compatibility-test-matrices/release-v7.5.x/ica-queries-chain-a.json new file mode 100644 index 00000000000..9af2187b44f --- /dev/null +++ b/.github/compatibility-test-matrices/release-v7.5.x/ica-queries-chain-a.json @@ -0,0 +1,17 @@ +{ + "chain-a": [ + "release-v7.5.x" + ], + "chain-b": [ + "release-v7.5.x" + ], + "entrypoint": [ + "TestInterchainAccountsQueryTestSuite" + ], + "test": [ + "TestInterchainAccountsQuery" + ], + "relayer-type": [ + "hermes" + ] +} \ No newline at end of file diff --git a/.github/compatibility-test-matrices/release-v7.5.x/ica-queries-chain-b.json b/.github/compatibility-test-matrices/release-v7.5.x/ica-queries-chain-b.json new file mode 100644 index 00000000000..9af2187b44f --- /dev/null +++ b/.github/compatibility-test-matrices/release-v7.5.x/ica-queries-chain-b.json @@ -0,0 +1,17 @@ +{ + "chain-a": [ + "release-v7.5.x" + ], + "chain-b": [ + "release-v7.5.x" + ], + "entrypoint": [ + "TestInterchainAccountsQueryTestSuite" + ], + "test": [ + "TestInterchainAccountsQuery" + ], + "relayer-type": [ + "hermes" + ] +} \ No newline at end of file diff --git a/.github/compatibility-test-matrices/release-v7.5.x/ica-unordered-channel-chain-a.json b/.github/compatibility-test-matrices/release-v7.5.x/ica-unordered-channel-chain-a.json new file mode 100644 index 00000000000..628b48e6691 --- /dev/null +++ b/.github/compatibility-test-matrices/release-v7.5.x/ica-unordered-channel-chain-a.json @@ -0,0 +1,18 @@ +{ + "chain-a": [ + "release-v7.5.x" + ], + "chain-b": [ + "v8.2.0", + "release-v7.5.x" + ], + "entrypoint": [ + "TestInterchainAccountsTestSuite" + ], + "test": [ + "TestMsgSendTx_SuccessfulTransfer_UnorderedChannel" + ], + "relayer-type": [ + "hermes" + ] +} \ No newline at end of file diff --git a/.github/compatibility-test-matrices/release-v7.5.x/ica-unordered-channel-chain-b.json b/.github/compatibility-test-matrices/release-v7.5.x/ica-unordered-channel-chain-b.json new file mode 100644 index 00000000000..b9322e61db4 --- /dev/null +++ b/.github/compatibility-test-matrices/release-v7.5.x/ica-unordered-channel-chain-b.json @@ -0,0 +1,18 @@ +{ + "chain-a": [ + "v8.2.0", + "release-v7.5.x" + ], + "chain-b": [ + "release-v7.5.x" + ], + "entrypoint": [ + "TestInterchainAccountsTestSuite" + ], + "test": [ + "TestMsgSendTx_SuccessfulTransfer_UnorderedChannel" + ], + "relayer-type": [ + "hermes" + ] +} \ No newline at end of file diff --git a/.github/compatibility-test-matrices/release-v7.5.x/incentivized-ica-chain-a.json b/.github/compatibility-test-matrices/release-v7.5.x/incentivized-ica-chain-a.json new file mode 100644 index 00000000000..0c765b309f5 --- /dev/null +++ b/.github/compatibility-test-matrices/release-v7.5.x/incentivized-ica-chain-a.json @@ -0,0 +1,21 @@ +{ + "chain-a": [ + "release-v7.5.x" + ], + "chain-b": [ + "v8.2.0", + "v7.4.0", + "v6.3.0", + "release-v7.5.x" + ], + "entrypoint": [ + "TestIncentivizedInterchainAccountsTestSuite" + ], + "test": [ + "TestMsgSendTx_SuccessfulBankSend_Incentivized", + "TestMsgSendTx_FailedBankSend_Incentivized" + ], + "relayer-type": [ + "hermes" + ] +} \ No newline at end of file diff --git a/.github/compatibility-test-matrices/release-v7.5.x/incentivized-ica-chain-b.json b/.github/compatibility-test-matrices/release-v7.5.x/incentivized-ica-chain-b.json new file mode 100644 index 00000000000..472a1609d9a --- /dev/null +++ b/.github/compatibility-test-matrices/release-v7.5.x/incentivized-ica-chain-b.json @@ -0,0 +1,21 @@ +{ + "chain-a": [ + "v8.2.0", + "v7.4.0", + "v6.3.0", + "release-v7.5.x" + ], + "chain-b": [ + "release-v7.5.x" + ], + "entrypoint": [ + "TestIncentivizedInterchainAccountsTestSuite" + ], + "test": [ + "TestMsgSendTx_SuccessfulBankSend_Incentivized", + "TestMsgSendTx_FailedBankSend_Incentivized" + ], + "relayer-type": [ + "hermes" + ] +} \ No newline at end of file diff --git a/.github/compatibility-test-matrices/release-v7.5.x/incentivized-transfer-chain-a.json b/.github/compatibility-test-matrices/release-v7.5.x/incentivized-transfer-chain-a.json new file mode 100644 index 00000000000..6ccbdd6aaf1 --- /dev/null +++ b/.github/compatibility-test-matrices/release-v7.5.x/incentivized-transfer-chain-a.json @@ -0,0 +1,27 @@ +{ + "chain-a": [ + "release-v7.5.x" + ], + "chain-b": [ + "v8.2.0", + "v7.4.0", + "v6.3.0", + "v5.4.0", + "v4.6.0", + "release-v7.5.x" + ], + "entrypoint": [ + "TestIncentivizedTransferTestSuite" + ], + "test": [ + "TestMsgPayPacketFee_AsyncSingleSender_Succeeds", + "TestMsgPayPacketFee_InvalidReceiverAccount", + "TestMultiMsg_MsgPayPacketFeeSingleSender", + "TestMsgPayPacketFee_SingleSender_TimesOut", + "TestPayPacketFeeAsync_SingleSender_NoCounterPartyAddress", + "TestMsgPayPacketFee_AsyncMultipleSenders_Succeeds" + ], + "relayer-type": [ + "hermes" + ] +} \ No newline at end of file diff --git a/.github/compatibility-test-matrices/release-v7.5.x/incentivized-transfer-chain-b.json b/.github/compatibility-test-matrices/release-v7.5.x/incentivized-transfer-chain-b.json new file mode 100644 index 00000000000..06ef1fc827e --- /dev/null +++ b/.github/compatibility-test-matrices/release-v7.5.x/incentivized-transfer-chain-b.json @@ -0,0 +1,27 @@ +{ + "chain-a": [ + "v8.2.0", + "v7.4.0", + "v6.3.0", + "v5.4.0", + "v4.6.0", + "release-v7.5.x" + ], + "chain-b": [ + "release-v7.5.x" + ], + "entrypoint": [ + "TestIncentivizedTransferTestSuite" + ], + "test": [ + "TestMsgPayPacketFee_AsyncSingleSender_Succeeds", + "TestMsgPayPacketFee_InvalidReceiverAccount", + "TestMultiMsg_MsgPayPacketFeeSingleSender", + "TestMsgPayPacketFee_SingleSender_TimesOut", + "TestPayPacketFeeAsync_SingleSender_NoCounterPartyAddress", + "TestMsgPayPacketFee_AsyncMultipleSenders_Succeeds" + ], + "relayer-type": [ + "hermes" + ] +} \ No newline at end of file diff --git a/.github/compatibility-test-matrices/release-v7.5.x/localhost-ica-chain-a.json b/.github/compatibility-test-matrices/release-v7.5.x/localhost-ica-chain-a.json new file mode 100644 index 00000000000..a6afa1a509e --- /dev/null +++ b/.github/compatibility-test-matrices/release-v7.5.x/localhost-ica-chain-a.json @@ -0,0 +1,20 @@ +{ + "chain-a": [ + "release-v7.5.x" + ], + "chain-b": [ + "v8.2.0", + "v7.4.0", + "release-v7.5.x" + ], + "entrypoint": [ + "LocalhostInterchainAccountsTestSuite" + ], + "test": [ + "TestInterchainAccounts_Localhost", + "TestInterchainAccounts_ReopenChannel_Localhost" + ], + "relayer-type": [ + "hermes" + ] +} diff --git a/.github/compatibility-test-matrices/release-v7.5.x/localhost-transfer-chain-a.json b/.github/compatibility-test-matrices/release-v7.5.x/localhost-transfer-chain-a.json new file mode 100644 index 00000000000..217674086a0 --- /dev/null +++ b/.github/compatibility-test-matrices/release-v7.5.x/localhost-transfer-chain-a.json @@ -0,0 +1,19 @@ +{ + "chain-a": [ + "release-v7.5.x" + ], + "chain-b": [ + "v8.2.0", + "v7.4.0", + "release-v7.5.x" + ], + "entrypoint": [ + "LocalhostTransferTestSuite" + ], + "test": [ + "TestMsgTransfer_Localhost" + ], + "relayer-type": [ + "hermes" + ] +} diff --git a/.github/compatibility-test-matrices/release-v7.5.x/transfer-authz-chain-a.json b/.github/compatibility-test-matrices/release-v7.5.x/transfer-authz-chain-a.json new file mode 100644 index 00000000000..6800191a3e1 --- /dev/null +++ b/.github/compatibility-test-matrices/release-v7.5.x/transfer-authz-chain-a.json @@ -0,0 +1,20 @@ +{ + "chain-a": [ + "release-v7.5.x" + ], + "chain-b": [ + "v8.2.0", + "v7.4.0", + "release-v7.5.x" + ], + "entrypoint": [ + "TestAuthzTransferTestSuite" + ], + "test": [ + "TestAuthz_MsgTransfer_Succeeds", + "TestAuthz_InvalidTransferAuthorizations" + ], + "relayer-type": [ + "hermes" + ] +} \ No newline at end of file diff --git a/.github/compatibility-test-matrices/release-v7.5.x/transfer-authz-chain-b.json b/.github/compatibility-test-matrices/release-v7.5.x/transfer-authz-chain-b.json new file mode 100644 index 00000000000..2f9ac3f26c0 --- /dev/null +++ b/.github/compatibility-test-matrices/release-v7.5.x/transfer-authz-chain-b.json @@ -0,0 +1,20 @@ +{ + "chain-a": [ + "v8.2.0", + "v7.4.0", + "release-v7.5.x" + ], + "chain-b": [ + "release-v7.5.x" + ], + "entrypoint": [ + "TestAuthzTransferTestSuite" + ], + "test": [ + "TestAuthz_MsgTransfer_Succeeds", + "TestAuthz_InvalidTransferAuthorizations" + ], + "relayer-type": [ + "hermes" + ] +} \ No newline at end of file diff --git a/.github/compatibility-test-matrices/release-v7.5.x/transfer-chain-a.json b/.github/compatibility-test-matrices/release-v7.5.x/transfer-chain-a.json new file mode 100644 index 00000000000..7fba4b4c556 --- /dev/null +++ b/.github/compatibility-test-matrices/release-v7.5.x/transfer-chain-a.json @@ -0,0 +1,29 @@ +{ + "chain-a": [ + "release-v7.5.x" + ], + "chain-b": [ + "v8.2.0", + "v7.4.0", + "v6.3.0", + "v5.4.0", + "v4.6.0", + "v3.4.0", + "v2.5.0", + "release-v7.5.x" + ], + "entrypoint": [ + "TestTransferTestSuite" + ], + "test": [ + "TestMsgTransfer_Succeeds_Nonincentivized", + "TestMsgTransfer_Fails_InvalidAddress", + "TestMsgTransfer_Timeout_Nonincentivized", + "TestMsgTransfer_WithMemo", + "TestSendEnabledParam", + "TestReceiveEnabledParam" + ], + "relayer-type": [ + "hermes" + ] +} \ No newline at end of file diff --git a/.github/compatibility-test-matrices/release-v7.5.x/transfer-chain-b.json b/.github/compatibility-test-matrices/release-v7.5.x/transfer-chain-b.json new file mode 100644 index 00000000000..94745e57039 --- /dev/null +++ b/.github/compatibility-test-matrices/release-v7.5.x/transfer-chain-b.json @@ -0,0 +1,27 @@ +{ + "chain-a": [ + "v8.2.0", + "v7.4.0", + "v6.3.0", + "v5.4.0", + "v4.6.0", + "v3.4.0", + "v2.5.0", + "release-v7.5.x" + ], + "chain-b": [ + "release-v7.5.x" + ], + "entrypoint": [ + "TestTransferTestSuite" + ], + "test": [ + "TestMsgTransfer_Succeeds_Nonincentivized", + "TestMsgTransfer_Fails_InvalidAddress", + "TestMsgTransfer_Timeout_Nonincentivized", + "TestMsgTransfer_WithMemo" + ], + "relayer-type": [ + "hermes" + ] +} \ No newline at end of file diff --git a/.github/compatibility-test-matrices/release-v8.3.x/client-chain-a.json b/.github/compatibility-test-matrices/release-v8.3.x/client-chain-a.json new file mode 100644 index 00000000000..084d1599798 --- /dev/null +++ b/.github/compatibility-test-matrices/release-v8.3.x/client-chain-a.json @@ -0,0 +1,21 @@ +{ + "chain-a": [ + "release-v8.3.x" + ], + "chain-b": [ + "release-v8.3.x" + ], + "entrypoint": [ + "TestClientTestSuite" + ], + "test": [ + "TestClientUpdateProposal_Succeeds", + "TestRecoverClient_Succeeds", + "TestScheduleIBCUpgrade_Succeeds", + "TestClient_Update_Misbehaviour", + "TestAllowedClientsParam" + ], + "relayer-type": [ + "hermes" + ] +} diff --git a/.github/compatibility-test-matrices/release-v8.3.x/connection-chain-a.json b/.github/compatibility-test-matrices/release-v8.3.x/connection-chain-a.json new file mode 100644 index 00000000000..db5f790e539 --- /dev/null +++ b/.github/compatibility-test-matrices/release-v8.3.x/connection-chain-a.json @@ -0,0 +1,17 @@ +{ + "chain-a": [ + "release-v8.3.x" + ], + "chain-b": [ + "release-v8.3.x" + ], + "entrypoint": [ + "TestConnectionTestSuite" + ], + "test": [ + "TestMaxExpectedTimePerBlockParam" + ], + "relayer-type": [ + "hermes" + ] +} diff --git a/.github/compatibility-test-matrices/release-v8.3.x/genesis-chain-a.json b/.github/compatibility-test-matrices/release-v8.3.x/genesis-chain-a.json new file mode 100644 index 00000000000..01a2728188f --- /dev/null +++ b/.github/compatibility-test-matrices/release-v8.3.x/genesis-chain-a.json @@ -0,0 +1,17 @@ +{ + "chain-a": [ + "release-v8.3.x" + ], + "chain-b": [ + "release-v8.3.x" + ], + "entrypoint": [ + "TestGenesisTestSuite" + ], + "test": [ + "TestIBCGenesis" + ], + "relayer-type": [ + "hermes" + ] +} \ No newline at end of file diff --git a/.github/compatibility-test-matrices/release-v8.3.x/ica-chain-a.json b/.github/compatibility-test-matrices/release-v8.3.x/ica-chain-a.json new file mode 100644 index 00000000000..b5e97677765 --- /dev/null +++ b/.github/compatibility-test-matrices/release-v8.3.x/ica-chain-a.json @@ -0,0 +1,23 @@ +{ + "chain-a": [ + "release-v8.3.x" + ], + "chain-b": [ + "v8.2.0", + "v7.4.0", + "v6.3.0", + "release-v8.3.x" + ], + "entrypoint": [ + "TestInterchainAccountsTestSuite" + ], + "test": [ + "TestMsgSendTx_SuccessfulTransfer", + "TestMsgSendTx_FailedTransfer_InsufficientFunds", + "TestMsgSendTx_SuccessfulTransfer_AfterReopeningICA", + "TestControllerEnabledParam" + ], + "relayer-type": [ + "hermes" + ] +} \ No newline at end of file diff --git a/.github/compatibility-test-matrices/release-v8.3.x/ica-chain-b.json b/.github/compatibility-test-matrices/release-v8.3.x/ica-chain-b.json new file mode 100644 index 00000000000..75dc442cdc3 --- /dev/null +++ b/.github/compatibility-test-matrices/release-v8.3.x/ica-chain-b.json @@ -0,0 +1,23 @@ +{ + "chain-a": [ + "v8.2.0", + "v7.4.0", + "v6.3.0", + "release-v8.3.x" + ], + "chain-b": [ + "release-v8.3.x" + ], + "entrypoint": [ + "TestInterchainAccountsTestSuite" + ], + "test": [ + "TestMsgSendTx_SuccessfulTransfer", + "TestMsgSendTx_FailedTransfer_InsufficientFunds", + "TestMsgSendTx_SuccessfulTransfer_AfterReopeningICA", + "TestHostEnabledParam" + ], + "relayer-type": [ + "hermes" + ] +} \ No newline at end of file diff --git a/.github/compatibility-test-matrices/release-v8.3.x/ica-channel-upgrade-chain-a.json b/.github/compatibility-test-matrices/release-v8.3.x/ica-channel-upgrade-chain-a.json new file mode 100644 index 00000000000..4b1912c32a4 --- /dev/null +++ b/.github/compatibility-test-matrices/release-v8.3.x/ica-channel-upgrade-chain-a.json @@ -0,0 +1,19 @@ +{ + "chain-a": [ + "release-v8.3.x" + ], + "chain-b": [ + "v8.2.0", + "release-v8.3.x" + ], + "entrypoint": [ + "TestInterchainAccountsChannelUpgradesTestSuite" + ], + "test": [ + "TestMsgSendTx_SuccessfulTransfer_AfterUpgradingOrdertoUnordered", + "TestChannelUpgrade_ICAChannelClosesAfterTimeout_Succeeds" + ], + "relayer-type": [ + "hermes" + ] +} \ No newline at end of file diff --git a/.github/compatibility-test-matrices/release-v8.3.x/ica-channel-upgrade-chain-b.json b/.github/compatibility-test-matrices/release-v8.3.x/ica-channel-upgrade-chain-b.json new file mode 100644 index 00000000000..5a0227ff746 --- /dev/null +++ b/.github/compatibility-test-matrices/release-v8.3.x/ica-channel-upgrade-chain-b.json @@ -0,0 +1,19 @@ +{ + "chain-a": [ + "v8.2.0", + "release-v8.3.x" + ], + "chain-b": [ + "release-v8.3.x" + ], + "entrypoint": [ + "TestInterchainAccountsChannelUpgradesTestSuite" + ], + "test": [ + "TestMsgSendTx_SuccessfulTransfer_AfterUpgradingOrdertoUnordered", + "TestChannelUpgrade_ICAChannelClosesAfterTimeout_Succeeds" + ], + "relayer-type": [ + "hermes" + ] +} \ No newline at end of file diff --git a/.github/compatibility-test-matrices/release-v8.3.x/ica-gov-chain-a.json b/.github/compatibility-test-matrices/release-v8.3.x/ica-gov-chain-a.json new file mode 100644 index 00000000000..175600580be --- /dev/null +++ b/.github/compatibility-test-matrices/release-v8.3.x/ica-gov-chain-a.json @@ -0,0 +1,20 @@ +{ + "chain-a": [ + "release-v8.3.x" + ], + "chain-b": [ + "v8.2.0", + "v7.4.0", + "v6.3.0", + "release-v8.3.x" + ], + "entrypoint": [ + "TestInterchainAccountsGovTestSuite" + ], + "test": [ + "TestInterchainAccountsGovIntegration" + ], + "relayer-type": [ + "hermes" + ] +} \ No newline at end of file diff --git a/.github/compatibility-test-matrices/release-v8.3.x/ica-gov-chain-b.json b/.github/compatibility-test-matrices/release-v8.3.x/ica-gov-chain-b.json new file mode 100644 index 00000000000..13993d1f0c9 --- /dev/null +++ b/.github/compatibility-test-matrices/release-v8.3.x/ica-gov-chain-b.json @@ -0,0 +1,20 @@ +{ + "chain-a": [ + "v8.2.0", + "v7.4.0", + "v6.3.0", + "release-v8.3.x" + ], + "chain-b": [ + "release-v8.3.x" + ], + "entrypoint": [ + "TestInterchainAccountsGovTestSuite" + ], + "test": [ + "TestInterchainAccountsGovIntegration" + ], + "relayer-type": [ + "hermes" + ] +} \ No newline at end of file diff --git a/.github/compatibility-test-matrices/release-v8.3.x/ica-groups-chain-a.json b/.github/compatibility-test-matrices/release-v8.3.x/ica-groups-chain-a.json new file mode 100644 index 00000000000..469225a6e6d --- /dev/null +++ b/.github/compatibility-test-matrices/release-v8.3.x/ica-groups-chain-a.json @@ -0,0 +1,20 @@ +{ + "chain-a": [ + "release-v8.3.x" + ], + "chain-b": [ + "v8.2.0", + "v7.4.0", + "v6.3.0", + "release-v8.3.x" + ], + "entrypoint": [ + "TestInterchainAccountsGroupsTestSuite" + ], + "test": [ + "TestInterchainAccountsGroupsIntegration" + ], + "relayer-type": [ + "hermes" + ] +} \ No newline at end of file diff --git a/.github/compatibility-test-matrices/release-v8.3.x/ica-groups-chain-b.json b/.github/compatibility-test-matrices/release-v8.3.x/ica-groups-chain-b.json new file mode 100644 index 00000000000..6cd4117a25f --- /dev/null +++ b/.github/compatibility-test-matrices/release-v8.3.x/ica-groups-chain-b.json @@ -0,0 +1,20 @@ +{ + "chain-a": [ + "v8.2.0", + "v7.4.0", + "v6.3.0", + "release-v8.3.x" + ], + "chain-b": [ + "release-v8.3.x" + ], + "entrypoint": [ + "TestInterchainAccountsGroupsTestSuite" + ], + "test": [ + "TestInterchainAccountsGroupsIntegration" + ], + "relayer-type": [ + "hermes" + ] +} \ No newline at end of file diff --git a/.github/compatibility-test-matrices/release-v8.3.x/ica-queries-chain-a.json b/.github/compatibility-test-matrices/release-v8.3.x/ica-queries-chain-a.json new file mode 100644 index 00000000000..adef0e27686 --- /dev/null +++ b/.github/compatibility-test-matrices/release-v8.3.x/ica-queries-chain-a.json @@ -0,0 +1,17 @@ +{ + "chain-a": [ + "release-v8.3.x" + ], + "chain-b": [ + "release-v8.3.x" + ], + "entrypoint": [ + "TestInterchainAccountsQueryTestSuite" + ], + "test": [ + "TestInterchainAccountsQuery" + ], + "relayer-type": [ + "hermes" + ] +} \ No newline at end of file diff --git a/.github/compatibility-test-matrices/release-v8.3.x/ica-queries-chain-b.json b/.github/compatibility-test-matrices/release-v8.3.x/ica-queries-chain-b.json new file mode 100644 index 00000000000..adef0e27686 --- /dev/null +++ b/.github/compatibility-test-matrices/release-v8.3.x/ica-queries-chain-b.json @@ -0,0 +1,17 @@ +{ + "chain-a": [ + "release-v8.3.x" + ], + "chain-b": [ + "release-v8.3.x" + ], + "entrypoint": [ + "TestInterchainAccountsQueryTestSuite" + ], + "test": [ + "TestInterchainAccountsQuery" + ], + "relayer-type": [ + "hermes" + ] +} \ No newline at end of file diff --git a/.github/compatibility-test-matrices/release-v8.3.x/ica-unordered-channel-chain-a.json b/.github/compatibility-test-matrices/release-v8.3.x/ica-unordered-channel-chain-a.json new file mode 100644 index 00000000000..6b40e20e343 --- /dev/null +++ b/.github/compatibility-test-matrices/release-v8.3.x/ica-unordered-channel-chain-a.json @@ -0,0 +1,18 @@ +{ + "chain-a": [ + "release-v8.3.x" + ], + "chain-b": [ + "v8.2.0", + "release-v8.3.x" + ], + "entrypoint": [ + "TestInterchainAccountsTestSuite" + ], + "test": [ + "TestMsgSendTx_SuccessfulTransfer_UnorderedChannel" + ], + "relayer-type": [ + "hermes" + ] +} \ No newline at end of file diff --git a/.github/compatibility-test-matrices/release-v8.3.x/ica-unordered-channel-chain-b.json b/.github/compatibility-test-matrices/release-v8.3.x/ica-unordered-channel-chain-b.json new file mode 100644 index 00000000000..b49a219d7cf --- /dev/null +++ b/.github/compatibility-test-matrices/release-v8.3.x/ica-unordered-channel-chain-b.json @@ -0,0 +1,18 @@ +{ + "chain-a": [ + "v8.2.0", + "release-v8.3.x" + ], + "chain-b": [ + "release-v8.3.x" + ], + "entrypoint": [ + "TestInterchainAccountsTestSuite" + ], + "test": [ + "TestMsgSendTx_SuccessfulTransfer_UnorderedChannel" + ], + "relayer-type": [ + "hermes" + ] +} \ No newline at end of file diff --git a/.github/compatibility-test-matrices/release-v8.3.x/incentivized-ica-chain-a.json b/.github/compatibility-test-matrices/release-v8.3.x/incentivized-ica-chain-a.json new file mode 100644 index 00000000000..9e879a3e58c --- /dev/null +++ b/.github/compatibility-test-matrices/release-v8.3.x/incentivized-ica-chain-a.json @@ -0,0 +1,21 @@ +{ + "chain-a": [ + "release-v8.3.x" + ], + "chain-b": [ + "v8.2.0", + "v7.4.0", + "v6.3.0", + "release-v8.3.x" + ], + "entrypoint": [ + "TestIncentivizedInterchainAccountsTestSuite" + ], + "test": [ + "TestMsgSendTx_SuccessfulBankSend_Incentivized", + "TestMsgSendTx_FailedBankSend_Incentivized" + ], + "relayer-type": [ + "hermes" + ] +} \ No newline at end of file diff --git a/.github/compatibility-test-matrices/release-v8.3.x/incentivized-ica-chain-b.json b/.github/compatibility-test-matrices/release-v8.3.x/incentivized-ica-chain-b.json new file mode 100644 index 00000000000..0899cdd4689 --- /dev/null +++ b/.github/compatibility-test-matrices/release-v8.3.x/incentivized-ica-chain-b.json @@ -0,0 +1,21 @@ +{ + "chain-a": [ + "v8.2.0", + "v7.4.0", + "v6.3.0", + "release-v8.3.x" + ], + "chain-b": [ + "release-v8.3.x" + ], + "entrypoint": [ + "TestIncentivizedInterchainAccountsTestSuite" + ], + "test": [ + "TestMsgSendTx_SuccessfulBankSend_Incentivized", + "TestMsgSendTx_FailedBankSend_Incentivized" + ], + "relayer-type": [ + "hermes" + ] +} \ No newline at end of file diff --git a/.github/compatibility-test-matrices/release-v8.3.x/incentivized-transfer-chain-a.json b/.github/compatibility-test-matrices/release-v8.3.x/incentivized-transfer-chain-a.json new file mode 100644 index 00000000000..846db8626cf --- /dev/null +++ b/.github/compatibility-test-matrices/release-v8.3.x/incentivized-transfer-chain-a.json @@ -0,0 +1,27 @@ +{ + "chain-a": [ + "release-v8.3.x" + ], + "chain-b": [ + "v8.2.0", + "v7.4.0", + "v6.3.0", + "v5.4.0", + "v4.6.0", + "release-v8.3.x" + ], + "entrypoint": [ + "TestIncentivizedTransferTestSuite" + ], + "test": [ + "TestMsgPayPacketFee_AsyncSingleSender_Succeeds", + "TestMsgPayPacketFee_InvalidReceiverAccount", + "TestMultiMsg_MsgPayPacketFeeSingleSender", + "TestMsgPayPacketFee_SingleSender_TimesOut", + "TestPayPacketFeeAsync_SingleSender_NoCounterPartyAddress", + "TestMsgPayPacketFee_AsyncMultipleSenders_Succeeds" + ], + "relayer-type": [ + "hermes" + ] +} \ No newline at end of file diff --git a/.github/compatibility-test-matrices/release-v8.3.x/incentivized-transfer-chain-b.json b/.github/compatibility-test-matrices/release-v8.3.x/incentivized-transfer-chain-b.json new file mode 100644 index 00000000000..7b986b33b65 --- /dev/null +++ b/.github/compatibility-test-matrices/release-v8.3.x/incentivized-transfer-chain-b.json @@ -0,0 +1,27 @@ +{ + "chain-a": [ + "v8.2.0", + "v7.4.0", + "v6.3.0", + "v5.4.0", + "v4.6.0", + "release-v8.3.x" + ], + "chain-b": [ + "release-v8.3.x" + ], + "entrypoint": [ + "TestIncentivizedTransferTestSuite" + ], + "test": [ + "TestMsgPayPacketFee_AsyncSingleSender_Succeeds", + "TestMsgPayPacketFee_InvalidReceiverAccount", + "TestMultiMsg_MsgPayPacketFeeSingleSender", + "TestMsgPayPacketFee_SingleSender_TimesOut", + "TestPayPacketFeeAsync_SingleSender_NoCounterPartyAddress", + "TestMsgPayPacketFee_AsyncMultipleSenders_Succeeds" + ], + "relayer-type": [ + "hermes" + ] +} \ No newline at end of file diff --git a/.github/compatibility-test-matrices/release-v8.3.x/localhost-ica-chain-a.json b/.github/compatibility-test-matrices/release-v8.3.x/localhost-ica-chain-a.json new file mode 100644 index 00000000000..76f7c5ecaa4 --- /dev/null +++ b/.github/compatibility-test-matrices/release-v8.3.x/localhost-ica-chain-a.json @@ -0,0 +1,20 @@ +{ + "chain-a": [ + "release-v8.3.x" + ], + "chain-b": [ + "v8.2.0", + "v7.4.0", + "release-v8.3.x" + ], + "entrypoint": [ + "LocalhostInterchainAccountsTestSuite" + ], + "test": [ + "TestInterchainAccounts_Localhost", + "TestInterchainAccounts_ReopenChannel_Localhost" + ], + "relayer-type": [ + "hermes" + ] +} diff --git a/.github/compatibility-test-matrices/release-v8.3.x/localhost-transfer-chain-a.json b/.github/compatibility-test-matrices/release-v8.3.x/localhost-transfer-chain-a.json new file mode 100644 index 00000000000..ceb7c268765 --- /dev/null +++ b/.github/compatibility-test-matrices/release-v8.3.x/localhost-transfer-chain-a.json @@ -0,0 +1,19 @@ +{ + "chain-a": [ + "release-v8.3.x" + ], + "chain-b": [ + "v8.2.0", + "v7.4.0", + "release-v8.3.x" + ], + "entrypoint": [ + "LocalhostTransferTestSuite" + ], + "test": [ + "TestMsgTransfer_Localhost" + ], + "relayer-type": [ + "hermes" + ] +} diff --git a/.github/compatibility-test-matrices/release-v8.3.x/transfer-authz-chain-a.json b/.github/compatibility-test-matrices/release-v8.3.x/transfer-authz-chain-a.json new file mode 100644 index 00000000000..23e1d1bd9bb --- /dev/null +++ b/.github/compatibility-test-matrices/release-v8.3.x/transfer-authz-chain-a.json @@ -0,0 +1,20 @@ +{ + "chain-a": [ + "release-v8.3.x" + ], + "chain-b": [ + "v8.2.0", + "v7.4.0", + "release-v8.3.x" + ], + "entrypoint": [ + "TestAuthzTransferTestSuite" + ], + "test": [ + "TestAuthz_MsgTransfer_Succeeds", + "TestAuthz_InvalidTransferAuthorizations" + ], + "relayer-type": [ + "hermes" + ] +} \ No newline at end of file diff --git a/.github/compatibility-test-matrices/release-v8.3.x/transfer-authz-chain-b.json b/.github/compatibility-test-matrices/release-v8.3.x/transfer-authz-chain-b.json new file mode 100644 index 00000000000..479f5cb4a17 --- /dev/null +++ b/.github/compatibility-test-matrices/release-v8.3.x/transfer-authz-chain-b.json @@ -0,0 +1,20 @@ +{ + "chain-a": [ + "v8.2.0", + "v7.4.0", + "release-v8.3.x" + ], + "chain-b": [ + "release-v8.3.x" + ], + "entrypoint": [ + "TestAuthzTransferTestSuite" + ], + "test": [ + "TestAuthz_MsgTransfer_Succeeds", + "TestAuthz_InvalidTransferAuthorizations" + ], + "relayer-type": [ + "hermes" + ] +} \ No newline at end of file diff --git a/.github/compatibility-test-matrices/release-v8.3.x/transfer-chain-a.json b/.github/compatibility-test-matrices/release-v8.3.x/transfer-chain-a.json new file mode 100644 index 00000000000..93c5e0e013c --- /dev/null +++ b/.github/compatibility-test-matrices/release-v8.3.x/transfer-chain-a.json @@ -0,0 +1,29 @@ +{ + "chain-a": [ + "release-v8.3.x" + ], + "chain-b": [ + "v8.2.0", + "v7.4.0", + "v6.3.0", + "v5.4.0", + "v4.6.0", + "v3.4.0", + "v2.5.0", + "release-v8.3.x" + ], + "entrypoint": [ + "TestTransferTestSuite" + ], + "test": [ + "TestMsgTransfer_Succeeds_Nonincentivized", + "TestMsgTransfer_Fails_InvalidAddress", + "TestMsgTransfer_Timeout_Nonincentivized", + "TestMsgTransfer_WithMemo", + "TestSendEnabledParam", + "TestReceiveEnabledParam" + ], + "relayer-type": [ + "hermes" + ] +} \ No newline at end of file diff --git a/.github/compatibility-test-matrices/release-v8.3.x/transfer-chain-b.json b/.github/compatibility-test-matrices/release-v8.3.x/transfer-chain-b.json new file mode 100644 index 00000000000..197e9127eaa --- /dev/null +++ b/.github/compatibility-test-matrices/release-v8.3.x/transfer-chain-b.json @@ -0,0 +1,27 @@ +{ + "chain-a": [ + "v8.2.0", + "v7.4.0", + "v6.3.0", + "v5.4.0", + "v4.6.0", + "v3.4.0", + "v2.5.0", + "release-v8.3.x" + ], + "chain-b": [ + "release-v8.3.x" + ], + "entrypoint": [ + "TestTransferTestSuite" + ], + "test": [ + "TestMsgTransfer_Succeeds_Nonincentivized", + "TestMsgTransfer_Fails_InvalidAddress", + "TestMsgTransfer_Timeout_Nonincentivized", + "TestMsgTransfer_WithMemo" + ], + "relayer-type": [ + "hermes" + ] +} \ No newline at end of file diff --git a/.github/compatibility-test-matrices/release-v8.3.x/transfer-channel-upgrade-chain-a.json b/.github/compatibility-test-matrices/release-v8.3.x/transfer-channel-upgrade-chain-a.json new file mode 100644 index 00000000000..8c1f0d0b1fe --- /dev/null +++ b/.github/compatibility-test-matrices/release-v8.3.x/transfer-channel-upgrade-chain-a.json @@ -0,0 +1,20 @@ +{ + "chain-a": [ + "release-v8.3.x" + ], + "chain-b": [ + "v8.2.0", + "release-v8.3.x" + ], + "entrypoint": [ + "TestTransferChannelUpgradesTestSuite" + ], + "test": [ + "TestChannelUpgrade_WithFeeMiddleware_Succeeds", + "TestChannelUpgrade_WithFeeMiddleware_CrossingHello_Succeeds", + "TestChannelUpgrade_WithFeeMiddleware_FailsWithTimeoutOnAck" + ], + "relayer-type": [ + "hermes" + ] +} \ No newline at end of file diff --git a/.github/compatibility-test-matrices/release-v8.3.x/transfer-channel-upgrade-chain-b.json b/.github/compatibility-test-matrices/release-v8.3.x/transfer-channel-upgrade-chain-b.json new file mode 100644 index 00000000000..8e98221cfe8 --- /dev/null +++ b/.github/compatibility-test-matrices/release-v8.3.x/transfer-channel-upgrade-chain-b.json @@ -0,0 +1,20 @@ +{ + "chain-a": [ + "v8.2.0", + "release-v8.3.x" + ], + "chain-b": [ + "release-v8.3.x" + ], + "entrypoint": [ + "TestTransferChannelUpgradesTestSuite" + ], + "test": [ + "TestChannelUpgrade_WithFeeMiddleware_Succeeds", + "TestChannelUpgrade_WithFeeMiddleware_CrossingHello_Succeeds", + "TestChannelUpgrade_WithFeeMiddleware_FailsWithTimeoutOnAck" + ], + "relayer-type": [ + "hermes" + ] +} \ No newline at end of file diff --git a/.github/compatibility-test-matrices/unreleased/ica-queries.json b/.github/compatibility-test-matrices/unreleased/ica-queries.json new file mode 100644 index 00000000000..cf6d56c2b29 --- /dev/null +++ b/.github/compatibility-test-matrices/unreleased/ica-queries.json @@ -0,0 +1,19 @@ +{ + "chain-a": [ + "release-v7.5.x", + "release-v8.3.x" + ], + "chain-b": [ + "release-v7.5.x", + "release-v8.3.x" + ], + "entrypoint": [ + "TestInterchainAccountsQueryTestSuite" + ], + "test": [ + "TestInterchainAccountsQuery" + ], + "relayer-type": [ + "hermes" + ] +} \ No newline at end of file diff --git a/.github/workflows/e2e-compatibility-unreleased.yaml b/.github/workflows/e2e-compatibility-unreleased.yaml index 5c9fc58e628..7fb2ea75e93 100644 --- a/.github/workflows/e2e-compatibility-unreleased.yaml +++ b/.github/workflows/e2e-compatibility-unreleased.yaml @@ -16,7 +16,9 @@ jobs: - release/v5.4.x - release/v6.3.x - release/v7.4.x + - release/v7.5.x - release/v8.2.x + - release/v8.3.x steps: - uses: actions/checkout@v4 with: diff --git a/.github/workflows/e2e-compatibility.yaml b/.github/workflows/e2e-compatibility.yaml index a977aeddd61..7efb9cb1399 100644 --- a/.github/workflows/e2e-compatibility.yaml +++ b/.github/workflows/e2e-compatibility.yaml @@ -8,7 +8,9 @@ on: type: choice options: - release/v7.4.x + - release/v7.5.x - release/v8.2.x + - release/v8.3.x - main ibc-go-version: description: 'The version of ibc-go that is going to be released' @@ -42,7 +44,9 @@ jobs: matrix: release-branch: - release/v7.4.x + - release/v7.5.x - release/v8.2.x + - release/v8.3.x - main steps: - uses: actions/checkout@v4 @@ -213,6 +217,42 @@ jobs: test-file-directory: "${{ needs.determine-test-directory.outputs.test-directory }}" test-suite: "ica-gov-chain-b" + ica-queries-chain-a: + needs: + - build-release-images + - determine-test-directory + uses: ./.github/workflows/e2e-compatibility-workflow-call.yaml + with: + test-file-directory: "${{ needs.determine-test-directory.outputs.test-directory }}" + test-suite: "ica-queries-chain-a" + + ica-queries-chain-b: + needs: + - build-release-images + - determine-test-directory + uses: ./.github/workflows/e2e-compatibility-workflow-call.yaml + with: + test-file-directory: "${{ needs.determine-test-directory.outputs.test-directory }}" + test-suite: "ica-queries-chain-b" + + ica-unordered-channel-chain-a: + needs: + - build-release-images + - determine-test-directory + uses: ./.github/workflows/e2e-compatibility-workflow-call.yaml + with: + test-file-directory: "${{ needs.determine-test-directory.outputs.test-directory }}" + test-suite: "ica-unordered-channel-chain-a" + + ica-unordered-channel-chain-b: + needs: + - build-release-images + - determine-test-directory + uses: ./.github/workflows/e2e-compatibility-workflow-call.yaml + with: + test-file-directory: "${{ needs.determine-test-directory.outputs.test-directory }}" + test-suite: "ica-unordered-channel-chain-b" + localhost-transfer-chain-a: needs: - build-release-images diff --git a/e2e/tests/interchain_accounts/params_test.go b/e2e/tests/interchain_accounts/params_test.go index 3165caa143f..d0e37696fae 100644 --- a/e2e/tests/interchain_accounts/params_test.go +++ b/e2e/tests/interchain_accounts/params_test.go @@ -250,7 +250,11 @@ func (s *InterchainAccountsParamsTestSuite) TestHostEnabledParam() { }) t.Run("verify acknowledgement error in ack transaction", func(t *testing.T) { - txSearchRes, err := s.QueryTxsByEvents(ctx, chainB, 1, 1, "message.action='/ibc.core.channel.v1.MsgRecvPacket'", "") + cmd := "message.action=/ibc.core.channel.v1.MsgRecvPacket" + if testvalues.TransactionEventQueryFeatureReleases.IsSupported(chainBVersion) { + cmd = "message.action='/ibc.core.channel.v1.MsgRecvPacket'" + } + txSearchRes, err := s.QueryTxsByEvents(ctx, chainB, 1, 1, cmd, "") s.Require().NoError(err) s.Require().Len(txSearchRes.Txs, 1) diff --git a/e2e/tests/interchain_accounts/query_test.go b/e2e/tests/interchain_accounts/query_test.go index 2b735bb94a3..cfacb0a71f8 100644 --- a/e2e/tests/interchain_accounts/query_test.go +++ b/e2e/tests/interchain_accounts/query_test.go @@ -42,6 +42,7 @@ func (s *InterchainAccountsQueryTestSuite) TestInterchainAccountsQuery() { // channel-0 is a transfer channel but it will not be used in this test case relayer, _ := s.SetupChainsRelayerAndChannel(ctx, nil) chainA, chainB := s.GetChains() + chainBVersion := chainB.Config().Images[0].Version // setup 2 accounts: controller account on chain A, a second chain B account. // host account will be created when the ICA is registered @@ -111,10 +112,11 @@ func (s *InterchainAccountsQueryTestSuite) TestInterchainAccountsQuery() { ack := &channeltypes.Acknowledgement_Result{} t.Run("retrieve acknowledgement", func(t *testing.T) { - txSearchRes, err := s.QueryTxsByEvents( - ctx, chainB, 1, 1, - "message.action='/ibc.core.channel.v1.MsgRecvPacket'", "", - ) + cmd := "message.action=/ibc.core.channel.v1.MsgRecvPacket" + if testvalues.TransactionEventQueryFeatureReleases.IsSupported(chainBVersion) { + cmd = "message.action='/ibc.core.channel.v1.MsgRecvPacket'" + } + txSearchRes, err := s.QueryTxsByEvents(ctx, chainB, 1, 1, cmd, "") s.Require().NoError(err) s.Require().Len(txSearchRes.Txs, 1) diff --git a/e2e/testsuite/sanitize/messages.go b/e2e/testsuite/sanitize/messages.go index 55f3128c648..1ffb69a7f5c 100644 --- a/e2e/testsuite/sanitize/messages.go +++ b/e2e/testsuite/sanitize/messages.go @@ -23,6 +23,7 @@ var ( icaUnorderedChannelFeatureReleases = semverutil.FeatureReleases{ MajorVersion: "v9", MinorVersions: []string{ + "v7.5", "v8.1", }, } diff --git a/e2e/testsuite/tx.go b/e2e/testsuite/tx.go index 0f6021cee36..02d861dc45a 100644 --- a/e2e/testsuite/tx.go +++ b/e2e/testsuite/tx.go @@ -327,7 +327,15 @@ func (*E2ETestSuite) QueryTxsByEvents( return nil, fmt.Errorf("QueryTxsByEvents must be passed a cosmos.CosmosChain") } - cmd := []string{"txs", "--query", queryReq} + cmd := []string{"txs"} + + chainVersion := chain.Config().Images[0].Version + if testvalues.TransactionEventQueryFeatureReleases.IsSupported(chainVersion) { + cmd = append(cmd, "--query", queryReq) + } else { + cmd = append(cmd, "--events", queryReq) + } + if orderBy != "" { cmd = append(cmd, "--order_by", orderBy) } diff --git a/e2e/testvalues/values.go b/e2e/testvalues/values.go index b6f750ef7f7..01dae17234c 100644 --- a/e2e/testvalues/values.go +++ b/e2e/testvalues/values.go @@ -120,3 +120,9 @@ var CapitalEfficientFeeEscrowFeatureReleases = semverutil.FeatureReleases{ "v8.1", }, } + +// TransactionEventQueryFeatureReleases represents the releases the support for --query flag +// in "query txs" for searching transactions that match exact events (since Cosmos SDK v0.50) was released in. +var TransactionEventQueryFeatureReleases = semverutil.FeatureReleases{ + MajorVersion: "v8", +} From 0a22b7a2fd8839efb6eeed8680a4d23e183503ed Mon Sep 17 00:00:00 2001 From: Carlos Rodriguez Date: Fri, 10 May 2024 14:33:11 +0200 Subject: [PATCH 3/4] imp: allow memo strings instead of keys for transfer authorizations (#6268) * imp: allow memo strings instead of keys for transfer authorizations * add changelog * handle error from compact * return error * improve test * not enforce that memo strings of allowed packet data must be JSON-encoded strings * use slices contains to check if memo is allowed * Update modules/apps/transfer/types/transfer_authorization.go Co-authored-by: srdtrk <59252793+srdtrk@users.noreply.github.com> * Update modules/apps/transfer/types/transfer_authorization.go Co-authored-by: srdtrk <59252793+srdtrk@users.noreply.github.com> * lint --------- Co-authored-by: srdtrk <59252793+srdtrk@users.noreply.github.com> --- CHANGELOG.md | 1 + .../02-apps/01-transfer/08-authorizations.md | 7 ++-- modules/apps/transfer/types/authz.pb.go | 4 +- modules/apps/transfer/types/keys.go | 2 +- .../transfer/types/transfer_authorization.go | 37 +++++-------------- .../types/transfer_authorization_test.go | 28 ++++++++++---- .../ibc/applications/transfer/v1/authz.proto | 4 +- 7 files changed, 39 insertions(+), 44 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ddd5a2a6210..f464e3a783a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -60,6 +60,7 @@ Ref: https://keepachangelog.com/en/1.0.0/ * (apps/27-interchain-accounts) [\#5533](https://github.com/cosmos/ibc-go/pull/5533) ICA host sets the host connection ID on `OnChanOpenTry`, so that ICA controller implementations are not obliged to set the value on `OnChanOpenInit` if they are not able. * (core/02-client, core/03-connection, apps/27-interchain-accounts) [\#6256](https://github.com/cosmos/ibc-go/pull/6256) Add length checking of array fields in messages. * (apps/27-interchain-accounts, apps/tranfer, apps/29-fee) [\#6253](https://github.com/cosmos/ibc-go/pull/6253) Allow channel handshake to succeed if fee middleware is wired up on one side, but not the other. +* (apps/transfer) [\#6268](https://github.com/cosmos/ibc-go/pull/6268) Use memo strings instead of JSON keys in `AllowedPacketData` of transfer authorization. ### Features diff --git a/docs/docs/02-apps/01-transfer/08-authorizations.md b/docs/docs/02-apps/01-transfer/08-authorizations.md index 9dde26c1867..575f3d7337b 100644 --- a/docs/docs/02-apps/01-transfer/08-authorizations.md +++ b/docs/docs/02-apps/01-transfer/08-authorizations.md @@ -22,7 +22,7 @@ It takes: - an `AllowList` list that specifies the list of addresses that are allowed to receive funds. If this list is empty, then all addresses are allowed to receive funds from the `TransferAuthorization`. -- an `AllowedPacketData` list that specifies the list of memo packet data keys that are allowed to send the packet. If this list is empty, then only an empty memo is allowed (a `memo` field with non-empty content will be denied). If this list includes a single element equal to `"*"`, then any content in `memo` field will be allowed. +- an `AllowedPacketData` list that specifies the list of memo strings that are allowed to be included in the memo field of the packet. If this list is empty, then only an empty memo is allowed (a `memo` field with non-empty content will be denied). If this list includes a single element equal to `"*"`, then any content in `memo` field will be allowed. Setting a `TransferAuthorization` is expected to fail if: @@ -51,9 +51,8 @@ type Allocation struct { SpendLimit sdk.Coins // allow list of receivers, an empty allow list permits any receiver address AllowList []string - // allow list of packet data keys, an empty list prohibits all packet data keys; - // a list only with "*" permits any packet data key + // allow list of memo strings, an empty list prohibits all memo strings; + // a list only with "*" permits any memo string AllowedPacketData []string } - ``` diff --git a/modules/apps/transfer/types/authz.pb.go b/modules/apps/transfer/types/authz.pb.go index 4d015c3c58a..01928af5ac8 100644 --- a/modules/apps/transfer/types/authz.pb.go +++ b/modules/apps/transfer/types/authz.pb.go @@ -36,8 +36,8 @@ type Allocation struct { SpendLimit github_com_cosmos_cosmos_sdk_types.Coins `protobuf:"bytes,3,rep,name=spend_limit,json=spendLimit,proto3,castrepeated=github.com/cosmos/cosmos-sdk/types.Coins" json:"spend_limit"` // allow list of receivers, an empty allow list permits any receiver address AllowList []string `protobuf:"bytes,4,rep,name=allow_list,json=allowList,proto3" json:"allow_list,omitempty"` - // allow list of packet data keys, an empty list prohibits all packet data keys; - // a list only with "*" permits any packet data key + // allow list of memo strings, an empty list prohibits all memo strings; + // a list only with "*" permits any memo string AllowedPacketData []string `protobuf:"bytes,5,rep,name=allowed_packet_data,json=allowedPacketData,proto3" json:"allowed_packet_data,omitempty"` } diff --git a/modules/apps/transfer/types/keys.go b/modules/apps/transfer/types/keys.go index 0b13912cc88..b94caa797dc 100644 --- a/modules/apps/transfer/types/keys.go +++ b/modules/apps/transfer/types/keys.go @@ -30,7 +30,7 @@ const ( // DenomPrefix is the prefix used for internal SDK coin representation. DenomPrefix = "ibc" - // AllowAllPacketDataKeys holds the string key that allows all packet data keys in authz transfer messages + // AllowAllPacketDataKeys holds the string key that allows all memo strings in authz transfer messages AllowAllPacketDataKeys = "*" KeyTotalEscrowPrefix = "totalEscrowForDenom" diff --git a/modules/apps/transfer/types/transfer_authorization.go b/modules/apps/transfer/types/transfer_authorization.go index 0683166cc8b..b5e4bbe23bc 100644 --- a/modules/apps/transfer/types/transfer_authorization.go +++ b/modules/apps/transfer/types/transfer_authorization.go @@ -2,9 +2,8 @@ package types import ( "context" - "encoding/json" "math/big" - "sort" + "slices" "strings" "github.com/cosmos/gogoproto/proto" @@ -155,9 +154,9 @@ func isAllowedAddress(ctx sdk.Context, receiver string, allowedAddrs []string) b } // validateMemo returns a nil error indicating if the memo is valid for transfer. -func validateMemo(ctx sdk.Context, memo string, allowedPacketDataList []string) error { +func validateMemo(ctx sdk.Context, memo string, allowedMemos []string) error { // if the allow list is empty, then the memo must be an empty string - if len(allowedPacketDataList) == 0 { + if len(allowedMemos) == 0 { if len(strings.TrimSpace(memo)) != 0 { return errorsmod.Wrapf(ErrInvalidAuthorization, "memo must be empty because allowed packet data in allocation is empty") } @@ -166,36 +165,20 @@ func validateMemo(ctx sdk.Context, memo string, allowedPacketDataList []string) } // if allowedPacketDataList has only 1 element and it equals AllowAllPacketDataKeys - // then accept all the packet data keys - if len(allowedPacketDataList) == 1 && allowedPacketDataList[0] == AllowAllPacketDataKeys { + // then accept all the memo strings + if len(allowedMemos) == 1 && allowedMemos[0] == AllowAllPacketDataKeys { return nil } - jsonObject := make(map[string]interface{}) - err := json.Unmarshal([]byte(memo), &jsonObject) - if err != nil { - return err - } - gasCostPerIteration := ctx.KVGasConfig().IterNextCostFlat - - for _, key := range allowedPacketDataList { + isMemoAllowed := slices.ContainsFunc(allowedMemos, func(allowedMemo string) bool { ctx.GasMeter().ConsumeGas(gasCostPerIteration, "transfer authorization") - _, ok := jsonObject[key] - if ok { - delete(jsonObject, key) - } - } - - keys := make([]string, 0, len(jsonObject)) - for k := range jsonObject { - keys = append(keys, k) - } - sort.Strings(keys) + return strings.TrimSpace(memo) == strings.TrimSpace(allowedMemo) + }) - if len(jsonObject) != 0 { - return errorsmod.Wrapf(ErrInvalidAuthorization, "not allowed packet data keys: %s", keys) + if !isMemoAllowed { + return errorsmod.Wrapf(ErrInvalidAuthorization, "not allowed memo: %s", memo) } return nil diff --git a/modules/apps/transfer/types/transfer_authorization_test.go b/modules/apps/transfer/types/transfer_authorization_test.go index c5d883e5198..8ef1b36bdfc 100644 --- a/modules/apps/transfer/types/transfer_authorization_test.go +++ b/modules/apps/transfer/types/transfer_authorization_test.go @@ -1,6 +1,8 @@ package types_test import ( + "fmt" + sdkmath "cosmossdk.io/math" sdk "github.com/cosmos/cosmos-sdk/types" @@ -11,7 +13,10 @@ import ( "github.com/cosmos/ibc-go/v8/testing/mock" ) -const testMemo = `{"wasm":{"contract":"osmo1c3ljch9dfw5kf52nfwpxd2zmj2ese7agnx0p9tenkrryasrle5sqf3ftpg","msg":{"osmosis_swap":{"output_denom":"uosmo","slippage":{"twap":{"slippage_percentage":"20","window_seconds":10}},"receiver":"feeabs/feeabs1efd63aw40lxf3n4mhf7dzhjkr453axurwrhrrw","on_failed_delivery":"do_nothing"}}}}` +const ( + testMemo1 = `{"wasm":{"contract":"osmo1c3ljch9dfw5kf52nfwpxd2zmj2ese7agnx0p9tenkrryasrle5sqf3ftpg","msg":{"osmosis_swap":{"output_denom":"uosmo","slippage":{"twap":{"slippage_percentage":"20","window_seconds":10}},"receiver":"feeabs/feeabs1efd63aw40lxf3n4mhf7dzhjkr453axurwrhrrw","on_failed_delivery":"do_nothing"}}}}` + testMemo2 = `{"forward":{"channel":"channel-11","port":"transfer","receiver":"stars1twfv52yxcyykx2lcvgl42svw46hsm5dd4ww6xy","retries":2,"timeout":1712146014542131200}}` +) func (suite *TypesTestSuite) TestTransferAuthorizationAccept() { var ( @@ -122,7 +127,7 @@ func (suite *TypesTestSuite) TestTransferAuthorizationAccept() { func() { allowedList := []string{"*"} transferAuthz.Allocations[0].AllowedPacketData = allowedList - msgTransfer.Memo = testMemo + msgTransfer.Memo = testMemo1 }, func(res authz.AcceptResponse, err error) { suite.Require().NoError(err) @@ -135,9 +140,9 @@ func (suite *TypesTestSuite) TestTransferAuthorizationAccept() { { "success: transfer memo allowed", func() { - allowedList := []string{"wasm", "forward"} + allowedList := []string{testMemo1, testMemo2} transferAuthz.Allocations[0].AllowedPacketData = allowedList - msgTransfer.Memo = testMemo + msgTransfer.Memo = testMemo1 }, func(res authz.AcceptResponse, err error) { suite.Require().NoError(err) @@ -152,7 +157,7 @@ func (suite *TypesTestSuite) TestTransferAuthorizationAccept() { func() { allowedList := []string{} transferAuthz.Allocations[0].AllowedPacketData = allowedList - msgTransfer.Memo = testMemo + msgTransfer.Memo = testMemo1 }, func(res authz.AcceptResponse, err error) { suite.Require().Error(err) @@ -161,13 +166,13 @@ func (suite *TypesTestSuite) TestTransferAuthorizationAccept() { { "memo not allowed", func() { - allowedList := []string{"forward"} + allowedList := []string{testMemo1} transferAuthz.Allocations[0].AllowedPacketData = allowedList - msgTransfer.Memo = testMemo + msgTransfer.Memo = testMemo2 }, func(res authz.AcceptResponse, err error) { suite.Require().Error(err) - suite.Require().ErrorContains(err, "not allowed packet data keys: [wasm]") + suite.Require().ErrorContains(err, fmt.Sprintf("not allowed memo: %s", testMemo2)) }, }, { @@ -310,6 +315,13 @@ func (suite *TypesTestSuite) TestTransferAuthorizationValidateBasic() { }, true, }, + { + "success: wildcard allowed packet data", + func() { + transferAuthz.Allocations[0].AllowedPacketData = []string{"*"} + }, + true, + }, { "empty allocations", func() { diff --git a/proto/ibc/applications/transfer/v1/authz.proto b/proto/ibc/applications/transfer/v1/authz.proto index e7561b0708b..5c4b71d3479 100644 --- a/proto/ibc/applications/transfer/v1/authz.proto +++ b/proto/ibc/applications/transfer/v1/authz.proto @@ -19,8 +19,8 @@ message Allocation { [(gogoproto.nullable) = false, (gogoproto.castrepeated) = "github.com/cosmos/cosmos-sdk/types.Coins"]; // allow list of receivers, an empty allow list permits any receiver address repeated string allow_list = 4; - // allow list of packet data keys, an empty list prohibits all packet data keys; - // a list only with "*" permits any packet data key + // allow list of memo strings, an empty list prohibits all memo strings; + // a list only with "*" permits any memo string repeated string allowed_packet_data = 5; } From bca605e87db8979d8c47a7fe5e119e5669ac6a76 Mon Sep 17 00:00:00 2001 From: srdtrk Date: Mon, 13 May 2024 14:39:44 +0800 Subject: [PATCH 4/4] docs: improve kapa ai styling --- docs/docusaurus.config.js | 8 +++++++- docs/static/img/black-ibc-logo-400x400.svg | 10 ++++++++++ 2 files changed, 17 insertions(+), 1 deletion(-) create mode 100644 docs/static/img/black-ibc-logo-400x400.svg diff --git a/docs/docusaurus.config.js b/docs/docusaurus.config.js index aa26d9a2ac8..70e51eb3897 100644 --- a/docs/docusaurus.config.js +++ b/docs/docusaurus.config.js @@ -347,8 +347,14 @@ const config = { src: "https://widget.kapa.ai/kapa-widget.bundle.js", "data-website-id": "806aa1dc-0d46-4563-a8b8-880eecac59f1", "data-project-name": "Interchain", + "data-user-analytics-fingerprint-enabled": true, "data-project-color": "#1878FF", - "data-modal-disclaimer": "This is a custom LLM for Interchain with access to IBC developer documentation and resources. Please note that answers are generated by an AI so please use your best judgement before implementing", + "data-modal-title": "IBC Docs AI", + "data-modal-disclaimer": "This is a custom LLM for the Inter-Blockchain Communication Protocol in Golang (ibc-go). It is trained on the IBC developer documentation, code base, and resources. Answers are AI-generated. Please use your best judgment before implementing. The bot is not trained on documentation, code, or resources for the Cosmos SDK, CometBFT, CosmJS, CosmWasm, or interchain ecosystem blockchains. Please refer to those specific documentation sites for answers to those questions.", + "data-modal-disclaimer-text-color": "#000000", + "data-modal-disclaimer-font-size": "14px", + "data-modal-image": + "img/black-ibc-logo-400x400.svg", "data-project-logo": "img/white-ibc-logo-400x400.svg", async: true, diff --git a/docs/static/img/black-ibc-logo-400x400.svg b/docs/static/img/black-ibc-logo-400x400.svg new file mode 100644 index 00000000000..c7a5478bbe9 --- /dev/null +++ b/docs/static/img/black-ibc-logo-400x400.svg @@ -0,0 +1,10 @@ + + + + + + + + + +