Skip to content

Commit c1ef6a2

Browse files
gjermundgarabamergify[bot]AdityaSripaldependabot[bot]
authored
chore: update callbacks release branch (#8056)
* chore: update sonarqube gh action (#7985) (#7988) (cherry picked from commit fcb6809) Co-authored-by: Gjermund Garaba <[email protected]> * test: fix ica compatibility tests (#7976) (#7994) * test: fix ica compatibility tests * lint * fix event search * lint (cherry picked from commit 22efa6c) Co-authored-by: Gjermund Garaba <[email protected]> * docs: document ICS23 MerklePath (#7993) (#7995) * proto docs * more go docs (cherry picked from commit 0e8a6c9) Co-authored-by: Aditya <[email protected]> * MsgTransfer For Eureka (#7957) (#8001) * initial progress * progress * initial build and existing tests pass * testing * documentation for tests * refactor * fix regression * Update modules/apps/transfer/types/packet.go Co-authored-by: Gjermund Garaba <[email protected]> * remove clientKeeperv2 necessity in code * remove clientkeeperv2 in transfer keeper --------- Co-authored-by: Gjermund Garaba <[email protected]> (cherry picked from commit 9f677ba) Co-authored-by: Aditya <[email protected]> * Remove 29-fee (#8000) (#8002) * rm 29-fee * rm docs * lint * add back test * doc link fix (cherry picked from commit 972afc2) Co-authored-by: Aditya <[email protected]> * feat: add cli commands for client v2 counterparty (#7997) (#8007) * feat: add client counterparty cli commands * chore: make wasm simapp possible to run more than once * add query to cli * lint (cherry picked from commit eeb8b8a) Co-authored-by: Gjermund Garaba <[email protected]> * chore: add deprecated functions for backwards compat (#8005) (#8009) * chore: add back some deprecated functions * Added DenomPathFromHash as deprecated function * fix docstring (cherry picked from commit 7bd0c6d) Co-authored-by: Gjermund Garaba <[email protected]> * chore: add backport mergify tasks (#7989) (#8015) * chore: add backport mergify tasks * add wasm ibc v10 to mergify backports (cherry picked from commit 11488cf) Co-authored-by: Gjermund Garaba <[email protected]> * chore: use ibc v2 name consistently (#8006) (#8017) (cherry picked from commit a71577c) Co-authored-by: Gjermund Garaba <[email protected]> * callbacks: Error on RecvPacket callback execution (#8014) (#8020) * change behavior of recvPacket * fix tests * error on malformed callback data * CHANGELOG --------- Co-authored-by: Gjermund Garaba <[email protected]> (cherry picked from commit c5a36e4) Co-authored-by: Aditya <[email protected]> * chore(deps): bump google.golang.org/protobuf from 1.36.4 to 1.36.5 (#7920) (#8021) * chore(deps): bump google.golang.org/protobuf from 1.36.4 to 1.36.5 Bumps google.golang.org/protobuf from 1.36.4 to 1.36.5. --- updated-dependencies: - dependency-name: google.golang.org/protobuf dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <[email protected]> * tidy --------- Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Gjermund Garaba <[email protected]> (cherry picked from commit af5b171) Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps): bump golangci/golangci-lint-action from 6.2.0 to 6.4.1 (#7969) (#8022) Bumps [golangci/golangci-lint-action](https://github.com/golangci/golangci-lint-action) from 6.2.0 to 6.4.1. - [Release notes](https://github.com/golangci/golangci-lint-action/releases) - [Commits](golangci/golangci-lint-action@v6.2.0...v6.4.1) --- updated-dependencies: - dependency-name: golangci/golangci-lint-action dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: srdtrk <[email protected]> (cherry picked from commit 1f11107) Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Gjermund Garaba <[email protected]> * chore: remove remnants of ics20-2 (#8016) (#8045) * chore: remove remnants of ics20-2 * rename FungibleTokenPacketDataV2 to make it clear that its an internal type * fix broken link (cherry picked from commit 40f3240) Co-authored-by: Gjermund Garaba <[email protected]> * chore(deps): bump JamesIves/github-pages-deploy-action (#7991) (#8048) Bumps [JamesIves/github-pages-deploy-action](https://github.com/jamesives/github-pages-deploy-action) from 4.7.2 to 4.7.3. - [Release notes](https://github.com/jamesives/github-pages-deploy-action/releases) - [Commits](JamesIves/github-pages-deploy-action@v4.7.2...v4.7.3) --- updated-dependencies: - dependency-name: JamesIves/github-pages-deploy-action dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> (cherry picked from commit 205e6af) Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps): bump golangci/golangci-lint-action from 6.4.1 to 6.5.0 (#7983) (#8049) Bumps [golangci/golangci-lint-action](https://github.com/golangci/golangci-lint-action) from 6.4.1 to 6.5.0. - [Release notes](https://github.com/golangci/golangci-lint-action/releases) - [Commits](golangci/golangci-lint-action@v6.4.1...v6.5.0) --- updated-dependencies: - dependency-name: golangci/golangci-lint-action dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Gjermund Garaba <[email protected]> (cherry picked from commit 272c09b) Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * feat: remove channel upgradability (#8008) (#8053) * feat: remove channel upgradability * lint * basic migration setup * feat: remove channel upgradeability * fix docs * register v10 migration in app module * error on upgrading channels + code review fixes (cherry picked from commit f7b24e1) Co-authored-by: Gjermund Garaba <[email protected]> --------- Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com> Co-authored-by: Aditya <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
1 parent 128014f commit c1ef6a2

File tree

344 files changed

+17975
-65887
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

344 files changed

+17975
-65887
lines changed

Diff for: .github/mergify.yml

+16
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,14 @@ pull_request_rules:
3838
backport:
3939
branches:
4040
- callbacks/release/v0.2.x+ibc-go-v8.0.x
41+
- name: backport patches to v0.3.x callbacks ibc-go v10.0.x branch
42+
conditions:
43+
- base=main
44+
- label=backport-callbacks-to-v0.3.x+ibc-go-v10.0.x
45+
actions:
46+
backport:
47+
branches:
48+
- callbacks/release/v0.3.x+ibc-go-v10.0.x
4149
- name: backport patches to v0.3.x wasm ibc-go v7.4.x & wasmvm 1.5.x branch
4250
conditions:
4351
- base=main
@@ -70,6 +78,14 @@ pull_request_rules:
7078
backport:
7179
branches:
7280
- 08-wasm/release/v0.5.x+ibc-go-v8.4.x-wasmvm-v2.1.x
81+
- name: backport patches to v0.6.x wasm ibc-go v10.0.x & wasmvm 2.2.x branch
82+
conditions:
83+
- base=main
84+
- label=backport-wasm-v0.6.x+ibc-go-v10.0.x-wasmvm-v2.2.x
85+
actions:
86+
backport:
87+
branches:
88+
- 08-wasm/release/v0.6.x+ibc-go-v10.0.x-wasmvm-v2.2.x
7389
- name: backport patches to v7.4.x branch
7490
conditions:
7591
- base=main

Diff for: .github/workflows/callbacks.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ jobs:
2121
- uses: actions/checkout@v4
2222
with:
2323
fetch-depth: 0
24-
- uses: golangci/golangci-lint-action@v6.2.0
24+
- uses: golangci/golangci-lint-action@v6.5.0
2525
with:
2626
version: v1.62
2727
only-new-issues: true

Diff for: .github/workflows/deploy-docs.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ jobs:
2727
run: make build-docs
2828

2929
- name: Deploy 🚀
30-
uses: JamesIves/[email protected].2
30+
uses: JamesIves/[email protected].3
3131
with:
3232
branch: gh-pages
3333
folder: docs/build

Diff for: .github/workflows/e2e-compatibility.yaml

-18
Original file line numberDiff line numberDiff line change
@@ -236,24 +236,6 @@ jobs:
236236
test-file: "e2e/tests/transfer/send_receive_test.go"
237237
release-version: "${{ needs.determine-image-tag.outputs.release-version }}"
238238

239-
transfer-upgrades-v1-test:
240-
needs:
241-
- build-release-images
242-
- determine-image-tag
243-
uses: ./.github/workflows/e2e-compatibility-workflow-call.yaml
244-
with:
245-
test-file: "e2e/tests/transfer/upgradesv1_test.go"
246-
release-version: "${{ needs.determine-image-tag.outputs.release-version }}"
247-
248-
transfer-upgrades-v2-test:
249-
needs:
250-
- build-release-images
251-
- determine-image-tag
252-
uses: ./.github/workflows/e2e-compatibility-workflow-call.yaml
253-
with:
254-
test-file: "e2e/tests/transfer/upgradesv2_test.go"
255-
release-version: "${{ needs.determine-image-tag.outputs.release-version }}"
256-
257239
upgrade-genesis-test:
258240
needs:
259241
- build-release-images

Diff for: .github/workflows/e2emodule.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ jobs:
2222
- uses: actions/checkout@v4
2323
with:
2424
fetch-depth: 0
25-
- uses: golangci/golangci-lint-action@v6.2.0
25+
- uses: golangci/golangci-lint-action@v6.5.0
2626
with:
2727
version: v1.62
2828
only-new-issues: true

Diff for: .github/workflows/golangci-feature.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ jobs:
2727
with:
2828
fetch-depth: 0
2929
- name: golangci-lint
30-
uses: golangci/golangci-lint-action@v6.2.0
30+
uses: golangci/golangci-lint-action@v6.5.0
3131
with:
3232
version: v1.62
3333
only-new-issues: true

Diff for: .github/workflows/golangci.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ jobs:
2323
with:
2424
fetch-depth: 0
2525
- name: golangci-lint
26-
uses: golangci/golangci-lint-action@v6.2.0
26+
uses: golangci/golangci-lint-action@v6.5.0
2727
with:
2828
version: v1.62
2929
only-new-issues: true

Diff for: .github/workflows/wasm-client.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ jobs:
2020
- uses: actions/checkout@v4
2121
with:
2222
fetch-depth: 0
23-
- uses: golangci/golangci-lint-action@v6.2.0
23+
- uses: golangci/golangci-lint-action@v6.5.0
2424
with:
2525
version: v1.62
2626
only-new-issues: true

Diff for: CHANGELOG.md

+1
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,7 @@ Ref: https://keepachangelog.com/en/1.0.0/
9393
### State Machine Breaking
9494

9595
* (light-clients/06-solomachine) [\#6313](https://github.com/cosmos/ibc-go/pull/6313) Fix: No-op to avoid panicking on `UpdateState` for invalid misbehaviour submissions.
96+
* (apps/callbacks) [\#8014](https://github.com/cosmos/ibc-go/pull/8014) Callbacks will now return an error acknowledgement if the recvPacket callback fails. This reverts all app callback changes whereas before we only reverted the callback changes. We also error on all callbacks if the callback data is set but malformed whereas before we ignored the error and continued processing.
9697

9798
### Improvements
9899

Diff for: README.md

+1-3
Original file line numberDiff line numberDiff line change
@@ -122,9 +122,7 @@ The following audits have been performed on the `ibc-go` source code:
122122

123123
3. **Middleware**
124124

125-
3.1 [ICS 29 Fee Middleware](https://github.com/cosmos/ibc-go/tree/main/modules/apps/29-fee)
126-
127-
3.2 [Callbacks Middleware](https://github.com/cosmos/ibc-go/tree/main/modules/apps/callbacks)
125+
3.1 [Callbacks Middleware](https://github.com/cosmos/ibc-go/tree/main/modules/apps/callbacks)
128126

129127
4. **Light Clients**
130128

Diff for: RELEASES.md

+4-4
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ When bumping the dependencies of [Cosmos SDK](https://github.com/cosmos/cosmos-s
1717

1818
[ibc-go](https://github.com/cosmos/ibc-go) and the [IBC protocol specification](https://github.com/cosmos/ibc) maintain different versions. Furthermore, ibc-go serves several different user groups (chains, IBC app developers, relayers, IBC light client developers). Each of these groups has different expectations of what *backwards compatible* means. It simply isn't possible to categorize a change as backwards or non backwards compatible for all user groups. We are primarily interested in when our API breaks and when changes are state machine breaking (thus requiring a coordinated upgrade). This is scoping the meaning of ibc-go to that of those interacting with the code (IBC app developers, relayers, IBC light client developers), not chains using IBC to communicate (that should be encapsulated by the IBC protocol specification versioning).
1919

20-
To summarize: **All our ibc-go releases allow chains to communicate successfully with any chain running any version of our code**. That is to say, we are still using IBC protocol specification v1.0 (v10 will also include support for the IBC protocol specification v2.0 - also called IBC Eureka)
20+
To summarize: **All our ibc-go releases allow chains to communicate successfully with any chain running any version of our code**. That is to say, we are still using IBC protocol specification v1.0 (v10 will also include support for the IBC protocol specification v2.0)
2121

2222
## Release cycle
2323

@@ -81,8 +81,8 @@ We reserve the right to drop support for releases if they are deemed unused (for
8181

8282
|Release|End of Life Date|
8383
|-------|----------------|
84-
|`v0.1.x+ibc-go-v7.3.x`|March 17, 2025|
85-
|`v0.1.x+ibc-go-v8.0.x`|May 10, 2025|
84+
|`v0.2.x+ibc-go-v7.3.x`|March 17, 2025|
85+
|`v0.2.x+ibc-go-v8.0.x`|May 10, 2025|
8686

8787
### `08-wasm` light client proxy module
8888

@@ -138,7 +138,7 @@ Versions of Golang, ibc-go, Cosmos SDK and CometBFT used by callbacks middleware
138138

139139
| Go | callbacks | ibc-go | Cosmos SDK | Tendermint/CometBFT |
140140
|----|-----------|--------|------------|---------------------|
141-
| 1.19 | v0.1.0+ibc-go-v7.3 | v7.3.0 | v0.47.4 | v0.37.2 |
141+
| 1.19 | v0.2.0+ibc-go-v7.3 | v7.3.0 | v0.47.5 | v0.37.2 |
142142
| 1.21 | v0.2.0+ibc-go-v8.0 | v8.0.0 | v0.50.1 | v0.38.0 |
143143

144144
### `08-wasm` light client proxy module

Diff for: docs/architecture/adr-008-app-caller-cbs.md

+10-4
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
- 2022-08-10: Initial Draft
66
- 2023-03-22: Merged
77
- 2023-09-13: Updated with decisions made in implementation
8+
- 2025-02-24: RecvPacket callback error now returns error acknowledgement
89

910
## Status
1011

@@ -245,10 +246,12 @@ type ContractKeeper interface {
245246
version string,
246247
) error
247248
// IBCReceivePacketCallback is called in the destination chain when a packet acknowledgement is written.
248-
// The contract is expected to handle the callback within the user defined gas limit, and handle any errors,
249-
// out of gas, or panics gracefully.
250-
// This entry point is called with a cached context. If an error is returned, then the changes in
251-
// this context will not be persisted, but the packet lifecycle will not be blocked.
249+
// The contract is expected to handle the callback within the user defined gas limit.
250+
// This entry point is called with a cached context. If an error is returned, then the error
251+
// will be written as an error acknowledgement. This will cause the context changes made by the contract
252+
// to be reverted along with any state changes made by the underlying application.
253+
// The error acknowledgement will then be relayed to the sending application which can perform
254+
// its error acknowledgement logic (e.g. refunding tokens back to user)
252255
//
253256
// The version provided is the base application version for the given packet send. This allows
254257
// contracts to determine how to unmarshal the packetData.
@@ -397,6 +400,9 @@ func (im IBCMiddleware) OnRecvPacket(
397400
ctx, packet.GetDestPort(), packet.GetDestChannel(), packet.GetSequence(),
398401
types.CallbackTypeReceivePacket, callbackData, err,
399402
)
403+
if err != nil {
404+
return channeltypes.NewErrorAcknowledgement(err)
405+
}
400406

401407
return ack
402408
}

Diff for: docs/client/config.json

-8
Original file line numberDiff line numberDiff line change
@@ -30,14 +30,6 @@
3030
}
3131
}
3232
},
33-
{
34-
"url": "./tmp-swagger-gen/ibc/applications/fee/v1/query.swagger.json",
35-
"operationIds": {
36-
"rename": {
37-
"Params": "FeeParams"
38-
}
39-
}
40-
},
4133
{
4234
"url": "./tmp-swagger-gen/ibc/core/client/v1/query.swagger.json",
4335
"operationIds": {

0 commit comments

Comments
 (0)