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

E2E Test: TestMsgPayPacketFeeSingleSenderTimesOut #1751

Merged

Conversation

chatton
Copy link
Contributor

@chatton chatton commented Jul 21, 2022

Description

closes: #1685


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)
  • Linked to Github issue with discussion and accepted design OR link to spec that describes this work.
  • Code follows the module structure standards.
  • Wrote unit and integration tests
  • Updated relevant documentation (docs/) or specification (x/<module>/spec/)
  • Added relevant godoc comments.
  • 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

@@ -79,7 +80,7 @@ func (s *FeeMiddlewareTestSuite) QueryIncentivizedPacketsForChannel(
return res.IncentivizedPackets, err
}

func (s *FeeMiddlewareTestSuite) TestMsgPayPacketFeeAsyncSingleSender() {
func (s *FeeMiddlewareTestSuite) TestMsgPayPacketFee_AsyncSingleSender_Succeeds() {
Copy link
Contributor Author

Choose a reason for hiding this comment

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

added underscores to make the names a little more readable.

}

t.Run("Send IBC transfer", func(t *testing.T) {
var err error
Copy link
Contributor

Choose a reason for hiding this comment

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

nit: chainATx, err := below

IBCTransferAmount int64 = 10_000
StartingTokenAmount int64 = 10_000_000
IBCTransferAmount int64 = 10_000
ImmediatelyTimeout uint64 = 1
Copy link
Contributor

Choose a reason for hiding this comment

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

not sure if this makes sense in the const file as we wouldnt necessarily change this value (changing the value would change the function) -- maybe you could just add a comment in the code above the line this value is used to explain that it means immediate timeout?

t.Run("Send IBC transfer", func(t *testing.T) {
var err error
chainATx, err = chainA.SendIBCTransfer(ctx, channelA.ChannelID, chainAWallet.KeyName, walletAmount, &ibc.IBCTimeout{
NanoSeconds: testvalues.ImmediatelyTimeout,
Copy link
Contributor

Choose a reason for hiding this comment

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

see comment in the const file

t.Run("pay packet fee", func(t *testing.T) {

packetId := channeltypes.NewPacketId(channelA.PortID, channelA.ChannelID, 1)
packetFee := feetypes.NewPacketFee(testFee, chainAWallet.Bech32Address(chainA.Config().Bech32Prefix), nil)
Copy link
Contributor

Choose a reason for hiding this comment

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

chainAWallet.Address?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

chainAWallet.Address does not contain the prefix which is required in the packet fee message.

Copy link
Contributor

Choose a reason for hiding this comment

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

got it, i left the issue in the strangelove repo :)

s.Require().NoError(err)
})

s.Require().NoError(test.WaitForBlocks(ctx, 1, chainA, chainB), "failed to wait for blocks")
Copy link
Contributor

Choose a reason for hiding this comment

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

why waiting for blocks here?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

good point this probably is not required.

s.Require().Equal(chainARelayerWallet.Address, address)
})

walletAmount := ibc.WalletAmount{
Copy link
Contributor

@charleenfei charleenfei Jul 22, 2022

Choose a reason for hiding this comment

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

nit: maybe more explicit naming here, it's actually a chainBWalletAmount --


t.Run("Send IBC transfer", func(t *testing.T) {
var err error
chainATx, err = chainA.SendIBCTransfer(ctx, channelA.ChannelID, chainAWallet.KeyName, walletAmount, &ibc.IBCTimeout{
Copy link
Contributor

Choose a reason for hiding this comment

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

walletAmount gets a bit confusing here bc it was set as a chainB wallet amount but now youre sending a chainA tx?

@codecov-commenter
Copy link

Codecov Report

Merging #1751 (980ae0d) into main (8987888) will increase coverage by 0.02%.
The diff coverage is 92.72%.

Impacted file tree graph

@@            Coverage Diff             @@
##             main    #1751      +/-   ##
==========================================
+ Coverage   80.05%   80.08%   +0.02%     
==========================================
  Files         164      165       +1     
  Lines       12300    12351      +51     
==========================================
+ Hits         9847     9891      +44     
- Misses       1993     1997       +4     
- Partials      460      463       +3     
Impacted Files Coverage Δ
modules/apps/transfer/module.go 58.06% <60.00%> (-0.56%) ⬇️
modules/apps/transfer/keeper/migrations.go 93.33% <93.33%> (ø)
modules/apps/transfer/types/trace.go 90.97% <100.00%> (+0.89%) ⬆️
...ght-clients/07-tendermint/types/proposal_handle.go 80.00% <100.00%> (+1.81%) ⬆️
modules/apps/transfer/keeper/grpc_query.go 73.07% <0.00%> (-3.85%) ⬇️

Copy link
Contributor

@charleenfei charleenfei left a comment

Choose a reason for hiding this comment

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

nice work! lgtm!

@chatton chatton merged commit 214e4a3 into main Jul 27, 2022
@chatton chatton deleted the cian/issue#1685-e2e-fee-middleware-single-sender-timeout- branch July 27, 2022 10:03
damiannolan added a commit that referenced this pull request Jul 27, 2022
* docs: msg types for fee middleware (#1572)

* fix broken link

* fix: rm AllowUpdateAfter... check (#1118)

* update code & test

* update proto and adr026

* update CHANGELOG

* update cli docs

* update broken milestone link

* updated docs

* update re: comments

* nits: adding inline comments

Co-authored-by: Sean King <sean@seking.dev>

* chore: adding module name to incentivized packet events (#1580)

* docs: adding events to fee middleware docs (#1578)

* adding fee distribution docs for relayer operators

* adding validation information and basic cli examples

* removing unnecessary whitespace

* updating definitions

* adding ics29 fee middleware events docs

* cleanup

Co-authored-by: Sean King <seantking@users.noreply.github.com>

* docs: adding End Users section to ics29 docs (#1579)

* docs: adding End Users section to ics29 docs

* Update docs/middleware/ics29-fee/end-users.md

Co-authored-by: Carlos Rodriguez <carlos@interchain.io>

* Update docs/middleware/ics29-fee/end-users.md

Co-authored-by: Carlos Rodriguez <carlos@interchain.io>

* Update docs/middleware/ics29-fee/end-users.md

Co-authored-by: Carlos Rodriguez <carlos@interchain.io>

* Update docs/middleware/ics29-fee/end-users.md

Co-authored-by: Carlos Rodriguez <carlos@interchain.io>

* Update docs/middleware/ics29-fee/end-users.md

Co-authored-by: Carlos Rodriguez <carlos@interchain.io>

* Update docs/middleware/ics29-fee/end-users.md

Co-authored-by: Carlos Rodriguez <carlos@interchain.io>

* Update docs/middleware/ics29-fee/end-users.md

Co-authored-by: Carlos Rodriguez <carlos@interchain.io>

* Update docs/middleware/ics29-fee/end-users.md

Co-authored-by: Carlos Rodriguez <carlos@interchain.io>

* Update docs/middleware/ics29-fee/end-users.md

Co-authored-by: Damian Nolan <damiannolan@gmail.com>

* chore: add link

Co-authored-by: Carlos Rodriguez <carlos@interchain.io>
Co-authored-by: Damian Nolan <damiannolan@gmail.com>

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

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

* refactor: only emit event if err is nil

* refactor: idiotmatic go:

* docs: nits (#1595)

* docs: document that version string can be empty as argument of RegisterInterchainAccount (#1582)

Co-authored-by: Carlos Rodriguez <crodveg@gmail.com>

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

* Consolidate usage of NewErrorAcknowledgement (#1565)

* docs: adding line about module accounts / invariants (#1597)

* docs: adding line about module accounts / invariants

* Update docs/middleware/ics29-fee/fee-distribution.md

Co-authored-by: Damian Nolan <damiannolan@gmail.com>

* Update docs/middleware/ics29-fee/fee-distribution.md

Co-authored-by: Damian Nolan <damiannolan@gmail.com>

Co-authored-by: Damian Nolan <damiannolan@gmail.com>

* follow up nits to #1565 (#1598)

* delete test files and add error to transfer types

* review comments

* build(deps): bump github.com/stretchr/testify from 1.7.5 to 1.8.0 (#1616)

Bumps [github.com/stretchr/testify](https://github.com/stretchr/testify) from 1.7.5 to 1.8.0.
- [Release notes](https://github.com/stretchr/testify/releases)
- [Commits](stretchr/testify@v1.7.5...v1.8.0)

---
updated-dependencies:
- dependency-name: github.com/stretchr/testify
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

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

* chore: bump go package version to v4 (#1564)

* chore: bump go package version to v4

* update go.mod

* fix alignment

* fix build

* review comments

* build fixes

* deps: bumping go version 1.18 (#1627)

* bumping go version 1.18

* updating broken workflow setup

* add backport to v4.0.x and remove backports to v1 (EoL) (#1629)

* delete unused 04-channel version functions (#1636)

* delete unused code and associated tests

* Update CHANGELOG.md

* build(deps): bump github.com/cosmos/cosmos-sdk from 0.45.5 to 0.45.6 (#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] <support@github.com>

* 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 <carlos@interchain.io>
Co-authored-by: Carlos Rodriguez <crodveg@gmail.com>

* update mergify.yml with new release branches (#1654)

* Script to dynamically generate list of e2e tests (E2E #1) (#1644)

* Add GitHub actions for e2e tests (E2E #2) (#1646)

* Remove crossings hello (#1317)

* remove crossing hellos from ChanOpenTry

* remove crossing hellos testcase

* revert single connectionHops check

* add comment in MsgChannelOpenTry tx proto about deprecate field

* Update proto/ibc/core/channel/v1/tx.proto

Co-authored-by: Aditya <adityasripal@gmail.com>

* minor fixes && UPDATE CHANGELOG.md

* Update proto/ibc/core/channel/v1/tx.proto

Co-authored-by: Carlos Rodriguez <carlos@interchain.io>

* Update proto/ibc/core/channel/v1/tx.proto

Co-authored-by: Damian Nolan <damiannolan@gmail.com>

* apply remaining changes for crossing hello removal

Deprecate previous channel id with proto tag
Remove unnecessary test cases from 04-channel
Remove crossing hello check in transfer application and the associated test case

* remove previous channel check in WriteChannelOpenTry

* regenerate proto files

* update documentation

* add migration documentation

* remove unnecessary doc

* remove crossing hello notion from ChanOpenAck

* apply review suggestions

Co-authored-by: Aditya <adityasripal@gmail.com>
Co-authored-by: Carlos Rodriguez <carlos@interchain.io>
Co-authored-by: Damian Nolan <damiannolan@gmail.com>
Co-authored-by: Jacob Gadikian <jacobgadikian@gmail.com>
Co-authored-by: Colin Axnér <25233464+colin-axner@users.noreply.github.com>

* docs: update roadmap (#1678)

* update roadmap

* update roadmap

* Update roadmap.md

Co-authored-by: Carlos Rodriguez <crodveg@gmail.com>

* refactor: remove crossing hellos from 03-connection (#1672)

* remove crossing hello check from ConnOpenTry and ConnOpenAck

* remove unnecessary test cases and fix build

* fix tests and add migration docs

* fix connection version check in conn open ack

* add changelog entry

* Update modules/core/03-connection/keeper/handshake.go

Co-authored-by: Aditya <adityasripal@gmail.com>

* remove unnecessary testing function

* improve migration documentation as per review suggestion

Co-authored-by: Aditya <adityasripal@gmail.com>

* (core/23-commitment/types) doc: fix typo (#1694)

* remove spurious `TestABCICodeDeterminism` tests (#1695)

## Description

Thanks @colin-axner for noticing this.

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

* update bug report issue template (#1693)

* fix codeowners for 02-client (#1696)

## Description

Thanks again @colin-axner for signaling this!

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

* build(deps): bump google.golang.org/grpc from 1.47.0 to 1.48.0 (#1699)

Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.47.0 to 1.48.0.
- [Release notes](https://github.com/grpc/grpc-go/releases)
- [Commits](grpc/grpc-go@v1.47.0...v1.48.0)

---
updated-dependencies:
- dependency-name: google.golang.org/grpc
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

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

* docs: update middleware documentation (#1639)

* docs: update middleware documentation

* remove old text and add func keyword

* alignment

* fix alignment

* Update develop.md

* review comments

* remove empty line

* docs: add links in middleware docs to fee middleware implementation (#1641)

* docs: add links in middleware docs to fee middleware implementation

* add extra line for better readability

* fix typos

* Adding github action to run goimports (#1673)

* Add E2ETestSuite Type (E2E #3) (#1650)

* Separate go mod for e2e (E2E #4) (#1701)

* put back module name in event (#1681)

* fix typo

* Extracting e2e tests into two separate workflows (#1719)

* add categories

* Add fee middleware test suite functions (E2E #5) (#1710)

* Build local image to run tests with make e2e-test (#1722)

* Remove leftover crossing hello tests in connection handshake (#1724)

* remove leftover crossing hello tests in connection handshake

* fix bug in tests

* chore: adding environment variable to specify go relayer image (#1727)

* Thomas/1584 update docs apps (#1675)

* restructure content according to outline, fix image and syntax highlighting, fix titles and prepare for content updates

* rewrite bind port section

* restructure applications doc into folder structure

* add keeper section, make some minor corrections in bind ports, custom packet and implmenent IBC module sections

* update ibcmodule interface to encorporate the simpliefied handshake callbacks and version negotiation

* fix broken links

* fix remaining broken link

* fix some nits, correct for removal of crossing hellos and add some more explanation on portIDs

* update middleware docs to resolve merge confilicts

* update fee mw docs, add formating, fix typos, increase readability (#1665)

* update fee mw docs, add formating, fix typos, increase readability

* fix broken link

* Apply suggestions from code review

(De)capitalize headings and references to headings for consistency

Co-authored-by: Carlos Rodriguez <carlos@interchain.io>

* resolving merge conflict

* split the CLI commands and small typo correction

Co-authored-by: Carlos Rodriguez <carlos@interchain.io>

* chore: remove @fedekunze from CODEOWNERS (#1733)

* Test for AsyncSingleSender (E2E #6) (#1682)

* fix: running e2e-fork for dependabot PRs (#1745)

* Adding manual triggering of e2e via workflow dispatch (#1749)

* chore: denom traces migration handler (#1680)

* update code & test

* register migrator service

* add changelog entry for #1680

* add issue templates for epics and releases (#1702)

* add issue templates for epics and releases

* remove text

Co-authored-by: Carlos Rodriguez <crodveg@gmail.com>

* fix typo

* fix typo

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

* initial commit

* format imports

* update docs

* update CHANGELOG

* update upgrade dev docs

* update re: pr comments

* E2E Test: TestMsgPayPacketFeeSingleSender (#1756)

* move entry to right place

* build(deps): bump docker/build-push-action from 3.0.0 to 3.1.0 (#1743)

Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 3.0.0 to 3.1.0.
- [Release notes](https://github.com/docker/build-push-action/releases)
- [Commits](docker/build-push-action@e551b19...1cb9d22)

---
updated-dependencies:
- dependency-name: docker/build-push-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

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

* chore: Update makefile (#1770)

* remove unused tools, remove incorrect import formatting

* uncomment command in makefile

* add version matrix (#1767)

* add pseudocode to handle empty version string in OnChanOpenInit

* fix broken link (#1776)

* add item to update the version matrix after a release (#1775)

* E2E Test: TestMsgPayPacketFeeSingleSenderTimesOut (#1751)

* Move scripts from .github directory into cmd (#1787)

Co-authored-by: Charly <charly@interchain.berlin>
Co-authored-by: Sean King <sean@seking.dev>
Co-authored-by: Sean King <seantking@users.noreply.github.com>
Co-authored-by: Carlos Rodriguez <carlos@interchain.io>
Co-authored-by: Carlos Rodriguez <crodveg@gmail.com>
Co-authored-by: Cian Hatton <cian@interchain.io>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: vuong <56973102+vuong177@users.noreply.github.com>
Co-authored-by: Aditya <adityasripal@gmail.com>
Co-authored-by: Jacob Gadikian <jacobgadikian@gmail.com>
Co-authored-by: Colin Axnér <25233464+colin-axner@users.noreply.github.com>
Co-authored-by: rene <41963722+renaynay@users.noreply.github.com>
Co-authored-by: tmsdkeys <98807841+tmsdkeys@users.noreply.github.com>
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
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.

E2E: Fee middleware single sender timeout
3 participants