Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

packet-forward-middleware packet memo, retry on timeout, and atomic forwards #306

Merged
merged 16 commits into from
Nov 8, 2022

Conversation

agouin
Copy link
Member

@agouin agouin commented Sep 25, 2022

Modifies the packet forward middleware test to use the packet-forward-middleware with retry-on-timeout, packet memo refactor, and refund-through-ack. Updated to include the following cases:

  • multi-hop A->B->C->D happy path test with A native denom
  • denom unwind D->C->B->A happy path test, results in A native denom on chain A.
  • forward A->B->C with failed recv_packet on C, then refund with ack error proxy B->A.
  • forward A->B->C with forced timeout on B->C, configured for 2 retries, refund with ack error B->A after max retries.
  • multi-hop A->B->C->D with failed recv_packet on D, then refund with ack error proxied C->B and B->A.
  • typical ibc transfer from B->A (to create IBC denom), then multihop A->B->C->D with failed recv_packet on D, then refund with ack error proxy C->B and B->A. On chain C, C->D escrow funds are burned. On chain B, since it is the native denom, escrow funds are transferred from the B->C escrow account to the B->A escrow account instead of burned.

strangelove-ventures/packet-forward-middleware#36
strangelove-ventures/packet-forward-middleware#33

image

@agouin agouin force-pushed the andrew/packet_forward_middleware_retry_refund branch from 11cbca5 to 0ccfe89 Compare September 25, 2022 19:02
@agouin agouin changed the base branch from main to andrew/examples_module September 25, 2022 19:02
Base automatically changed from andrew/examples_module to main September 26, 2022 16:43
@agouin agouin force-pushed the andrew/packet_forward_middleware_retry_refund branch from 3aa78ce to 647d64f Compare September 27, 2022 16:19
mergify bot pushed a commit to cosmos/ibc-go that referenced this pull request Oct 4, 2022
## Description

Returns sequence from `sendTransfer`, and returns it with the `MsgTransferResponse`. This is not an API breaking change.

Retrieving the sequence at the time of creating the transfer is necessary in the packet forward middleware for correlation with multihop packet flows.

strangelove-ventures/packet-forward-middleware#33
strangelove-ventures/interchaintest#306

Closes #1969 

---

- [x] Targeted PR against correct branch (see [CONTRIBUTING.md](https://github.com/cosmos/ibc-go/blob/master/CONTRIBUTING.md#pr-targeting))
- [x] Linked to Github issue with discussion and accepted design OR link to spec that describes this work.
- [x] Code follows the [module structure standards](https://github.com/cosmos/cosmos-sdk/blob/master/docs/building-modules/structure.md).
- [x] Wrote unit and integration [tests](https://github.com/cosmos/ibc-go/blob/master/CONTRIBUTING.md#testing)
Existing test coverage exercises this new method due to the re-routing of `SendTransfer` through `SendPacketTransfer`
- [x] Updated relevant documentation (`docs/`) or specification (`x/<module>/spec/`)
- [x] Added relevant `godoc` [comments](https://blog.golang.org/godoc-documenting-go-code).
- [x] Added a relevant changelog entry to the `Unreleased` section in `CHANGELOG.md`
- [x] Re-reviewed `Files changed` in the Github PR explorer
- [x] Review `Codecov Report` in the comment section below once CI passes
mergify bot pushed a commit to cosmos/ibc-go that referenced this pull request Oct 4, 2022
## Description

Returns sequence from `sendTransfer`, and returns it with the `MsgTransferResponse`. This is not an API breaking change.

Retrieving the sequence at the time of creating the transfer is necessary in the packet forward middleware for correlation with multihop packet flows.

strangelove-ventures/packet-forward-middleware#33
strangelove-ventures/interchaintest#306

Closes #1969

---

- [x] Targeted PR against correct branch (see [CONTRIBUTING.md](https://github.com/cosmos/ibc-go/blob/master/CONTRIBUTING.md#pr-targeting))
- [x] Linked to Github issue with discussion and accepted design OR link to spec that describes this work.
- [x] Code follows the [module structure standards](https://github.com/cosmos/cosmos-sdk/blob/master/docs/building-modules/structure.md).
- [x] Wrote unit and integration [tests](https://github.com/cosmos/ibc-go/blob/master/CONTRIBUTING.md#testing)
Existing test coverage exercises this new method due to the re-routing of `SendTransfer` through `SendPacketTransfer`
- [x] Updated relevant documentation (`docs/`) or specification (`x/<module>/spec/`)
- [x] Added relevant `godoc` [comments](https://blog.golang.org/godoc-documenting-go-code).
- [x] Added a relevant changelog entry to the `Unreleased` section in `CHANGELOG.md`
- [x] Re-reviewed `Files changed` in the Github PR explorer
- [x] Review `Codecov Report` in the comment section below once CI passes

(cherry picked from commit 3363917)

# Conflicts:
#	CHANGELOG.md
#	modules/apps/transfer/keeper/msg_server.go
#	modules/apps/transfer/keeper/relay.go
#	modules/apps/transfer/types/tx.pb.go
mergify bot pushed a commit to cosmos/ibc-go that referenced this pull request Oct 4, 2022
## Description

Returns sequence from `sendTransfer`, and returns it with the `MsgTransferResponse`. This is not an API breaking change.

Retrieving the sequence at the time of creating the transfer is necessary in the packet forward middleware for correlation with multihop packet flows.

strangelove-ventures/packet-forward-middleware#33
strangelove-ventures/interchaintest#306

Closes #1969

---

- [x] Targeted PR against correct branch (see [CONTRIBUTING.md](https://github.com/cosmos/ibc-go/blob/master/CONTRIBUTING.md#pr-targeting))
- [x] Linked to Github issue with discussion and accepted design OR link to spec that describes this work.
- [x] Code follows the [module structure standards](https://github.com/cosmos/cosmos-sdk/blob/master/docs/building-modules/structure.md).
- [x] Wrote unit and integration [tests](https://github.com/cosmos/ibc-go/blob/master/CONTRIBUTING.md#testing)
Existing test coverage exercises this new method due to the re-routing of `SendTransfer` through `SendPacketTransfer`
- [x] Updated relevant documentation (`docs/`) or specification (`x/<module>/spec/`)
- [x] Added relevant `godoc` [comments](https://blog.golang.org/godoc-documenting-go-code).
- [x] Added a relevant changelog entry to the `Unreleased` section in `CHANGELOG.md`
- [x] Re-reviewed `Files changed` in the Github PR explorer
- [x] Review `Codecov Report` in the comment section below once CI passes

(cherry picked from commit 3363917)

# Conflicts:
#	docs/ibc/proto-docs.md
#	modules/apps/transfer/keeper/msg_server.go
#	modules/apps/transfer/keeper/relay.go
#	modules/apps/transfer/types/tx.pb.go
mergify bot pushed a commit to cosmos/ibc-go that referenced this pull request Oct 4, 2022
## Description

Returns sequence from `sendTransfer`, and returns it with the `MsgTransferResponse`. This is not an API breaking change.

Retrieving the sequence at the time of creating the transfer is necessary in the packet forward middleware for correlation with multihop packet flows.

strangelove-ventures/packet-forward-middleware#33
strangelove-ventures/interchaintest#306

Closes #1969

---

- [x] Targeted PR against correct branch (see [CONTRIBUTING.md](https://github.com/cosmos/ibc-go/blob/master/CONTRIBUTING.md#pr-targeting))
- [x] Linked to Github issue with discussion and accepted design OR link to spec that describes this work.
- [x] Code follows the [module structure standards](https://github.com/cosmos/cosmos-sdk/blob/master/docs/building-modules/structure.md).
- [x] Wrote unit and integration [tests](https://github.com/cosmos/ibc-go/blob/master/CONTRIBUTING.md#testing)
Existing test coverage exercises this new method due to the re-routing of `SendTransfer` through `SendPacketTransfer`
- [x] Updated relevant documentation (`docs/`) or specification (`x/<module>/spec/`)
- [x] Added relevant `godoc` [comments](https://blog.golang.org/godoc-documenting-go-code).
- [x] Added a relevant changelog entry to the `Unreleased` section in `CHANGELOG.md`
- [x] Re-reviewed `Files changed` in the Github PR explorer
- [x] Review `Codecov Report` in the comment section below once CI passes

(cherry picked from commit 3363917)

# Conflicts:
#	modules/apps/transfer/keeper/msg_server.go
#	modules/apps/transfer/keeper/relay.go
#	modules/apps/transfer/types/tx.pb.go
mergify bot pushed a commit to cosmos/ibc-go that referenced this pull request Oct 4, 2022
## Description

Returns sequence from `sendTransfer`, and returns it with the `MsgTransferResponse`. This is not an API breaking change.

Retrieving the sequence at the time of creating the transfer is necessary in the packet forward middleware for correlation with multihop packet flows.

strangelove-ventures/packet-forward-middleware#33
strangelove-ventures/interchaintest#306

Closes #1969

---

- [x] Targeted PR against correct branch (see [CONTRIBUTING.md](https://github.com/cosmos/ibc-go/blob/master/CONTRIBUTING.md#pr-targeting))
- [x] Linked to Github issue with discussion and accepted design OR link to spec that describes this work.
- [x] Code follows the [module structure standards](https://github.com/cosmos/cosmos-sdk/blob/master/docs/building-modules/structure.md).
- [x] Wrote unit and integration [tests](https://github.com/cosmos/ibc-go/blob/master/CONTRIBUTING.md#testing)
Existing test coverage exercises this new method due to the re-routing of `SendTransfer` through `SendPacketTransfer`
- [x] Updated relevant documentation (`docs/`) or specification (`x/<module>/spec/`)
- [x] Added relevant `godoc` [comments](https://blog.golang.org/godoc-documenting-go-code).
- [x] Added a relevant changelog entry to the `Unreleased` section in `CHANGELOG.md`
- [x] Re-reviewed `Files changed` in the Github PR explorer
- [x] Review `Codecov Report` in the comment section below once CI passes

(cherry picked from commit 3363917)

# Conflicts:
#	modules/apps/transfer/keeper/msg_server.go
#	modules/apps/transfer/keeper/relay.go
#	modules/apps/transfer/types/tx.pb.go
mergify bot pushed a commit to cosmos/ibc-go that referenced this pull request Oct 4, 2022
## Description

Returns sequence from `sendTransfer`, and returns it with the `MsgTransferResponse`. This is not an API breaking change.

Retrieving the sequence at the time of creating the transfer is necessary in the packet forward middleware for correlation with multihop packet flows.

strangelove-ventures/packet-forward-middleware#33
strangelove-ventures/interchaintest#306

Closes #1969

---

- [x] Targeted PR against correct branch (see [CONTRIBUTING.md](https://github.com/cosmos/ibc-go/blob/master/CONTRIBUTING.md#pr-targeting))
- [x] Linked to Github issue with discussion and accepted design OR link to spec that describes this work.
- [x] Code follows the [module structure standards](https://github.com/cosmos/cosmos-sdk/blob/master/docs/building-modules/structure.md).
- [x] Wrote unit and integration [tests](https://github.com/cosmos/ibc-go/blob/master/CONTRIBUTING.md#testing)
Existing test coverage exercises this new method due to the re-routing of `SendTransfer` through `SendPacketTransfer`
- [x] Updated relevant documentation (`docs/`) or specification (`x/<module>/spec/`)
- [x] Added relevant `godoc` [comments](https://blog.golang.org/godoc-documenting-go-code).
- [x] Added a relevant changelog entry to the `Unreleased` section in `CHANGELOG.md`
- [x] Re-reviewed `Files changed` in the Github PR explorer
- [x] Review `Codecov Report` in the comment section below once CI passes

(cherry picked from commit 3363917)

# Conflicts:
#	modules/apps/transfer/keeper/msg_server.go
#	modules/apps/transfer/keeper/relay.go
colin-axner pushed a commit to cosmos/ibc-go that referenced this pull request Oct 5, 2022
* MsgTransferResponse add sequence (#2377)

## Description

Returns sequence from `sendTransfer`, and returns it with the `MsgTransferResponse`. This is not an API breaking change.

Retrieving the sequence at the time of creating the transfer is necessary in the packet forward middleware for correlation with multihop packet flows.

strangelove-ventures/packet-forward-middleware#33
strangelove-ventures/interchaintest#306

Closes #1969

---

- [x] Targeted PR against correct branch (see [CONTRIBUTING.md](https://github.com/cosmos/ibc-go/blob/master/CONTRIBUTING.md#pr-targeting))
- [x] Linked to Github issue with discussion and accepted design OR link to spec that describes this work.
- [x] Code follows the [module structure standards](https://github.com/cosmos/cosmos-sdk/blob/master/docs/building-modules/structure.md).
- [x] Wrote unit and integration [tests](https://github.com/cosmos/ibc-go/blob/master/CONTRIBUTING.md#testing)
Existing test coverage exercises this new method due to the re-routing of `SendTransfer` through `SendPacketTransfer`
- [x] Updated relevant documentation (`docs/`) or specification (`x/<module>/spec/`)
- [x] Added relevant `godoc` [comments](https://blog.golang.org/godoc-documenting-go-code).
- [x] Added a relevant changelog entry to the `Unreleased` section in `CHANGELOG.md`
- [x] Re-reviewed `Files changed` in the Github PR explorer
- [x] Review `Codecov Report` in the comment section below once CI passes

(cherry picked from commit 3363917)

# Conflicts:
#	modules/apps/transfer/keeper/msg_server.go
#	modules/apps/transfer/keeper/relay.go

* resolving conflicts

Co-authored-by: Andrew Gouin <[email protected]>
Co-authored-by: Damian Nolan <[email protected]>
colin-axner pushed a commit to cosmos/ibc-go that referenced this pull request Oct 5, 2022
* MsgTransferResponse add sequence (#2377)

## Description

Returns sequence from `sendTransfer`, and returns it with the `MsgTransferResponse`. This is not an API breaking change.

Retrieving the sequence at the time of creating the transfer is necessary in the packet forward middleware for correlation with multihop packet flows.

strangelove-ventures/packet-forward-middleware#33
strangelove-ventures/interchaintest#306

Closes #1969

---

- [x] Targeted PR against correct branch (see [CONTRIBUTING.md](https://github.com/cosmos/ibc-go/blob/master/CONTRIBUTING.md#pr-targeting))
- [x] Linked to Github issue with discussion and accepted design OR link to spec that describes this work.
- [x] Code follows the [module structure standards](https://github.com/cosmos/cosmos-sdk/blob/master/docs/building-modules/structure.md).
- [x] Wrote unit and integration [tests](https://github.com/cosmos/ibc-go/blob/master/CONTRIBUTING.md#testing)
Existing test coverage exercises this new method due to the re-routing of `SendTransfer` through `SendPacketTransfer`
- [x] Updated relevant documentation (`docs/`) or specification (`x/<module>/spec/`)
- [x] Added relevant `godoc` [comments](https://blog.golang.org/godoc-documenting-go-code).
- [x] Added a relevant changelog entry to the `Unreleased` section in `CHANGELOG.md`
- [x] Re-reviewed `Files changed` in the Github PR explorer
- [x] Review `Codecov Report` in the comment section below once CI passes

(cherry picked from commit 3363917)

# Conflicts:
#	CHANGELOG.md
#	modules/apps/transfer/keeper/msg_server.go
#	modules/apps/transfer/keeper/relay.go
#	modules/apps/transfer/types/tx.pb.go

* fix conflicts

* fix tests

Co-authored-by: Andrew Gouin <[email protected]>
Co-authored-by: crodriguezvega <[email protected]>
colin-axner pushed a commit to cosmos/ibc-go that referenced this pull request Oct 6, 2022
* MsgTransferResponse add sequence (#2377)

## Description

Returns sequence from `sendTransfer`, and returns it with the `MsgTransferResponse`. This is not an API breaking change.

Retrieving the sequence at the time of creating the transfer is necessary in the packet forward middleware for correlation with multihop packet flows.

strangelove-ventures/packet-forward-middleware#33
strangelove-ventures/interchaintest#306

Closes #1969

---

- [x] Targeted PR against correct branch (see [CONTRIBUTING.md](https://github.com/cosmos/ibc-go/blob/master/CONTRIBUTING.md#pr-targeting))
- [x] Linked to Github issue with discussion and accepted design OR link to spec that describes this work.
- [x] Code follows the [module structure standards](https://github.com/cosmos/cosmos-sdk/blob/master/docs/building-modules/structure.md).
- [x] Wrote unit and integration [tests](https://github.com/cosmos/ibc-go/blob/master/CONTRIBUTING.md#testing)
Existing test coverage exercises this new method due to the re-routing of `SendTransfer` through `SendPacketTransfer`
- [x] Updated relevant documentation (`docs/`) or specification (`x/<module>/spec/`)
- [x] Added relevant `godoc` [comments](https://blog.golang.org/godoc-documenting-go-code).
- [x] Added a relevant changelog entry to the `Unreleased` section in `CHANGELOG.md`
- [x] Re-reviewed `Files changed` in the Github PR explorer
- [x] Review `Codecov Report` in the comment section below once CI passes

(cherry picked from commit 3363917)

# Conflicts:
#	docs/ibc/proto-docs.md
#	modules/apps/transfer/keeper/msg_server.go
#	modules/apps/transfer/keeper/relay.go
#	modules/apps/transfer/types/tx.pb.go

* fix conflicts

Co-authored-by: Andrew Gouin <[email protected]>
Co-authored-by: crodriguezvega <[email protected]>
colin-axner pushed a commit to cosmos/ibc-go that referenced this pull request Oct 6, 2022
* MsgTransferResponse add sequence (#2377)

## Description

Returns sequence from `sendTransfer`, and returns it with the `MsgTransferResponse`. This is not an API breaking change.

Retrieving the sequence at the time of creating the transfer is necessary in the packet forward middleware for correlation with multihop packet flows.

strangelove-ventures/packet-forward-middleware#33
strangelove-ventures/interchaintest#306

Closes #1969

---

- [x] Targeted PR against correct branch (see [CONTRIBUTING.md](https://github.com/cosmos/ibc-go/blob/master/CONTRIBUTING.md#pr-targeting))
- [x] Linked to Github issue with discussion and accepted design OR link to spec that describes this work.
- [x] Code follows the [module structure standards](https://github.com/cosmos/cosmos-sdk/blob/master/docs/building-modules/structure.md).
- [x] Wrote unit and integration [tests](https://github.com/cosmos/ibc-go/blob/master/CONTRIBUTING.md#testing)
Existing test coverage exercises this new method due to the re-routing of `SendTransfer` through `SendPacketTransfer`
- [x] Updated relevant documentation (`docs/`) or specification (`x/<module>/spec/`)
- [x] Added relevant `godoc` [comments](https://blog.golang.org/godoc-documenting-go-code).
- [x] Added a relevant changelog entry to the `Unreleased` section in `CHANGELOG.md`
- [x] Re-reviewed `Files changed` in the Github PR explorer
- [x] Review `Codecov Report` in the comment section below once CI passes

(cherry picked from commit 3363917)

# Conflicts:
#	modules/apps/transfer/keeper/msg_server.go
#	modules/apps/transfer/keeper/relay.go
#	modules/apps/transfer/types/tx.pb.go

* fix conflicts

Co-authored-by: Andrew Gouin <[email protected]>
Co-authored-by: crodriguezvega <[email protected]>
colin-axner pushed a commit to cosmos/ibc-go that referenced this pull request Oct 6, 2022
* MsgTransferResponse add sequence (#2377)

## Description

Returns sequence from `sendTransfer`, and returns it with the `MsgTransferResponse`. This is not an API breaking change.

Retrieving the sequence at the time of creating the transfer is necessary in the packet forward middleware for correlation with multihop packet flows.

strangelove-ventures/packet-forward-middleware#33
strangelove-ventures/interchaintest#306

Closes #1969

---

- [x] Targeted PR against correct branch (see [CONTRIBUTING.md](https://github.com/cosmos/ibc-go/blob/master/CONTRIBUTING.md#pr-targeting))
- [x] Linked to Github issue with discussion and accepted design OR link to spec that describes this work.
- [x] Code follows the [module structure standards](https://github.com/cosmos/cosmos-sdk/blob/master/docs/building-modules/structure.md).
- [x] Wrote unit and integration [tests](https://github.com/cosmos/ibc-go/blob/master/CONTRIBUTING.md#testing)
Existing test coverage exercises this new method due to the re-routing of `SendTransfer` through `SendPacketTransfer`
- [x] Updated relevant documentation (`docs/`) or specification (`x/<module>/spec/`)
- [x] Added relevant `godoc` [comments](https://blog.golang.org/godoc-documenting-go-code).
- [x] Added a relevant changelog entry to the `Unreleased` section in `CHANGELOG.md`
- [x] Re-reviewed `Files changed` in the Github PR explorer
- [x] Review `Codecov Report` in the comment section below once CI passes

(cherry picked from commit 3363917)

# Conflicts:
#	modules/apps/transfer/keeper/msg_server.go
#	modules/apps/transfer/keeper/relay.go
#	modules/apps/transfer/types/tx.pb.go

* resolving conflicts

* fix conflicts

Co-authored-by: Andrew Gouin <[email protected]>
Co-authored-by: Damian Nolan <[email protected]>
Co-authored-by: crodriguezvega <[email protected]>
@agouin agouin force-pushed the andrew/packet_forward_middleware_retry_refund branch from 647d64f to 50d6d09 Compare November 5, 2022 02:29
@agouin agouin changed the title packet forward middleware retry/refund packet-forward-middleware packet memo, retry on timeout, and atomic forwards with refund through ack Nov 8, 2022
@agouin agouin changed the title packet-forward-middleware packet memo, retry on timeout, and atomic forwards with refund through ack packet-forward-middleware packet memo, retry on timeout, and atomic forwards Nov 8, 2022
@agouin agouin marked this pull request as ready for review November 8, 2022 14:10
@agouin agouin requested a review from a team as a code owner November 8, 2022 14:10
@agouin agouin requested a review from joeabbey November 8, 2022 14:10
Copy link
Contributor

@jtieri jtieri left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is awesome, great work in adapting for the async acks and catching the issue with the escrow accounts 🔥

chain/cosmos/chain_node.go Show resolved Hide resolved
@@ -58,3 +59,24 @@ func PollForMessage[T any](ctx context.Context, chain *CosmosChain, registry cod
bp := testutil.BlockPoller[T]{CurrentHeight: chain.Height, PollFunc: doPoll}
return bp.DoPoll(ctx, startHeight, maxHeight)
}

// PollForBalance polls until the balance matches
func PollForBalance(ctx context.Context, chain *CosmosChain, deltaBlocks uint64, balance ibc.WalletAmount) error {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is really helpful!! I'm all for moving to a poll based approach throughout ibctest vs. waiting arbitrary block heights and hoping the timing works out.

ibc/relayer.go Show resolved Hide resolved
examples/ibc/packet_forward_test.go Outdated Show resolved Hide resolved
chain/cosmos/chain_node.go Show resolved Hide resolved
@@ -654,6 +668,7 @@ type RelayerCommander interface {
UpdatePath(pathName, homeDir string, filter ibc.ChannelFilter) []string
GetChannels(chainID, homeDir string) []string
GetConnections(chainID, homeDir string) []string
GetClients(chainID, homeDir string) []string
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👏 I've wanted something like this when using ibctest as a library.

@agouin agouin merged commit 9af4ad0 into main Nov 8, 2022
@agouin agouin deleted the andrew/packet_forward_middleware_retry_refund branch November 8, 2022 22:58
@jtieri jtieri restored the andrew/packet_forward_middleware_retry_refund branch November 9, 2022 20:03
jtieri pushed a commit that referenced this pull request Nov 29, 2022
…orwards (#306)

* Make examples its own module

* Make cosmos specific module and run in CI in separate task

* Update e2e test for memo refactor

* Update test to chain-level params

* Use gaia with pfm with configurable timeout and retries

* Update SendIBCTransfer uses

* fix interchain test

* Add GetClients method to Relayer and helper for getting transfer channel between chains

* Update packet forward test for multi-hop, add multi-hop refund test

* Update tests for atomic forwards

* Wait for a block after ack before checking balances

* reduce wait to 1 block

* Add multi-hop flow with refund through chain with native denom. Add assertions for escrow accounts

* Remove stale comment

* handle feedback

* Add TransferOptions
liorzilp added a commit to dymensionxyz/ibc-go that referenced this pull request Jan 4, 2023
* override default docsBranch (cosmos#1355) (cosmos#1390)

## Description

closes: cosmos#1354

---

Before we can merge this PR, please make sure that all the following items have been
checked off. If any of the checklist items are not applicable, please leave them but
write a little note why.

- [x] Targeted PR against correct branch (see [CONTRIBUTING.md](https://github.com/cosmos/ibc-go/blob/master/CONTRIBUTING.md#pr-targeting))
- [x] Linked to Github issue with discussion and accepted design OR link to spec that describes this work.
- [ ] Code follows the [module structure standards](https://github.com/cosmos/cosmos-sdk/blob/master/docs/building-modules/structure.md).
- [ ] Wrote unit and integration [tests](https://github.com/cosmos/ibc-go/blob/master/CONTRIBUTING.md#testing)
- [ ] Updated relevant documentation (`docs/`) or specification (`x/<module>/spec/`)
- [ ] Added relevant `godoc` [comments](https://blog.golang.org/godoc-documenting-go-code).
- [ ] Added a relevant changelog entry to the `Unreleased` section in `CHANGELOG.md`
- [x] Re-reviewed `Files changed` in the Github PR explorer
- [x] Review `Codecov Report` in the comment section below once CI passes

(cherry picked from commit 2709c24)

Co-authored-by: Carlos Rodriguez <[email protected]>

* build(deps): bump github.com/cosmos/cosmos-sdk from 0.45.3 to 0.45.4 (cosmos#1300) (cosmos#1365)

* build(deps): bump github.com/cosmos/cosmos-sdk from 0.45.3 to 0.45.4

Bumps [github.com/cosmos/cosmos-sdk](https://github.com/cosmos/cosmos-sdk) from 0.45.3 to 0.45.4.
- [Release notes](https://github.com/cosmos/cosmos-sdk/releases)
- [Changelog](https://github.com/cosmos/cosmos-sdk/blob/v0.45.4/CHANGELOG.md)
- [Commits](cosmos/cosmos-sdk@v0.45.3...v0.45.4)

---
updated-dependencies:
- dependency-name: github.com/cosmos/cosmos-sdk
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>

* update changelog

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: colin axnér <[email protected]>
Co-authored-by: Carlos Rodriguez <[email protected]>
(cherry picked from commit bd08650)

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* add empty keepers checking in ibc NewKeeper (backport cosmos#1284) (cosmos#1382)

* add empty keepers checking in ibc NewKeeper (cosmos#1284)

* add empty keepers checking in ibc NewKeeper

* check for empty exported keepers instead of empty sdk-defined keeper structs

* Update modules/core/keeper/keeper.go

Co-authored-by: colin axnér <[email protected]>

* remove func checkEmptyKeepers(), check empty keepers directly within func NewKeeper()

* modules/core/keeper KeeperTestSuite -> MsgServerTestSuite; creat new modules/core/keeper KeeperTestSuite for testing ibckeeper.NewKeeper()

* update CHANGELOG.md

* DummyStakingKeeper -> MockStakingKeeper

* refactor modules/core/keeper test

* Update modules/core/keeper/keeper_test.go

Co-authored-by: colin axnér <[email protected]>

* Update modules/core/keeper/keeper.go

Co-authored-by: colin axnér <[email protected]>

Co-authored-by: colin axnér <[email protected]>
(cherry picked from commit f2577f9)

# Conflicts:
#	CHANGELOG.md

* fix conflict

* fix conflict

Co-authored-by: khanh <[email protected]>
Co-authored-by: crodriguezvega <[email protected]>

* fix: prefix ResponseResultType enum for proto linting (cosmos#1143) (cosmos#1393)

(cherry picked from commit 5cf580c)

Co-authored-by: Damian Nolan <[email protected]>

* chore : add selected channel version to MsgChanOpenInitResponse and MsgChanOpenTryResponse (backport cosmos#1279) (cosmos#1374)

* chore : add selected channel version to MsgChanOpenInitResponse and MsgChanOpenTryResponse (cosmos#1279)

## Description
 - Add a version field to MsgChannelOpenInitResponse and MsgChannelOpenTryResponse in proto and gen proto
 - Set the selected channel version in the [MsgChannelOpenInitResponse](https://github.com/notional-labs/ibc-go/blob/ed7a082565fadb9ce27067fa1efb56c23fafc8ef/modules/core/keeper/msg_server.go#L197) and [MsgChannelOpenTryResponse](https://github.com/notional-labs/ibc-go/blob/ed7a082565fadb9ce27067fa1efb56c23fafc8ef/modules/core/keeper/msg_server.go#L237)

---

Before we can merge this PR, please make sure that all the following items have been
checked off. If any of the checklist items are not applicable, please leave them but
write a little note why.

- [ ] Targeted PR against correct branch (see [CONTRIBUTING.md](https://github.com/cosmos/ibc-go/blob/master/CONTRIBUTING.md#pr-targeting))
- [ ] Linked to Github issue with discussion and accepted design OR link to spec that describes this work.
- [ ] Code follows the [module structure standards](https://github.com/cosmos/cosmos-sdk/blob/master/docs/building-modules/structure.md).
- [ ] Wrote unit and integration [tests](https://github.com/cosmos/ibc-go/blob/master/CONTRIBUTING.md#testing)
- [ ] Updated relevant documentation (`docs/`) or specification (`x/<module>/spec/`)
- [ ] Added relevant `godoc` [comments](https://blog.golang.org/godoc-documenting-go-code).
- [ ] Added a relevant changelog entry to the `Unreleased` section in `CHANGELOG.md`
- [ ] Re-reviewed `Files changed` in the Github PR explorer
- [ ] Review `Codecov Report` in the comment section below once CI passes

closes: cosmos#1204
(cherry picked from commit a187803)

# Conflicts:
#	CHANGELOG.md
#	modules/core/04-channel/types/tx.pb.go

* fix conflict

* regenerate proto file

* go mod tidy

Co-authored-by: vuong <[email protected]>
Co-authored-by: Carlos Rodriguez <[email protected]>

* feat: Add sender to fungible_token_packet events (backport cosmos#1414) (cosmos#1427)

* Add Sender to funginble_token_packet events

(cherry picked from commit f05a7cf)

* chore: Updated CHANGELOG.md

(cherry picked from commit c809c51)

# Conflicts:
#	CHANGELOG.md

* Update CHANGELOG.md

(cherry picked from commit d8be3d0)

# Conflicts:
#	CHANGELOG.md

* Update CHANGELOG.md

Co-authored-by: Damian Nolan <[email protected]>
(cherry picked from commit 46d73a0)

# Conflicts:
#	CHANGELOG.md

* fix conflicts

Co-authored-by: chatton <[email protected]>
Co-authored-by: Cian Hatton <[email protected]>
Co-authored-by: Carlos Rodriguez <[email protected]>

* add swagger for interchain accounts (cosmos#1402) (cosmos#1411)

## Description

closes: #XXXX

---

Before we can merge this PR, please make sure that all the following items have been
checked off. If any of the checklist items are not applicable, please leave them but
write a little note why.

- [x] Targeted PR against correct branch (see [CONTRIBUTING.md](https://github.com/cosmos/ibc-go/blob/master/CONTRIBUTING.md#pr-targeting))
- [ ] Linked to Github issue with discussion and accepted design OR link to spec that describes this work.
- [ ] Code follows the [module structure standards](https://github.com/cosmos/cosmos-sdk/blob/master/docs/building-modules/structure.md).
- [ ] Wrote unit and integration [tests](https://github.com/cosmos/ibc-go/blob/master/CONTRIBUTING.md#testing)
- [ ] Updated relevant documentation (`docs/`) or specification (`x/<module>/spec/`)
- [ ] Added relevant `godoc` [comments](https://blog.golang.org/godoc-documenting-go-code).
- [ ] Added a relevant changelog entry to the `Unreleased` section in `CHANGELOG.md`
- [x] Re-reviewed `Files changed` in the Github PR explorer
- [ ] Review `Codecov Report` in the comment section below once CI passes

(cherry picked from commit bf444a6)

Co-authored-by: Carlos Rodriguez <[email protected]>

* add actual parameter example to denom-trace and denom-hash CLI queries (backport cosmos#1442) (cosmos#1463)

* add actual parameter example to denom-trace and denom-hash CLI queries (cosmos#1442)

(cherry picked from commit 8062d01)

# Conflicts:
#	modules/apps/transfer/client/cli/query.go

* fix conflict

Co-authored-by: Carlos Rodriguez <[email protected]>

* Emit channel close event on ordered channel close (backport cosmos#1464) (cosmos#1476)

* Emit channel close event on ordered channel close (cosmos#1464)

(cherry picked from commit 9ed5ca4)

# Conflicts:
#	CHANGELOG.md

* fix conflict

Co-authored-by: Cian Hatton <[email protected]>
Co-authored-by: Carlos Rodriguez <[email protected]>

* backport cosmos#1416 (cosmos#1496)

Co-authored-by: Cian Hatton <[email protected]>

* chore: improve DenomTrace grpc (backport cosmos#1342) (cosmos#1504)

* chore: improve DenomTrace grpc (cosmos#1342)

* change DenomTrace grpc

* update CHANGELOG.md

* minor

* minor

* minor

* minor

* minor

* minor

* Update modules/apps/transfer/keeper/grpc_query_test.go

Co-authored-by: Carlos Rodriguez <[email protected]>

* Update modules/apps/transfer/keeper/grpc_query_test.go

Co-authored-by: Carlos Rodriguez <[email protected]>

* Update CHANGELOG.md

Co-authored-by: Damian Nolan <[email protected]>

* use TrimPrefix() in DenomTrace()

* update migration doc

Co-authored-by: Carlos Rodriguez <[email protected]>
Co-authored-by: Damian Nolan <[email protected]>
(cherry picked from commit 23e7e7d)

# Conflicts:
#	CHANGELOG.md
#	docs/ibc/proto-docs.md
#	docs/migrations/v3-to-v4.md
#	modules/apps/transfer/client/cli/query.go

* fix conflicts

Co-authored-by: khanh <[email protected]>
Co-authored-by: crodriguezvega <[email protected]>

* Emit an event to indicate a successful acknowledgement in the ICA module (backport cosmos#1466) (cosmos#1509)

* Emit an event to indicate a successful acknowledgement in the ICA module (cosmos#1466)

(cherry picked from commit b2ca193)

# Conflicts:
#	modules/apps/27-interchain-accounts/host/keeper/events.go

* fix conflicts

Co-authored-by: Cian Hatton <[email protected]>
Co-authored-by: crodriguezvega <[email protected]>

* chore: Add consensus state heights query (backport cosmos#1336) (cosmos#1507)

* chore: Add consensus state heights query (cosmos#1336)

* add ConsensusStateHeights query

* add cli for ConsensusStateHeights Query

* update CHANGELOG.md

* Update modules/core/02-client/keeper/grpc_query.go

Co-authored-by: Damian Nolan <[email protected]>

* Update modules/core/02-client/client/cli/query.go

Co-authored-by: Damian Nolan <[email protected]>

* Update modules/core/02-client/client/cli/query.go

Co-authored-by: Damian Nolan <[email protected]>

* Update modules/core/02-client/client/cli/query.go

Co-authored-by: Damian Nolan <[email protected]>

* update consensus height query

* very minor changes in modules/core/02-client grpc_query_test

* Update modules/core/02-client/keeper/grpc_query_test.go

Co-authored-by: Sean King <[email protected]>

* Update modules/core/02-client/keeper/grpc_query_test.go

Co-authored-by: Sean King <[email protected]>

* Update modules/core/02-client/keeper/grpc_query_test.go

Co-authored-by: Sean King <[email protected]>

* Update modules/core/02-client/keeper/grpc_query_test.go

Co-authored-by: Sean King <[email protected]>

* Update modules/core/02-client/client/cli/query.go

Co-authored-by: Sean King <[email protected]>

* Update modules/core/02-client/keeper/grpc_query_test.go

Co-authored-by: Carlos Rodriguez <[email protected]>

* Update CHANGELOG.md

Co-authored-by: colin axnér <[email protected]>

* update swagger.yaml; update 02-client grpc_query_test

* Update modules/core/02-client/keeper/grpc_query_test.go

Co-authored-by: Damian Nolan <[email protected]>

* nit

Co-authored-by: Damian Nolan <[email protected]>
Co-authored-by: Sean King <[email protected]>
Co-authored-by: Carlos Rodriguez <[email protected]>
Co-authored-by: vuong <[email protected]>
Co-authored-by: colin axnér <[email protected]>
(cherry picked from commit 042d818)

# Conflicts:
#	CHANGELOG.md
#	docs/client/swagger-ui/swagger.yaml

* fix conflicts and change gRPC web route to consensus_state/{client_id}/heights

Co-authored-by: khanh <[email protected]>
Co-authored-by: crodriguezvega <[email protected]>

* fix: deprecate AllowUpdateAfter...check (backport cosmos#1511) (cosmos#1521)

* fix: deprecate AllowUpdateAfter...check (cosmos#1511)

* fix: deprecate AllowUpdateAfter...check

* update IsMatchingClientState

* rm unnecessary fields in testing

(cherry picked from commit 5e5e2cd)

# Conflicts:
#	CHANGELOG.md

* fix conflicts

* Update CHANGELOG.md

* Update adr-026-ibc-client-recovery-mechanisms.md

Co-authored-by: Charly <[email protected]>
Co-authored-by: Carlos Rodriguez <[email protected]>
Co-authored-by: Carlos Rodriguez <[email protected]>

* fix to correctly parse denoms with slashes in the base denom (backport cosmos#1451) (cosmos#1536)

* fix to correctly parse denoms with slashes in the base denom (cosmos#1451)

* fix to correctly parse denoms with slashes in the base denom

* some logic refinement

* review comments

* add changelog entry an other review comments

* review comment

* Add slash migration guide (cosmos#1518)

* add migration guide

* Update docs/migrations/support-slashed-denoms.md

Co-authored-by: Federico Kunze Küllmer <[email protected]>

* clarify upgrade name

* remove unnecessary store loader

* review comment, update migration code

Co-authored-by: Federico Kunze Küllmer <[email protected]>
Co-authored-by: Carlos Rodriguez <[email protected]>

* rename migration file

Co-authored-by: Carlos Rodriguez <[email protected]>
Co-authored-by: Aditya <[email protected]>
Co-authored-by: Federico Kunze Küllmer <[email protected]>
(cherry picked from commit 3a235af)

# Conflicts:
#	CHANGELOG.md

* fix conflict

Co-authored-by: Carlos Rodriguez <[email protected]>

* Update CHANGELOG.md

* Update CHANGELOG.md

* Update CHANGELOG.md

* Update CHANGELOG.md

* feat: added check for wildcard * to allow all message types (cosmos#1512) (cosmos#1537)

* added check for wildcard * to allow all message types

* update docs

* nit

(cherry picked from commit 08d91ad)

Co-authored-by: Charly <[email protected]>

* Update versions

* Update config.js

* Delete v3-to-v4.md

* build(deps): bump github.com/cosmos/cosmos-sdk from 0.45.4 to 0.45.5 (backport cosmos#1525) (cosmos#1547)

* build(deps): bump github.com/cosmos/cosmos-sdk from 0.45.4 to 0.45.5 (cosmos#1525)

* build(deps): bump github.com/cosmos/cosmos-sdk from 0.45.4 to 0.45.5

Bumps [github.com/cosmos/cosmos-sdk](https://github.com/cosmos/cosmos-sdk) from 0.45.4 to 0.45.5.
- [Release notes](https://github.com/cosmos/cosmos-sdk/releases)
- [Changelog](https://github.com/cosmos/cosmos-sdk/blob/v0.45.5/CHANGELOG.md)
- [Commits](cosmos/cosmos-sdk@v0.45.4...v0.45.5)

---
updated-dependencies:
- dependency-name: github.com/cosmos/cosmos-sdk
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>

* updating changelog to reflect SDK v0.45.5 upgrade

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Damian Nolan <[email protected]>
Co-authored-by: Carlos Rodriguez <[email protected]>
(cherry picked from commit 681a558)

# Conflicts:
#	CHANGELOG.md

* fix conflicts

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Carlos Rodriguez <[email protected]>

* add migration for base denoms with slashes to docs site (cosmos#1544) (cosmos#1557)

## Description

closes: #XXXX

---

Before we can merge this PR, please make sure that all the following items have been
checked off. If any of the checklist items are not applicable, please leave them but
write a little note why.

- [ ] Targeted PR against correct branch (see [CONTRIBUTING.md](https://github.com/cosmos/ibc-go/blob/master/CONTRIBUTING.md#pr-targeting))
- [ ] Linked to Github issue with discussion and accepted design OR link to spec that describes this work.
- [ ] Code follows the [module structure standards](https://github.com/cosmos/cosmos-sdk/blob/master/docs/building-modules/structure.md).
- [ ] Wrote unit and integration [tests](https://github.com/cosmos/ibc-go/blob/master/CONTRIBUTING.md#testing)
- [ ] Updated relevant documentation (`docs/`) or specification (`x/<module>/spec/`)
- [ ] Added relevant `godoc` [comments](https://blog.golang.org/godoc-documenting-go-code).
- [ ] Added a relevant changelog entry to the `Unreleased` section in `CHANGELOG.md`
- [ ] Re-reviewed `Files changed` in the Github PR explorer
- [ ] Review `Codecov Report` in the comment section below once CI passes

(cherry picked from commit 6c034bc)

Co-authored-by: Carlos Rodriguez <[email protected]>

* docs: add upgrade client proposal event (cosmos#1596) (cosmos#1635)

(cherry picked from commit 41282c7)

Co-authored-by: Carlos Rodriguez <[email protected]>

* feat: emitting an event when handling a client upgrade proposal (backport cosmos#1570) (cosmos#1594)

* feat: emitting an event when handling a client upgrade proposal (cosmos#1570)

* feat: emitting an event when handling a client upgrade proposal

* refactor: only emit event if err is nil

* refactor: idiotmatic go:

(cherry picked from commit 8422d0c)

# Conflicts:
#	CHANGELOG.md

* Update CHANGELOG.md

Co-authored-by: Sean King <[email protected]>

* deps: bumping go version 1.18 (backport cosmos#1627) (cosmos#1656)

* deps: bumping go version 1.18 (cosmos#1627)

* bumping go version 1.18

* updating broken workflow setup

(cherry picked from commit 7d971ec)

# Conflicts:
#	.github/workflows/test.yml
#	Dockerfile
#	go.sum

* fixing merge conflicts

Co-authored-by: Damian Nolan <[email protected]>

* build(deps): bump github.com/cosmos/cosmos-sdk from 0.45.5 to 0.45.6 (backport cosmos#1615) (cosmos#1658)

* build(deps): bump github.com/cosmos/cosmos-sdk from 0.45.5 to 0.45.6 (cosmos#1615)

* build(deps): bump github.com/cosmos/cosmos-sdk from 0.45.5 to 0.45.6

Bumps [github.com/cosmos/cosmos-sdk](https://github.com/cosmos/cosmos-sdk) from 0.45.5 to 0.45.6.
- [Release notes](https://github.com/cosmos/cosmos-sdk/releases)
- [Changelog](https://github.com/cosmos/cosmos-sdk/blob/main/CHANGELOG.md)
- [Commits](cosmos/cosmos-sdk@v0.45.5...v0.45.6)

---
updated-dependencies:
- dependency-name: github.com/cosmos/cosmos-sdk
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>

* Update CHANGELOG.md

* copying part of codeql workflow to try to make it pass

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Carlos Rodriguez <[email protected]>
Co-authored-by: Carlos Rodriguez <[email protected]>
(cherry picked from commit e049649)

# Conflicts:
#	.github/workflows/codeql-analysis.yml
#	CHANGELOG.md

* fixing conflicts in changelog.md

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Damian Nolan <[email protected]>

* Update CHANGELOG.md

* fix typo

* chore: denom traces migration handler (backport cosmos#1680) (cosmos#1754)

* chore: denom traces migration handler (cosmos#1680)

* update code & test

* register migrator service

(cherry picked from commit be5ccf3)

# Conflicts:
#	CHANGELOG.md
#	docs/migrations/support-denoms-with-slashes.md
#	docs/migrations/v3-to-v4.md
#	modules/apps/transfer/types/trace.go

* fix conflicts

* fix go version package

* put back entry that got removed by mistake

Co-authored-by: Charly <[email protected]>
Co-authored-by: crodriguezvega <[email protected]>

* feat: allow governance to update the TrustingPeriod of the 07-tendermint light client (backport cosmos#1713) (cosmos#1761)

* feat: allow governance to update the TrustingPeriod of the 07-tendermint light client (cosmos#1713)

* initial commit

* format imports

* update docs

* update CHANGELOG

* update upgrade dev docs

* update re: pr comments

(cherry picked from commit c12789d)

* position correctly changelog entry

Co-authored-by: Charly <[email protected]>
Co-authored-by: Carlos Rodriguez <[email protected]>

* fix broken link (cosmos#1776) (cosmos#1808)

(cherry picked from commit ef7a5c7)

Co-authored-by: Carlos Rodriguez <[email protected]>

* fix: add cosmos_proto.implements_interface (backport cosmos#1740) (cosmos#1817)

* fix: add cosmos_proto.implements_interface (cosmos#1740)

* fix: add cosmos_proto.implements_interface

* changelog

* Update CHANGELOG.md

Co-authored-by: Carlos Rodriguez <[email protected]>

* run `make proto-all`

* run `go mod tidy`

Co-authored-by: Carlos Rodriguez <[email protected]>
Co-authored-by: colin axnér <[email protected]>
(cherry picked from commit 40d0ff7)

# Conflicts:
#	CHANGELOG.md
#	modules/core/02-client/types/client.pb.go

* fix conflict

Co-authored-by: Dan Lynch <[email protected]>
Co-authored-by: crodriguezvega <[email protected]>

* fix: ics27 check packet data length explicitly over nil check (cosmos#1882) (cosmos#1897)

* using len check in favour of nil check for interchain account packet data

* adding changelog

* updating changelog

(cherry picked from commit 73fdde9)

Co-authored-by: Damian Nolan <[email protected]>

* chore: adding dockerfile and release task to release/3.2.x (cosmos#1932)

* fix: prevent blocked addresses from sending ICS 20 transfers (backport cosmos#1907) (cosmos#1945)

* fix: prevent blocked addresses from sending ICS 20 transfers (cosmos#1907)

* fix bug, add test

Ensures that a sender account isn't a blocked address
Added test cases for MsgTransfer handling

* update documentation

* move blocked address check to SendTransfer

* add changelog entry

(cherry picked from commit f891c29)

# Conflicts:
#	modules/apps/transfer/keeper/relay_test.go

* fix conflicts

Co-authored-by: colin axnér <[email protected]>

* Fixing github action workflows (backport cosmos#1428) (cosmos#1939)

* chore: backport cosmos#1905 (cosmos#1978)

Co-authored-by: Devashish Dixit <[email protected]>

* fix: "acknowledgement written" logs unsupported type (backport cosmos#1919) (cosmos#1960)

* fix: "acknowledgement written" logs unsupported type (cosmos#1919)

* fix: "acknowledgement written" logs unsupported type

* Updating CHANGELOG.md

Co-authored-by: Carlos Rodriguez <[email protected]>
Co-authored-by: colin axnér <[email protected]>
(cherry picked from commit 897e7eb)

# Conflicts:
#	CHANGELOG.md

* fix conflict

Co-authored-by: Joe Abbey <[email protected]>
Co-authored-by: Carlos Rodriguez <[email protected]>

* Update CHANGELOG.md

* Update CHANGELOG.md

* fix broken link (cosmos#2059) (cosmos#2096)

(cherry picked from commit 7d26a87)

Co-authored-by: Carlos Rodriguez <[email protected]>

* gofumpt v3.2.x (cosmos#1735)

* gofumpt v3.2.x

* update Makefile, run make format

* remove empty line in comments

* chore: fix broken link to bank module spec (backport cosmos#2201) (cosmos#2208)

* chore: fix broken link to bank module spec (cosmos#2201)

## Description

closes: #XXXX

---

Before we can merge this PR, please make sure that all the following items have been
checked off. If any of the checklist items are not applicable, please leave them but
write a little note why.

- [x] Targeted PR against correct branch (see [CONTRIBUTING.md](https://github.com/cosmos/ibc-go/blob/master/CONTRIBUTING.md#pr-targeting))
- [ ] Linked to Github issue with discussion and accepted design OR link to spec that describes this work.
- [ ] Code follows the [module structure standards](https://github.com/cosmos/cosmos-sdk/blob/master/docs/building-modules/structure.md).
- [ ] Wrote unit and integration [tests](https://github.com/cosmos/ibc-go/blob/master/CONTRIBUTING.md#testing)
- [ ] Updated relevant documentation (`docs/`) or specification (`x/<module>/spec/`)
- [ ] Added relevant `godoc` [comments](https://blog.golang.org/godoc-documenting-go-code).
- [ ] Added a relevant changelog entry to the `Unreleased` section in `CHANGELOG.md`
- [x] Re-reviewed `Files changed` in the Github PR explorer
- [ ] Review `Codecov Report` in the comment section below once CI passes

(cherry picked from commit 1a0918d)

# Conflicts:
#	docs/apps/transfer/params.md

* fix conflict

Co-authored-by: Carlos Rodriguez <[email protected]>

* feat: adding interchain account address query to controller submodule (backport cosmos#2193) (cosmos#2291)

* feat: adding interchain account address query to controller submodule (cosmos#2193)

* adding interchain account address query to ica controller

* adding basic cli query

* satisfy linter, aligning recvr var naming

* Apply suggestions from code review

Co-authored-by: Carlos Rodriguez <[email protected]>

* reordering cli args

* regenerate protobufs and swagger docs post review suggestions

* adding changelog

* Update modules/apps/27-interchain-accounts/controller/client/cli/query.go

Co-authored-by: Carlos Rodriguez <[email protected]>
(cherry picked from commit e569045)

# Conflicts:
#	CHANGELOG.md
#	docs/client/swagger-ui/swagger.yaml
#	docs/ibc/proto-docs.md
#	modules/apps/27-interchain-accounts/controller/keeper/grpc_query.go
#	modules/apps/27-interchain-accounts/controller/keeper/grpc_query_test.go
#	modules/apps/27-interchain-accounts/controller/types/query.pb.go

* fix merge conflicts

Co-authored-by: Damian Nolan <[email protected]>
Co-authored-by: Colin Axnér <[email protected]>

* `release/v3.3.x` - Bump SDK to v0.45.8 and Tendermint to v0.34.21 (cosmos#2286)

* deps: bump SDK to v0.45.8 and tendermint to v0.34.21

* changelog entry

* Merge pull request from GHSA-832c-mq9v-367r

* fix: use block app hash and tx list to generate interchain account address

Generate interchain account addresses using host connection ID, controller PortID, block app hash, and block data hash
Update tests to handle non-determinstic address creation
Add test case to ensure address generation is block dependent

* fix: return error on existing non-interchainaccounts for generated address

If an account exists and is not an interchain account return an error
Add test cases for existing accounts, both interchain and non interchain account
Refactor account tests to be table tests

* fix: refactor handshake code to account for block dependent address generation

* add more test cases, update error messaging

* self review fix

* increase test readability

* remove msg_server_test.go

* fix API breaking changes

* self nit

* fix tests

* fix naming GenerateAddress naming

* add test cases for controller side channel reopening

* fix cherry-pick conflict

* Update modules/apps/27-interchain-accounts/types/account.go

Co-authored-by: Damian Nolan <[email protected]>

Co-authored-by: Damian Nolan <[email protected]>

* fix: add nil checks for controller and host keeper services (backport cosmos#2308) (cosmos#2313)

* fix: add nil checks for controller and host keeper services (cosmos#2308)

## Description

closes: #XXXX

---

Before we can merge this PR, please make sure that all the following items have been
checked off. If any of the checklist items are not applicable, please leave them but
write a little note why.

- [ ] Targeted PR against correct branch (see [CONTRIBUTING.md](https://github.com/cosmos/ibc-go/blob/master/CONTRIBUTING.md#pr-targeting))
- [ ] Linked to Github issue with discussion and accepted design OR link to spec that describes this work.
- [ ] Code follows the [module structure standards](https://github.com/cosmos/cosmos-sdk/blob/master/docs/building-modules/structure.md).
- [ ] Wrote unit and integration [tests](https://github.com/cosmos/ibc-go/blob/master/CONTRIBUTING.md#testing)
- [ ] Updated relevant documentation (`docs/`) or specification (`x/<module>/spec/`)
- [ ] Added relevant `godoc` [comments](https://blog.golang.org/godoc-documenting-go-code).
- [ ] Added a relevant changelog entry to the `Unreleased` section in `CHANGELOG.md`
- [ ] Re-reviewed `Files changed` in the Github PR explorer
- [ ] Review `Codecov Report` in the comment section below once CI passes

(cherry picked from commit 888c4a0)

# Conflicts:
#	CHANGELOG.md
#	modules/apps/27-interchain-accounts/controller/keeper/migrations.go
#	modules/apps/27-interchain-accounts/module.go

* fix merge conflicts

Co-authored-by: colin axnér <[email protected]>

* update changelog for v3.3.0 release

* Update CHANGELOG.md

* fix broken link/update link (cosmos#2338) (cosmos#2346)

(cherry picked from commit d908b1b)

Co-authored-by: Carlos Rodriguez <[email protected]>

* Fix ICAControllerKeeper (cosmos#2303) (cosmos#2332)

Co-authored-by: Carlos Rodriguez <[email protected]>
(cherry picked from commit 280db0c)

Co-authored-by: Raul Bernal <[email protected]>

* Adding `paramsKeeper.Subspace(icahosttypes.SubModuleName)` (cosmos#2220) (cosmos#2324)

* Adding `paramsKeeper.Subspace(icahosttypes.SubModuleName)`

Adding `paramsKeeper.Subspace(icahosttypes.SubModuleName)` at `initParamsKeeper` func

* fix spaces

* adding missing paramsKeeper

paramsKeeper.Subspace(icacontrollertypes.SubModuleName)

Co-authored-by: Carlos Rodriguez <[email protected]>
Co-authored-by: colin axnér <[email protected]>
(cherry picked from commit 7b26bda)

Co-authored-by: Raul Bernal <[email protected]>

* MsgTransferResponse add sequence (backport cosmos#2377) (cosmos#2465)

* MsgTransferResponse add sequence (cosmos#2377)

## Description

Returns sequence from `sendTransfer`, and returns it with the `MsgTransferResponse`. This is not an API breaking change.

Retrieving the sequence at the time of creating the transfer is necessary in the packet forward middleware for correlation with multihop packet flows.

strangelove-ventures/packet-forward-middleware#33
strangelove-ventures/interchaintest#306

Closes cosmos#1969

---

- [x] Targeted PR against correct branch (see [CONTRIBUTING.md](https://github.com/cosmos/ibc-go/blob/master/CONTRIBUTING.md#pr-targeting))
- [x] Linked to Github issue with discussion and accepted design OR link to spec that describes this work.
- [x] Code follows the [module structure standards](https://github.com/cosmos/cosmos-sdk/blob/master/docs/building-modules/structure.md).
- [x] Wrote unit and integration [tests](https://github.com/cosmos/ibc-go/blob/master/CONTRIBUTING.md#testing)
Existing test coverage exercises this new method due to the re-routing of `SendTransfer` through `SendPacketTransfer`
- [x] Updated relevant documentation (`docs/`) or specification (`x/<module>/spec/`)
- [x] Added relevant `godoc` [comments](https://blog.golang.org/godoc-documenting-go-code).
- [x] Added a relevant changelog entry to the `Unreleased` section in `CHANGELOG.md`
- [x] Re-reviewed `Files changed` in the Github PR explorer
- [x] Review `Codecov Report` in the comment section below once CI passes

(cherry picked from commit 3363917)

# Conflicts:
#	docs/ibc/proto-docs.md
#	modules/apps/transfer/keeper/msg_server.go
#	modules/apps/transfer/keeper/relay.go
#	modules/apps/transfer/types/tx.pb.go

* fix conflicts

Co-authored-by: Andrew Gouin <[email protected]>
Co-authored-by: crodriguezvega <[email protected]>

* fixing dead link to sdk v0.44 (cosmos#2488) (cosmos#2493)

Co-authored-by: Carlos Rodriguez <[email protected]>
(cherry picked from commit a1843f8)

Co-authored-by: Damian Nolan <[email protected]>

* chore: fix broken links (backport cosmos#2511) (cosmos#2521)

* fix broken links (cosmos#2511)

Co-authored-by: Carlos Rodriguez <[email protected]>
(cherry picked from commit 4c45212)

# Conflicts:
#	docs/ibc/apps/apps.md
#	docs/middleware/ics29-fee/fee-distribution.md
#	modules/apps/transfer/spec/06_metrics.md

* Delete fee-distribution.md

* fix conflict

* Delete apps.md

Co-authored-by: Carlos Rodriguez <[email protected]>

* Added optional packet metadata to the packet and message types (backport cosmos#2305) (cosmos#2505)

* Added optional packet metadata to the packet and message types (cosmos#2305)

* added optional packet metadata to the packet and message types

* added docs

* breaking the api (backports should add a utility function for this)

* adding nil metadata on all the calls

* added metadata to the cli

* added events

* breaking api for FungibleTokenPacketData

* hex encoding metadata

* added abstraction

* fixed bad merge

* added tests with metadata

* added missing metadata to packet for recv

* cleaning up metadata on every test

* reset metadata

* added metadata flag

* lint

* Update modules/apps/transfer/client/cli/tx.go

Co-authored-by: Damian Nolan <[email protected]>

* fixed bad call in tests

Co-authored-by: Damian Nolan <[email protected]>
(cherry picked from commit 82397d6)

# Conflicts:
#	docs/apps/transfer/messages.md
#	docs/ibc/proto-docs.md
#	go.mod
#	go.sum
#	modules/apps/29-fee/transfer_test.go
#	modules/apps/transfer/ibc_module.go
#	modules/apps/transfer/keeper/mbt_relay_test.go
#	modules/apps/transfer/keeper/relay_test.go
#	modules/apps/transfer/spec/05_events.md
#	modules/apps/transfer/types/packet.pb.go
#	modules/apps/transfer/types/tx.pb.go
#	proto/ibc/applications/interchain_accounts/controller/v1/tx.proto

* fixing conflicts

* fix event emission

* fix test

* fix broken link

* revert unnecessary change

* revert unnecessary change

* remove api breaking changes

* removing more api breaking changes

* another api breaking change

* remove unused code

* another api breaking change

* another api breaking change

* fix tests

* remove test

Co-authored-by: Nicolas Lara <[email protected]>
Co-authored-by: Carlos Rodriguez <[email protected]>
Co-authored-by: Carlos Rodriguez <[email protected]>

* add entry for cosmos#2305

* refactor: adapting transfer metadata bytes field to memo string (backport cosmos#2595) (cosmos#2597)

* refactor: adapting transfer metadata bytes field to memo string (cosmos#2595)

* adapting transfer metadata bytes field to memo string

* updating changelog

(cherry picked from commit 05685b3)

# Conflicts:
#	CHANGELOG.md
#	docs/ibc/proto-docs.md
#	go.mod
#	go.sum
#	modules/apps/29-fee/transfer_test.go
#	modules/apps/transfer/client/cli/tx.go
#	modules/apps/transfer/ibc_module.go
#	modules/apps/transfer/keeper/mbt_relay_test.go
#	modules/apps/transfer/keeper/msg_server_test.go
#	modules/apps/transfer/keeper/relay.go
#	modules/apps/transfer/keeper/relay_test.go
#	modules/apps/transfer/transfer_test.go
#	modules/apps/transfer/types/msgs.go
#	modules/apps/transfer/types/msgs_test.go
#	modules/apps/transfer/types/packet.go
#	modules/apps/transfer/types/packet.pb.go
#	modules/apps/transfer/types/packet_test.go
#	modules/apps/transfer/types/tx.pb.go

* resolving conflicts

Co-authored-by: Damian Nolan <[email protected]>

* use controller module address instead of module name for NewMsgChannelOpenInit (backport cosmos#2568) (cosmos#2609)

* use controller module address instead of module name for NewMsgChannelOpenInit (cosmos#2568)

## Description

In controller keeper's `registerInterchainAccount` we execute a `MsgChannelOpenInit` to set up an ica channel. Currently, we have [`icatypes.ModuleName`](https://github.com/cosmos/ibc-go/blob/95cec44c9fb10a2e84a327cdd98c7d588f091f42/modules/apps/27-interchain-accounts/controller/keeper/account.go#L63) as the msg signer. This is not good because the [`ValidateBasic()`](https://github.com/cosmos/ibc-go/blob/692790402a033c1d9647c1e1eded5351332283bf/modules/core/04-channel/types/msgs.go#L34) of `MsgChannelOpenInit` has check if msg signer is bech32 or not.

ref cosmos#2566

closes: cosmos#2559

---

Before we can merge this PR, please make sure that all the following items have been
checked off. If any of the checklist items are not applicable, please leave them but
write a little note why.

- [ ] Targeted PR against correct branch (see [CONTRIBUTING.md](https://github.com/cosmos/ibc-go/blob/master/CONTRIBUTING.md#pr-targeting))
- [ ] Linked to Github issue with discussion and accepted design OR link to spec that describes this work.
- [ ] Code follows the [module structure standards](https://github.com/cosmos/cosmos-sdk/blob/main/docs/docs/building-modules/10-structure.md).
- [ ] Wrote unit and integration [tests](https://github.com/cosmos/ibc-go/blob/master/CONTRIBUTING.md#testing)
- [ ] Updated relevant documentation (`docs/`) or specification (`x/<module>/spec/`)
- [ ] Added relevant `godoc` [comments](https://blog.golang.org/godoc-documenting-go-code).
- [ ] Added a relevant changelog entry to the `Unreleased` section in `CHANGELOG.md`
- [ ] Re-reviewed `Files changed` in the Github PR explorer
- [ ] Review `Codecov Report` in the comment section below once CI passes

(cherry picked from commit 6105db4)

# Conflicts:
#	modules/apps/27-interchain-accounts/controller/keeper/account.go

* resolving conflicts

Co-authored-by: khanh-notional <[email protected]>
Co-authored-by: Damian Nolan <[email protected]>

* remove port prefix requirement (backport cosmos#2590) (cosmos#2632)

* remove port prefix requirement (cosmos#2590)

* remove port prefix requirement

* chore: remove depcrated test and fix lint

* add changelog entry

* Update CHANGELOG.md

Co-authored-by: Damian Nolan <[email protected]>

Co-authored-by: Damian Nolan <[email protected]>
(cherry picked from commit 5f9966b)

# Conflicts:
#	modules/apps/27-interchain-accounts/host/keeper/handshake.go

* fix conflict

Co-authored-by: LaurensKubat <[email protected]>
Co-authored-by: crodriguezvega <[email protected]>

* release/v3.4.x: bump to SDK v0.45.10 (cosmos#2589)

* use authtypes.NewModuleAddress

* bumps

* retract former v3s

* fixes

* rationale

* discard changes to account.go

* review comments

Co-authored-by: catShaark <[email protected]>
Co-authored-by: Carlos Rodriguez <[email protected]>
Co-authored-by: khanh-notional <[email protected]>

* fix: skip emission of unpopulated memo field in ics20 (backport cosmos#2651) (cosmos#2653)

* fix: skip emission of unpopulated memo field in ics20 (cosmos#2651)

## Description

By setting `EmitDefaults` to false, we will not include an empty memo field in the marshaled json bytes

closes: cosmos#2645

---

Before we can merge this PR, please make sure that all the following items have been
checked off. If any of the checklist items are not applicable, please leave them but
write a little note why.

- [x] Targeted PR against correct branch (see [CONTRIBUTING.md](https://github.com/cosmos/ibc-go/blob/master/CONTRIBUTING.md#pr-targeting))
- [ ] Linked to Github issue with discussion and accepted design OR link to spec that describes this work.
- [ ] Code follows the [module structure standards](https://github.com/cosmos/cosmos-sdk/blob/main/docs/docs/building-modules/10-structure.md).
- [ ] Wrote unit and integration [tests](https://github.com/cosmos/ibc-go/blob/master/CONTRIBUTING.md#testing)
- [ ] Updated relevant documentation (`docs/`) or specification (`x/<module>/spec/`)
- [ ] Added relevant `godoc` [comments](https://blog.golang.org/godoc-documenting-go-code).
- [ ] Added a relevant changelog entry to the `Unreleased` section in `CHANGELOG.md`
- [ ] Re-reviewed `Files changed` in the Github PR explorer
- [ ] Review `Codecov Report` in the comment section below once CI passes

(cherry picked from commit 393247b)

* Update modules/apps/transfer/types/codec_test.go

* fix: merge conflict build

Co-authored-by: colin axnér <[email protected]>
Co-authored-by: Damian Nolan <[email protected]>

* add check send enabled (backport cosmos#2679) (cosmos#2688)

* add check send enabled (cosmos#2679)

* add check send enabled

* changelog

(cherry picked from commit b1f494c)

# Conflicts:
#	CHANGELOG.md
#	modules/apps/transfer/keeper/msg_server.go
#	modules/apps/transfer/keeper/msg_server_test.go

* fix conflicts

* fix return value

* fix build

Co-authored-by: Carlos Rodriguez <[email protected]>
Co-authored-by: Carlos Rodriguez <[email protected]>

* prepare changelog for v3.4.0 release

* typo in tag link

* Update CHANGELOG.md

* Update incorrect PR link in changelog regarding "check x/bank send enabled" fix (backport cosmos#2714) (cosmos#2716)

* Update check x/bank sendEnabled link in changelog (cosmos#2714)

Co-authored-by: Cian Hatton <[email protected]>
(cherry picked from commit 7249d82)

# Conflicts:
#	CHANGELOG.md

* fix conflicts

Co-authored-by: Calvin Lau <[email protected]>
Co-authored-by: Colin Axnér <[email protected]>

* docs: add missing set order functions for ICA (backport cosmos#2740) (cosmos#2754)

* add missing set order functions for ica (cosmos#2740)

Co-authored-by: Carlos Rodriguez <[email protected]>
(cherry picked from commit f54143e)

# Conflicts:
#	docs/middleware/ics29-fee/integration.md

* Delete integration.md

Co-authored-by: Carlos Rodriguez <[email protected]>

* tests compiles

* 1. remove allow_update_after_expiry & allow_update_after_misbehaviour as it became deprecated
2. update proposal_handle following v3.4.x upgrade
3. delete fraction as it not used anymore
4. fix test function CreateDMClientHeader
5. add more checks and errors to header

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Co-authored-by: Carlos Rodriguez <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: khanh <[email protected]>
Co-authored-by: Damian Nolan <[email protected]>
Co-authored-by: vuong <[email protected]>
Co-authored-by: chatton <[email protected]>
Co-authored-by: Cian Hatton <[email protected]>
Co-authored-by: Charly <[email protected]>
Co-authored-by: Carlos Rodriguez <[email protected]>
Co-authored-by: Sean King <[email protected]>
Co-authored-by: Dan Lynch <[email protected]>
Co-authored-by: colin axnér <[email protected]>
Co-authored-by: Devashish Dixit <[email protected]>
Co-authored-by: Joe Abbey <[email protected]>
Co-authored-by: Jacob Gadikian <[email protected]>
Co-authored-by: Raul Bernal <[email protected]>
Co-authored-by: Andrew Gouin <[email protected]>
Co-authored-by: Nicolas Lara <[email protected]>
Co-authored-by: LaurensKubat <[email protected]>
Co-authored-by: catShaark <[email protected]>
Co-authored-by: Calvin Lau <[email protected]>
Co-authored-by: Michael Tsitrin <[email protected]>
jtieri pushed a commit that referenced this pull request Jan 7, 2023
…orwards (#306)

* Make examples its own module

* Make cosmos specific module and run in CI in separate task

* Update e2e test for memo refactor

* Update test to chain-level params

* Use gaia with pfm with configurable timeout and retries

* Update SendIBCTransfer uses

* fix interchain test

* Add GetClients method to Relayer and helper for getting transfer channel between chains

* Update packet forward test for multi-hop, add multi-hop refund test

* Update tests for atomic forwards

* Wait for a block after ack before checking balances

* reduce wait to 1 block

* Add multi-hop flow with refund through chain with native denom. Add assertions for escrow accounts

* Remove stale comment

* handle feedback

* Add TransferOptions
jtieri added a commit that referenced this pull request Jan 9, 2023
* fix: Unable to build ibctest binary (#326)

* feat: Add cosmos message poller (#325)

* fix: change import paths from v6 to v3

* Make configutil public (#336)

* Make configutil public

* Rename test package to chainutil. Make util packages subpackages of util package

* Consolidate into single testutil package

* fix: formatting issue in doc

* fix: change import path from test to testutil

* fix: go mod tidy

* packet-forward-middleware packet memo, retry on timeout, and atomic forwards (#306)

* Make examples its own module

* Make cosmos specific module and run in CI in separate task

* Update e2e test for memo refactor

* Update test to chain-level params

* Use gaia with pfm with configurable timeout and retries

* Update SendIBCTransfer uses

* fix interchain test

* Add GetClients method to Relayer and helper for getting transfer channel between chains

* Update packet forward test for multi-hop, add multi-hop refund test

* Update tests for atomic forwards

* Wait for a block after ack before checking balances

* reduce wait to 1 block

* Add multi-hop flow with refund through chain with native denom. Add assertions for escrow accounts

* Remove stale comment

* handle feedback

* Add TransferOptions

* fix: remove extra argument to NewMsgTransfer call

* build: go mod tidy

* chore: update gaia image version for packet forward tests

* fix: fallback to old version of the interchain accounts demo binary

Co-authored-by: David Nix <[email protected]>
Co-authored-by: Andrew Gouin <[email protected]>
ulbqb pushed a commit to ulbqb/ibc-go that referenced this pull request Jul 27, 2023
* MsgTransferResponse add sequence (cosmos#2377)

## Description

Returns sequence from `sendTransfer`, and returns it with the `MsgTransferResponse`. This is not an API breaking change.

Retrieving the sequence at the time of creating the transfer is necessary in the packet forward middleware for correlation with multihop packet flows.

strangelove-ventures/packet-forward-middleware#33
strangelove-ventures/interchaintest#306

Closes cosmos#1969

---

- [x] Targeted PR against correct branch (see [CONTRIBUTING.md](https://github.com/cosmos/ibc-go/blob/master/CONTRIBUTING.md#pr-targeting))
- [x] Linked to Github issue with discussion and accepted design OR link to spec that describes this work.
- [x] Code follows the [module structure standards](https://github.com/cosmos/cosmos-sdk/blob/master/docs/building-modules/structure.md).
- [x] Wrote unit and integration [tests](https://github.com/cosmos/ibc-go/blob/master/CONTRIBUTING.md#testing)
Existing test coverage exercises this new method due to the re-routing of `SendTransfer` through `SendPacketTransfer`
- [x] Updated relevant documentation (`docs/`) or specification (`x/<module>/spec/`)
- [x] Added relevant `godoc` [comments](https://blog.golang.org/godoc-documenting-go-code).
- [x] Added a relevant changelog entry to the `Unreleased` section in `CHANGELOG.md`
- [x] Re-reviewed `Files changed` in the Github PR explorer
- [x] Review `Codecov Report` in the comment section below once CI passes

(cherry picked from commit 3363917)

# Conflicts:
#	modules/apps/transfer/keeper/msg_server.go
#	modules/apps/transfer/keeper/relay.go
#	modules/apps/transfer/types/tx.pb.go

* fix conflicts

Co-authored-by: Andrew Gouin <[email protected]>
Co-authored-by: crodriguezvega <[email protected]>
ulbqb pushed a commit to ulbqb/ibc-go that referenced this pull request Jul 31, 2023
* MsgTransferResponse add sequence (cosmos#2377)

## Description

Returns sequence from `sendTransfer`, and returns it with the `MsgTransferResponse`. This is not an API breaking change.

Retrieving the sequence at the time of creating the transfer is necessary in the packet forward middleware for correlation with multihop packet flows.

strangelove-ventures/packet-forward-middleware#33
strangelove-ventures/interchaintest#306

Closes cosmos#1969

---

- [x] Targeted PR against correct branch (see [CONTRIBUTING.md](https://github.com/cosmos/ibc-go/blob/master/CONTRIBUTING.md#pr-targeting))
- [x] Linked to Github issue with discussion and accepted design OR link to spec that describes this work.
- [x] Code follows the [module structure standards](https://github.com/cosmos/cosmos-sdk/blob/master/docs/building-modules/structure.md).
- [x] Wrote unit and integration [tests](https://github.com/cosmos/ibc-go/blob/master/CONTRIBUTING.md#testing)
Existing test coverage exercises this new method due to the re-routing of `SendTransfer` through `SendPacketTransfer`
- [x] Updated relevant documentation (`docs/`) or specification (`x/<module>/spec/`)
- [x] Added relevant `godoc` [comments](https://blog.golang.org/godoc-documenting-go-code).
- [x] Added a relevant changelog entry to the `Unreleased` section in `CHANGELOG.md`
- [x] Re-reviewed `Files changed` in the Github PR explorer
- [x] Review `Codecov Report` in the comment section below once CI passes

(cherry picked from commit 3363917)

# Conflicts:
#	modules/apps/transfer/keeper/msg_server.go
#	modules/apps/transfer/keeper/relay.go
#	modules/apps/transfer/types/tx.pb.go

* fix conflicts

Co-authored-by: Andrew Gouin <[email protected]>
Co-authored-by: crodriguezvega <[email protected]>
ulbqb pushed a commit to ulbqb/ibc-go that referenced this pull request Jul 31, 2023
* MsgTransferResponse add sequence (cosmos#2377)

## Description

Returns sequence from `sendTransfer`, and returns it with the `MsgTransferResponse`. This is not an API breaking change.

Retrieving the sequence at the time of creating the transfer is necessary in the packet forward middleware for correlation with multihop packet flows.

strangelove-ventures/packet-forward-middleware#33
strangelove-ventures/interchaintest#306

Closes cosmos#1969

---

- [x] Targeted PR against correct branch (see [CONTRIBUTING.md](https://github.com/cosmos/ibc-go/blob/master/CONTRIBUTING.md#pr-targeting))
- [x] Linked to Github issue with discussion and accepted design OR link to spec that describes this work.
- [x] Code follows the [module structure standards](https://github.com/cosmos/cosmos-sdk/blob/master/docs/building-modules/structure.md).
- [x] Wrote unit and integration [tests](https://github.com/cosmos/ibc-go/blob/master/CONTRIBUTING.md#testing)
Existing test coverage exercises this new method due to the re-routing of `SendTransfer` through `SendPacketTransfer`
- [x] Updated relevant documentation (`docs/`) or specification (`x/<module>/spec/`)
- [x] Added relevant `godoc` [comments](https://blog.golang.org/godoc-documenting-go-code).
- [x] Added a relevant changelog entry to the `Unreleased` section in `CHANGELOG.md`
- [x] Re-reviewed `Files changed` in the Github PR explorer
- [x] Review `Codecov Report` in the comment section below once CI passes

(cherry picked from commit 3363917)

# Conflicts:
#	modules/apps/transfer/keeper/msg_server.go
#	modules/apps/transfer/keeper/relay.go
#	modules/apps/transfer/types/tx.pb.go

* fix conflicts

Co-authored-by: Andrew Gouin <[email protected]>
Co-authored-by: crodriguezvega <[email protected]>
@jtieri jtieri deleted the andrew/packet_forward_middleware_retry_refund branch March 28, 2024 04:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants