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

fix: remove race condition on start container retries #415

Conversation

colin-axner
Copy link
Contributor

@colin-axner colin-axner commented Mar 2, 2023

While investigating cosmos/ibc-go#2827 I came across an issue locally. If I created an interchain test with many validators/full nodes, I would get indeterminate errors on configuration startup. One issue was actually an address being returned twice in the standard output and then being reused for gentx, {address}\n{address} was the string being passed around. Another was the genesis file already existing (trying to execute simd init twice)

It became apparent to me that on a rare occasion, some of the config commands would get executed twice. With the help of @chatton, we determined it was likely the retry in StartContainer. I believe while a node was processing a request, the timeout would occur. Since this is a request being sent to a server, there's no way to ensure that request doesn't get executed. A retry with the same request would be sent and then I would see an error roughly saying that this tx already executed.

The proposed changes removes the retry entirely. I'm not sure what use it currently provides. I propose using the calling context's timeout value, if it does not exist, use a standard timeout (30 seconds in the current pr, fine with whatever, but should likely be a defined variable). The only scenario I think a retry could be useful is if the first request attempted is expected to fail and the second may succeed, but the current code doesn't seem to handler this case as the first error would be marked as unrecoverable. How likely is this? Should a defensive retry be used if the timeout hasn't been reached? Are there any common errors returned which warrant a retry? Like a connection being reset?

Is there any context I am missing on why the code is the way it is? Thanks for taking to review this, we would love to patch up these indeterminacy issues.

ref #402

@colin-axner colin-axner changed the title chore: remove race condition on start container retries fix: remove race condition on start container retries Mar 2, 2023
@colin-axner colin-axner marked this pull request as ready for review March 23, 2023 11:16
@colin-axner colin-axner requested a review from a team as a code owner March 23, 2023 11:16
@colin-axner colin-axner requested a review from agouin March 23, 2023 11:16
@colin-axner
Copy link
Contributor Author

Marking as r4r. The CI on ibc-go doesn't run into this issue which is why I haven't re-reviewed this until now, but I noticed this failure, which seems like it's very possible a command is being executed twice given the error:

found multiple connections on chain-a for client 07-tendermint-0

Copy link
Member

@agouin agouin left a comment

Choose a reason for hiding this comment

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

Thank you! I like the approach of the longer timeout and no retries to prevent potential double execution.

@agouin agouin merged commit b74ff72 into strangelove-ventures:main Mar 23, 2023
@colin-axner colin-axner deleted the colin/remove-timeout-retry-startcontainer branch March 27, 2023 11:00
aljo242 pushed a commit to aljo242/interchaintest that referenced this pull request Apr 10, 2023
…ntures#415)

* fix: increase retry to 15 seconds to avoid retrying a command exec

* chore: increase log tail, simplify start container logic

* chore: cleanup, revert change, add in-code comment

* chore: remove reference to retry
misko9 pushed a commit that referenced this pull request Apr 12, 2023
* Param proposals, balance inquiries, and IBC transfer error handling (#393)

* Extract file writing/copying logic to helpers

* Add ParamChangeProposal

* Update file naming for param change proposal

* Use Code to detect errors in IBC transfers

* Add AllBalances and ParamChangeProposal

* Add support for the Hermes relayer (#396)

* adding some scaffolding for hermes relayer

* chore: updating interface to accept create connection options type

* chore: wip

* wip: adding path map to hermes relayer type

* writing mnemonic file

* correctly reading toml config

* ibc test passing with hermes relayer

* learn ibc test passing with hermes relayer

* adding parse client and connection output

* adding hermes test cases

* remove unused types

* undid import change

* reverted import change

* reverted some unintentional changes

* fix linting error

* adding hermes to conformance matrix

* adding default value for matrix file for CI

* pass absolute value for matrix file

* removed extra part of path

* adding hermes to Labels function

* add capabilities for hermes

* temporarily strip down number of tests to verify hermes relayer

* fixing conformance tests

* fixing channel tests in TestRelayerSetup

* revert to go rly to test

* bump hermes version

* extract json response correctly

* extract json result from stdout

* correct channel parsing json stdout

* set field ClearOnStart to true

* switch back to go relayer as default

* add hermes to the default relayers list

* update penumbra chain spin-up (#409)

* Create .github/dependabot.yml

Start dependabot.

* Bump github.com/BurntSushi/toml from 1.2.0 to 1.2.1 (#432)

Bumps [github.com/BurntSushi/toml](https://github.com/BurntSushi/toml) from 1.2.0 to 1.2.1.
- [Release notes](https://github.com/BurntSushi/toml/releases)
- [Commits](BurntSushi/toml@v1.2.0...v1.2.1)

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

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

* Bump modernc.org/sqlite from 1.17.3 to 1.21.0 (#433)

---
updated-dependencies:
- dependency-name: modernc.org/sqlite
  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>

* Bump leonsteinhaeuser/project-beta-automations from 2.0.1 to 2.1.0 (#428)

Bumps [leonsteinhaeuser/project-beta-automations](https://github.com/leonsteinhaeuser/project-beta-automations) from 2.0.1 to 2.1.0.
- [Release notes](https://github.com/leonsteinhaeuser/project-beta-automations/releases)
- [Commits](leonsteinhaeuser/project-beta-automations@v2.0.1...v2.1.0)

---
updated-dependencies:
- dependency-name: leonsteinhaeuser/project-beta-automations
  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: Dan Kanefsky <56059752+boojamya@users.noreply.github.com>

* Bump golangci/golangci-lint-action from 2 to 3 (#429)

Bumps [golangci/golangci-lint-action](https://github.com/golangci/golangci-lint-action) from 2 to 3.
- [Release notes](https://github.com/golangci/golangci-lint-action/releases)
- [Commits](golangci/golangci-lint-action@v2...v3)

---
updated-dependencies:
- dependency-name: golangci/golangci-lint-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Dan Kanefsky <56059752+boojamya@users.noreply.github.com>

* Bump actions/checkout from 1 to 3 (#430)

Bumps [actions/checkout](https://github.com/actions/checkout) from 1 to 3.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](actions/checkout@v1...v3)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Dan Kanefsky <56059752+boojamya@users.noreply.github.com>

* Bump github.com/gdamore/tcell/v2 (#434)

Bumps [github.com/gdamore/tcell/v2](https://github.com/gdamore/tcell) from 2.4.1-0.20210905002822-f057f0a857a1 to 2.6.0.
- [Release notes](https://github.com/gdamore/tcell/releases)
- [Commits](https://github.com/gdamore/tcell/commits/v2.6.0)

---
updated-dependencies:
- dependency-name: github.com/gdamore/tcell/v2
  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: Dan Kanefsky <56059752+boojamya@users.noreply.github.com>

* Bump github.com/avast/retry-go/v4 from 4.0.4 to 4.3.3 (#437)

Bumps [github.com/avast/retry-go/v4](https://github.com/avast/retry-go) from 4.0.4 to 4.3.3.
- [Release notes](https://github.com/avast/retry-go/releases)
- [Commits](avast/retry-go@4.0.4...4.3.3)

---
updated-dependencies:
- dependency-name: github.com/avast/retry-go/v4
  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>

* Bump github.com/stretchr/testify from 1.8.1 to 1.8.2 (#436)

Bumps [github.com/stretchr/testify](https://github.com/stretchr/testify) from 1.8.1 to 1.8.2.
- [Release notes](https://github.com/stretchr/testify/releases)
- [Commits](stretchr/testify@v1.8.1...v1.8.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Andrew Gouin <andrew@gouin.io>

* Bump go.uber.org/zap from 1.21.0 to 1.24.0 (#439)

Bumps [go.uber.org/zap](https://github.com/uber-go/zap) from 1.21.0 to 1.24.0.
- [Release notes](https://github.com/uber-go/zap/releases)
- [Changelog](https://github.com/uber-go/zap/blob/master/CHANGELOG.md)
- [Commits](uber-go/zap@v1.21.0...v1.24.0)

---
updated-dependencies:
- dependency-name: go.uber.org/zap
  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: Dan Kanefsky <56059752+boojamya@users.noreply.github.com>

* Cosmos SDK v0.47 (#359)

* chore: update to 0.47

* bump go

* updates

* updates

* feedback

* Fix BroadcastSync for cosmos broadcaster (#360)

* Fix BroadcastSync for cosmos broadcaster

* Fixing docstring

* public grpc, register tmlightclient codecs as no longer by default, attempt base64 decode on key if string value doesn't match for backwards compatibility

Add test for IBC with chains pre/post SDK 47 upgrade

* Bump ibc-go to latest commit

* deps: upgrade to ibc-go/v7 and bump ibctest go mod (#372)

* bumping ibc-go to v7 branch

* bumping ibctest go mod to v7

* chore: align User interface with CosmosWallet and fix issue with broadcast mode sync (#388)

* chore: v0.47 branch merge and bumps (#406)

* Param proposals, balance inquiries, and IBC transfer error handling (#393)

* Extract file writing/copying logic to helpers

* Add ParamChangeProposal

* Update file naming for param change proposal

* Use Code to detect errors in IBC transfers

* Add AllBalances and ParamChangeProposal

* Add support for the Hermes relayer (#396)

* adding some scaffolding for hermes relayer

* chore: updating interface to accept create connection options type

* chore: wip

* wip: adding path map to hermes relayer type

* writing mnemonic file

* correctly reading toml config

* ibc test passing with hermes relayer

* learn ibc test passing with hermes relayer

* adding parse client and connection output

* adding hermes test cases

* remove unused types

* undid import change

* reverted import change

* reverted some unintentional changes

* fix linting error

* adding hermes to conformance matrix

* adding default value for matrix file for CI

* pass absolute value for matrix file

* removed extra part of path

* adding hermes to Labels function

* add capabilities for hermes

* temporarily strip down number of tests to verify hermes relayer

* fixing conformance tests

* fixing channel tests in TestRelayerSetup

* revert to go rly to test

* bump hermes version

* extract json response correctly

* extract json result from stdout

* correct channel parsing json stdout

* set field ClearOnStart to true

* switch back to go relayer as default

* add hermes to the default relayers list

* Update version of ibc-go from v6 to v7 from merge

* Bump sdk and ibc-go

---------

Co-authored-by: bigs <bigswim@gmail.com>
Co-authored-by: Cian Hatton <cianhatton@gmail.com>

* deps: bump SDK to v0.47-rc3 (#414)

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

* Consolidate flush command into single command (#417)

* Consolidate flush command into single command

* Updates for hermes

* Bump to rly default with consolidated flush

* Flush with channelID since hermes requires it

* feat: add ReadFile method for reading files from docker fs (#423)

Expose a ReadFile method on ChainNode so that you can read files from the docker filesystem within test cases that exist in downstream repos.

---------

Co-authored-by: Justin Tieri <37750742+jtieri@users.noreply.github.com>

* Add support for genesis sub commands (#384)

* Add support for genesis sub commands

* Remove logging and add some basic documentation for UsingNewGenesisCommand

* Remove UsingNewGenesisCommand from chainspec + add test

---------

Co-authored-by: Julien Robert <julien@rbrt.fr>
Co-authored-by: Cian Hatton <cianhatton@gmail.com>
Co-authored-by: Damian Nolan <damiannolan@gmail.com>
Co-authored-by: Gjermund Garaba <gjermund@garaba.net>
Co-authored-by: bigs <bigswim@gmail.com>
Co-authored-by: Carlos Rodriguez <carlos@interchain.io>
Co-authored-by: Carlos Rodriguez <crodveg@gmail.com>
Co-authored-by: Justin Tieri <37750742+jtieri@users.noreply.github.com>

* Add image repo to upgradeVersion (#445)

* add image reop to upgradeVersion

* container repo

* juno container repo

* fix order

* capitalization

* generate explicit port bindings (#444)

* generate explicit port bindings

* Prevent race to open ports between closing tmp listeners and starting containers

* Bump github.com/cosmos/ibc-go/v7 from 7.0.0-rc1 to 7.0.0 (#451)

Bumps [github.com/cosmos/ibc-go/v7](https://github.com/cosmos/ibc-go) from 7.0.0-rc1 to 7.0.0.
- [Release notes](https://github.com/cosmos/ibc-go/releases)
- [Changelog](https://github.com/cosmos/ibc-go/blob/main/CHANGELOG.md)
- [Commits](cosmos/ibc-go@v7.0.0-rc1...v7.0.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Andrew Gouin <andrew@gouin.io>

* Bump golang.org/x/tools from 0.6.0 to 0.7.0 (#449)

Bumps [golang.org/x/tools](https://github.com/golang/tools) from 0.6.0 to 0.7.0.
- [Release notes](https://github.com/golang/tools/releases)
- [Commits](golang/tools@v0.6.0...v0.7.0)

---
updated-dependencies:
- dependency-name: golang.org/x/tools
  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: Andrew Gouin <andrew@gouin.io>

* fix: remove race condition on start container retries (#415)

* fix: increase retry to 15 seconds to avoid retrying a command exec

* chore: increase log tail, simplify start container logic

* chore: cleanup, revert change, add in-code comment

* chore: remove reference to retry

* Bump github.com/libp2p/go-libp2p-core from 0.15.1 to 0.20.1 (#440)

Bumps [github.com/libp2p/go-libp2p-core](https://github.com/libp2p/go-libp2p-core) from 0.15.1 to 0.20.1.
- [Release notes](https://github.com/libp2p/go-libp2p-core/releases)
- [Commits](libp2p/go-libp2p-core@v0.15.1...v0.20.1)

---
updated-dependencies:
- dependency-name: github.com/libp2p/go-libp2p-core
  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: Andrew Gouin <andrew@gouin.io>

* consolidate create node container (#447)

* generate explicit port bindings

* Prevent race to open ports between closing tmp listeners and starting containers

* Consolidate create node container

* Use RWMutex

* initialize containerLifecycle for penumbra node

* Bump rly to v2.3.0-rc2

* Temporarily modify version

* Bump github.com/centrifuge/go-substrate-rpc-client/v4 (#438)

Bumps [github.com/centrifuge/go-substrate-rpc-client/v4](https://github.com/centrifuge/go-substrate-rpc-client) from 4.0.10 to 4.0.12.
- [Release notes](https://github.com/centrifuge/go-substrate-rpc-client/releases)
- [Commits](centrifuge/go-substrate-rpc-client@v4.0.10...v4.0.12)

---
updated-dependencies:
- dependency-name: github.com/centrifuge/go-substrate-rpc-client/v4
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Andrew Gouin <andrew@gouin.io>

* Bump actions/setup-go from 3 to 4 (#472)

Bumps [actions/setup-go](https://github.com/actions/setup-go) from 3 to 4.
- [Release notes](https://github.com/actions/setup-go/releases)
- [Commits](actions/setup-go@v3...v4)

---
updated-dependencies:
- dependency-name: actions/setup-go
  dependency-type: direct:production
  update-type: version-update:semver-major
...

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

* Migrate docker relayer to ContainerLifecycle (#466)

* Bump default rly version to v2.3.0-rc4

* update docker relayer to use ContainerLifecycle

* Add nil check

* Make ICA waits more explicit (#471)

* Make ICA waits more explicit

* Poll for channel close

* Bump modernc.org/sqlite from 1.21.0 to 1.21.1 (#473)

Bumps [modernc.org/sqlite](https://gitlab.com/cznic/sqlite) from 1.21.0 to 1.21.1.
- [Release notes](https://gitlab.com/cznic/sqlite/tags)
- [Commits](https://gitlab.com/cznic/sqlite/compare/v1.21.0...v1.21.1)

---
updated-dependencies:
- dependency-name: modernc.org/sqlite
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Andrew Gouin <andrew@gouin.io>

* Bump google.golang.org/grpc from 1.53.0 to 1.54.0 (#463)

Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.53.0 to 1.54.0.
- [Release notes](https://github.com/grpc/grpc-go/releases)
- [Commits](grpc/grpc-go@v1.53.0...v1.54.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>
Co-authored-by: Andrew Gouin <andrew@gouin.io>

* Bump github.com/cosmos/cosmos-sdk from 0.47.0 to 0.47.1 (#462)

Bumps [github.com/cosmos/cosmos-sdk](https://github.com/cosmos/cosmos-sdk) from 0.47.0 to 0.47.1.
- [Release notes](https://github.com/cosmos/cosmos-sdk/releases)
- [Changelog](https://github.com/cosmos/cosmos-sdk/blob/v0.47.1/CHANGELOG.md)
- [Commits](cosmos/cosmos-sdk@v0.47.0...v0.47.1)

---
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>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Andrew Gouin <andrew@gouin.io>

* Bump github.com/99designs/keyring from 1.2.1 to 1.2.2 (#450)

Bumps [github.com/99designs/keyring](https://github.com/99designs/keyring) from 1.2.1 to 1.2.2.
- [Release notes](https://github.com/99designs/keyring/releases)
- [Commits](99designs/keyring@v1.2.1...v1.2.2)

---
updated-dependencies:
- dependency-name: github.com/99designs/keyring
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Andrew Gouin <andrew@gouin.io>
Co-authored-by: Dan Kanefsky <56059752+boojamya@users.noreply.github.com>

* Update `ExportState`  (#475)

* update exportstate

* add space

* concatenate stdout and stderr

* use ChainConfig in RestoreKey relayer

* fix mini bug

* fix lint

* use cmd create node same main

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: bigs <bigswim@gmail.com>
Co-authored-by: Cian Hatton <cianhatton@gmail.com>
Co-authored-by: Dan Kanefsky <56059752+boojamya@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Andrew Gouin <andrew@gouin.io>
Co-authored-by: Julien Robert <julien@rbrt.fr>
Co-authored-by: Damian Nolan <damiannolan@gmail.com>
Co-authored-by: Gjermund Garaba <gjermund@garaba.net>
Co-authored-by: Carlos Rodriguez <carlos@interchain.io>
Co-authored-by: Carlos Rodriguez <crodveg@gmail.com>
Co-authored-by: Justin Tieri <37750742+jtieri@users.noreply.github.com>
Co-authored-by: colin axnér <25233464+colin-axner@users.noreply.github.com>
Co-authored-by: Nguyen Thanh Nhan <thanhnhan98qh@gmail.com>
misko9 added a commit that referenced this pull request Apr 18, 2023
* chore: update to 0.47

* bump go

* updates

* updates

* feedback

* Fix BroadcastSync for cosmos broadcaster (#360)

* Fix BroadcastSync for cosmos broadcaster

* Fixing docstring

* public grpc, register tmlightclient codecs as no longer by default, attempt base64 decode on key if string value doesn't match for backwards compatibility

Add test for IBC with chains pre/post SDK 47 upgrade

* Bump ibc-go to latest commit

* deps: upgrade to ibc-go/v7 and bump ibctest go mod (#372)

* bumping ibc-go to v7 branch

* bumping ibctest go mod to v7

* Initial commit for hyperspace relayer

* Add support for creating the core config and modifying chain configs.

* Move hyperspace to its own package

* Populate hyperspace's cosmos config with key information, i.e. KeyEntry

* Add wasm code id and wasm client type to cosmos chain config

* chore: align User interface with CosmosWallet and fix issue with broadcast mode sync (#388)

* Hyperspace create-client is populating client-ids in chain configs.
Reverted to using preset keys for both parachain and cosmos. Added
08-wasm types for codec registry.

* Add CreateConnections, GetClients, and ParseGetClientsOuput.
CreateConnection only commits MsgConnectionOpenInit.
Removes wasm_client_type and counterparty_wasm_code_id from chain
configs.
Increases max rpc body size for a larger contract.
Subs out FindTxs for polkadot chains to not impact cosmos chains block
db functions.

* Temporarily force simd for chain A and rococo-local for chain B

* Create connection working in hyperspace/interchaintest

* Add create channel and get connections. Create channels works.

* Reduce session length to 20 blocks again. Debugging starting the
relayer. And using ibc-go-simd from heighliner.

* Start hyperspace relayer

* IBC transfers working in both directions

* Poll for cosmos chain balance to reduce test time

* Use interchaintest generated relayer wallet in hyperspace's cosmos chain
config.

* add query channels (#397)

* add query channels

* code cleanup from PR commments

* fix channel and portID fork polkadot mint

* Add test for requiring governance on PushNewWasmCode msg

* Fix denom trace param

* Add submitting a proposal for a new wasm contract. Clean up the test
case.

* Bump to ibc-go v7, cosmos-sdk v0.47, polkadot v0.9.36, update parachains
mint funds & send ibc tx msgs

* Refactor hyperspace into more manageable files

* Add GeneratePath() to hyperspace relayer and move hyperspace-specific
relayer functions out of DockerRelayer

* Add LinkPath to hyperspace relayer interface

* Override cosmos chain block time in test

* Scale polkadot/parachain additional wallets by a factor of 1mil relative
to default

* Update test framework with latest changes from ibc-go, hyperspace,
grandpa contract, and parachain.

* Update to gzip the wasm contract and reduce gas wanted now that gas
consumption is better.

* Update codecs, update hyperspace/parachain commits to use, and remove
enabling ib send/receive on parachain. The parachain now defaults to
being enabled for send/receives.

* Merge branch 'main' into feat/hyperspace (#492)

* Param proposals, balance inquiries, and IBC transfer error handling (#393)

* Extract file writing/copying logic to helpers

* Add ParamChangeProposal

* Update file naming for param change proposal

* Use Code to detect errors in IBC transfers

* Add AllBalances and ParamChangeProposal

* Add support for the Hermes relayer (#396)

* adding some scaffolding for hermes relayer

* chore: updating interface to accept create connection options type

* chore: wip

* wip: adding path map to hermes relayer type

* writing mnemonic file

* correctly reading toml config

* ibc test passing with hermes relayer

* learn ibc test passing with hermes relayer

* adding parse client and connection output

* adding hermes test cases

* remove unused types

* undid import change

* reverted import change

* reverted some unintentional changes

* fix linting error

* adding hermes to conformance matrix

* adding default value for matrix file for CI

* pass absolute value for matrix file

* removed extra part of path

* adding hermes to Labels function

* add capabilities for hermes

* temporarily strip down number of tests to verify hermes relayer

* fixing conformance tests

* fixing channel tests in TestRelayerSetup

* revert to go rly to test

* bump hermes version

* extract json response correctly

* extract json result from stdout

* correct channel parsing json stdout

* set field ClearOnStart to true

* switch back to go relayer as default

* add hermes to the default relayers list

* update penumbra chain spin-up (#409)

* Create .github/dependabot.yml

Start dependabot.

* Bump github.com/BurntSushi/toml from 1.2.0 to 1.2.1 (#432)

Bumps [github.com/BurntSushi/toml](https://github.com/BurntSushi/toml) from 1.2.0 to 1.2.1.
- [Release notes](https://github.com/BurntSushi/toml/releases)
- [Commits](BurntSushi/toml@v1.2.0...v1.2.1)

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

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

* Bump modernc.org/sqlite from 1.17.3 to 1.21.0 (#433)

---
updated-dependencies:
- dependency-name: modernc.org/sqlite
  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>

* Bump leonsteinhaeuser/project-beta-automations from 2.0.1 to 2.1.0 (#428)

Bumps [leonsteinhaeuser/project-beta-automations](https://github.com/leonsteinhaeuser/project-beta-automations) from 2.0.1 to 2.1.0.
- [Release notes](https://github.com/leonsteinhaeuser/project-beta-automations/releases)
- [Commits](leonsteinhaeuser/project-beta-automations@v2.0.1...v2.1.0)

---
updated-dependencies:
- dependency-name: leonsteinhaeuser/project-beta-automations
  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: Dan Kanefsky <56059752+boojamya@users.noreply.github.com>

* Bump golangci/golangci-lint-action from 2 to 3 (#429)

Bumps [golangci/golangci-lint-action](https://github.com/golangci/golangci-lint-action) from 2 to 3.
- [Release notes](https://github.com/golangci/golangci-lint-action/releases)
- [Commits](golangci/golangci-lint-action@v2...v3)

---
updated-dependencies:
- dependency-name: golangci/golangci-lint-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Dan Kanefsky <56059752+boojamya@users.noreply.github.com>

* Bump actions/checkout from 1 to 3 (#430)

Bumps [actions/checkout](https://github.com/actions/checkout) from 1 to 3.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](actions/checkout@v1...v3)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Dan Kanefsky <56059752+boojamya@users.noreply.github.com>

* Bump github.com/gdamore/tcell/v2 (#434)

Bumps [github.com/gdamore/tcell/v2](https://github.com/gdamore/tcell) from 2.4.1-0.20210905002822-f057f0a857a1 to 2.6.0.
- [Release notes](https://github.com/gdamore/tcell/releases)
- [Commits](https://github.com/gdamore/tcell/commits/v2.6.0)

---
updated-dependencies:
- dependency-name: github.com/gdamore/tcell/v2
  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: Dan Kanefsky <56059752+boojamya@users.noreply.github.com>

* Bump github.com/avast/retry-go/v4 from 4.0.4 to 4.3.3 (#437)

Bumps [github.com/avast/retry-go/v4](https://github.com/avast/retry-go) from 4.0.4 to 4.3.3.
- [Release notes](https://github.com/avast/retry-go/releases)
- [Commits](avast/retry-go@4.0.4...4.3.3)

---
updated-dependencies:
- dependency-name: github.com/avast/retry-go/v4
  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>

* Bump github.com/stretchr/testify from 1.8.1 to 1.8.2 (#436)

Bumps [github.com/stretchr/testify](https://github.com/stretchr/testify) from 1.8.1 to 1.8.2.
- [Release notes](https://github.com/stretchr/testify/releases)
- [Commits](stretchr/testify@v1.8.1...v1.8.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Andrew Gouin <andrew@gouin.io>

* Bump go.uber.org/zap from 1.21.0 to 1.24.0 (#439)

Bumps [go.uber.org/zap](https://github.com/uber-go/zap) from 1.21.0 to 1.24.0.
- [Release notes](https://github.com/uber-go/zap/releases)
- [Changelog](https://github.com/uber-go/zap/blob/master/CHANGELOG.md)
- [Commits](uber-go/zap@v1.21.0...v1.24.0)

---
updated-dependencies:
- dependency-name: go.uber.org/zap
  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: Dan Kanefsky <56059752+boojamya@users.noreply.github.com>

* Cosmos SDK v0.47 (#359)

* chore: update to 0.47

* bump go

* updates

* updates

* feedback

* Fix BroadcastSync for cosmos broadcaster (#360)

* Fix BroadcastSync for cosmos broadcaster

* Fixing docstring

* public grpc, register tmlightclient codecs as no longer by default, attempt base64 decode on key if string value doesn't match for backwards compatibility

Add test for IBC with chains pre/post SDK 47 upgrade

* Bump ibc-go to latest commit

* deps: upgrade to ibc-go/v7 and bump ibctest go mod (#372)

* bumping ibc-go to v7 branch

* bumping ibctest go mod to v7

* chore: align User interface with CosmosWallet and fix issue with broadcast mode sync (#388)

* chore: v0.47 branch merge and bumps (#406)

* Param proposals, balance inquiries, and IBC transfer error handling (#393)

* Extract file writing/copying logic to helpers

* Add ParamChangeProposal

* Update file naming for param change proposal

* Use Code to detect errors in IBC transfers

* Add AllBalances and ParamChangeProposal

* Add support for the Hermes relayer (#396)

* adding some scaffolding for hermes relayer

* chore: updating interface to accept create connection options type

* chore: wip

* wip: adding path map to hermes relayer type

* writing mnemonic file

* correctly reading toml config

* ibc test passing with hermes relayer

* learn ibc test passing with hermes relayer

* adding parse client and connection output

* adding hermes test cases

* remove unused types

* undid import change

* reverted import change

* reverted some unintentional changes

* fix linting error

* adding hermes to conformance matrix

* adding default value for matrix file for CI

* pass absolute value for matrix file

* removed extra part of path

* adding hermes to Labels function

* add capabilities for hermes

* temporarily strip down number of tests to verify hermes relayer

* fixing conformance tests

* fixing channel tests in TestRelayerSetup

* revert to go rly to test

* bump hermes version

* extract json response correctly

* extract json result from stdout

* correct channel parsing json stdout

* set field ClearOnStart to true

* switch back to go relayer as default

* add hermes to the default relayers list

* Update version of ibc-go from v6 to v7 from merge

* Bump sdk and ibc-go

---------

Co-authored-by: bigs <bigswim@gmail.com>
Co-authored-by: Cian Hatton <cianhatton@gmail.com>

* deps: bump SDK to v0.47-rc3 (#414)

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

* Consolidate flush command into single command (#417)

* Consolidate flush command into single command

* Updates for hermes

* Bump to rly default with consolidated flush

* Flush with channelID since hermes requires it

* feat: add ReadFile method for reading files from docker fs (#423)

Expose a ReadFile method on ChainNode so that you can read files from the docker filesystem within test cases that exist in downstream repos.

---------

Co-authored-by: Justin Tieri <37750742+jtieri@users.noreply.github.com>

* Add support for genesis sub commands (#384)

* Add support for genesis sub commands

* Remove logging and add some basic documentation for UsingNewGenesisCommand

* Remove UsingNewGenesisCommand from chainspec + add test

---------

Co-authored-by: Julien Robert <julien@rbrt.fr>
Co-authored-by: Cian Hatton <cianhatton@gmail.com>
Co-authored-by: Damian Nolan <damiannolan@gmail.com>
Co-authored-by: Gjermund Garaba <gjermund@garaba.net>
Co-authored-by: bigs <bigswim@gmail.com>
Co-authored-by: Carlos Rodriguez <carlos@interchain.io>
Co-authored-by: Carlos Rodriguez <crodveg@gmail.com>
Co-authored-by: Justin Tieri <37750742+jtieri@users.noreply.github.com>

* Add image repo to upgradeVersion (#445)

* add image reop to upgradeVersion

* container repo

* juno container repo

* fix order

* capitalization

* generate explicit port bindings (#444)

* generate explicit port bindings

* Prevent race to open ports between closing tmp listeners and starting containers

* Bump github.com/cosmos/ibc-go/v7 from 7.0.0-rc1 to 7.0.0 (#451)

Bumps [github.com/cosmos/ibc-go/v7](https://github.com/cosmos/ibc-go) from 7.0.0-rc1 to 7.0.0.
- [Release notes](https://github.com/cosmos/ibc-go/releases)
- [Changelog](https://github.com/cosmos/ibc-go/blob/main/CHANGELOG.md)
- [Commits](cosmos/ibc-go@v7.0.0-rc1...v7.0.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Andrew Gouin <andrew@gouin.io>

* Bump golang.org/x/tools from 0.6.0 to 0.7.0 (#449)

Bumps [golang.org/x/tools](https://github.com/golang/tools) from 0.6.0 to 0.7.0.
- [Release notes](https://github.com/golang/tools/releases)
- [Commits](golang/tools@v0.6.0...v0.7.0)

---
updated-dependencies:
- dependency-name: golang.org/x/tools
  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: Andrew Gouin <andrew@gouin.io>

* fix: remove race condition on start container retries (#415)

* fix: increase retry to 15 seconds to avoid retrying a command exec

* chore: increase log tail, simplify start container logic

* chore: cleanup, revert change, add in-code comment

* chore: remove reference to retry

* Bump github.com/libp2p/go-libp2p-core from 0.15.1 to 0.20.1 (#440)

Bumps [github.com/libp2p/go-libp2p-core](https://github.com/libp2p/go-libp2p-core) from 0.15.1 to 0.20.1.
- [Release notes](https://github.com/libp2p/go-libp2p-core/releases)
- [Commits](libp2p/go-libp2p-core@v0.15.1...v0.20.1)

---
updated-dependencies:
- dependency-name: github.com/libp2p/go-libp2p-core
  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: Andrew Gouin <andrew@gouin.io>

* consolidate create node container (#447)

* generate explicit port bindings

* Prevent race to open ports between closing tmp listeners and starting containers

* Consolidate create node container

* Use RWMutex

* initialize containerLifecycle for penumbra node

* Bump rly to v2.3.0-rc2

* Temporarily modify version

* Bump github.com/centrifuge/go-substrate-rpc-client/v4 (#438)

Bumps [github.com/centrifuge/go-substrate-rpc-client/v4](https://github.com/centrifuge/go-substrate-rpc-client) from 4.0.10 to 4.0.12.
- [Release notes](https://github.com/centrifuge/go-substrate-rpc-client/releases)
- [Commits](centrifuge/go-substrate-rpc-client@v4.0.10...v4.0.12)

---
updated-dependencies:
- dependency-name: github.com/centrifuge/go-substrate-rpc-client/v4
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Andrew Gouin <andrew@gouin.io>

* Bump actions/setup-go from 3 to 4 (#472)

Bumps [actions/setup-go](https://github.com/actions/setup-go) from 3 to 4.
- [Release notes](https://github.com/actions/setup-go/releases)
- [Commits](actions/setup-go@v3...v4)

---
updated-dependencies:
- dependency-name: actions/setup-go
  dependency-type: direct:production
  update-type: version-update:semver-major
...

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

* Migrate docker relayer to ContainerLifecycle (#466)

* Bump default rly version to v2.3.0-rc4

* update docker relayer to use ContainerLifecycle

* Add nil check

* Make ICA waits more explicit (#471)

* Make ICA waits more explicit

* Poll for channel close

* Bump modernc.org/sqlite from 1.21.0 to 1.21.1 (#473)

Bumps [modernc.org/sqlite](https://gitlab.com/cznic/sqlite) from 1.21.0 to 1.21.1.
- [Release notes](https://gitlab.com/cznic/sqlite/tags)
- [Commits](https://gitlab.com/cznic/sqlite/compare/v1.21.0...v1.21.1)

---
updated-dependencies:
- dependency-name: modernc.org/sqlite
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Andrew Gouin <andrew@gouin.io>

* Bump google.golang.org/grpc from 1.53.0 to 1.54.0 (#463)

Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.53.0 to 1.54.0.
- [Release notes](https://github.com/grpc/grpc-go/releases)
- [Commits](grpc/grpc-go@v1.53.0...v1.54.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>
Co-authored-by: Andrew Gouin <andrew@gouin.io>

* Bump github.com/cosmos/cosmos-sdk from 0.47.0 to 0.47.1 (#462)

Bumps [github.com/cosmos/cosmos-sdk](https://github.com/cosmos/cosmos-sdk) from 0.47.0 to 0.47.1.
- [Release notes](https://github.com/cosmos/cosmos-sdk/releases)
- [Changelog](https://github.com/cosmos/cosmos-sdk/blob/v0.47.1/CHANGELOG.md)
- [Commits](cosmos/cosmos-sdk@v0.47.0...v0.47.1)

---
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>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Andrew Gouin <andrew@gouin.io>

* Bump github.com/99designs/keyring from 1.2.1 to 1.2.2 (#450)

Bumps [github.com/99designs/keyring](https://github.com/99designs/keyring) from 1.2.1 to 1.2.2.
- [Release notes](https://github.com/99designs/keyring/releases)
- [Commits](99designs/keyring@v1.2.1...v1.2.2)

---
updated-dependencies:
- dependency-name: github.com/99designs/keyring
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Andrew Gouin <andrew@gouin.io>
Co-authored-by: Dan Kanefsky <56059752+boojamya@users.noreply.github.com>

* Update `ExportState`  (#475)

* update exportstate

* add space

* concatenate stdout and stderr

* use ChainConfig in RestoreKey relayer

* fix mini bug

* fix lint

* use cmd create node same main

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: bigs <bigswim@gmail.com>
Co-authored-by: Cian Hatton <cianhatton@gmail.com>
Co-authored-by: Dan Kanefsky <56059752+boojamya@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Andrew Gouin <andrew@gouin.io>
Co-authored-by: Julien Robert <julien@rbrt.fr>
Co-authored-by: Damian Nolan <damiannolan@gmail.com>
Co-authored-by: Gjermund Garaba <gjermund@garaba.net>
Co-authored-by: Carlos Rodriguez <carlos@interchain.io>
Co-authored-by: Carlos Rodriguez <crodveg@gmail.com>
Co-authored-by: Justin Tieri <37750742+jtieri@users.noreply.github.com>
Co-authored-by: colin axnér <25233464+colin-axner@users.noreply.github.com>
Co-authored-by: Nguyen Thanh Nhan <thanhnhan98qh@gmail.com>

* Change the UidGid of polkadot node to match what is built into the
container.

* Fix polkadot keys unit tests

* Fix go.sum after merge from main

* style: go fmt

* Update parachain's query ibc balance to match it new api, re-enable
verifications of denom balances of our user accounts.

* Update cli for wasm light client and update the grandpa contract to
support the latest wasm light client interface to contracts.

* refactor how hyperspace commander parses get client and get connection
output. Fix get channels after the hyperspace cli was removed.

* Remove some prints and fix typo

* style: go fmt

* fix lint errors

* update go.mod

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: Julien Robert <julien@rbrt.fr>
Co-authored-by: Cian Hatton <cianhatton@gmail.com>
Co-authored-by: Andrew Gouin <andrew@gouin.io>
Co-authored-by: Damian Nolan <damiannolan@gmail.com>
Co-authored-by: Eduardo Díaz <edjroz@users.noreply.github.com>
Co-authored-by: ducnt131 <62016666+anhductn2001@users.noreply.github.com>
Co-authored-by: bigs <bigswim@gmail.com>
Co-authored-by: Dan Kanefsky <56059752+boojamya@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Gjermund Garaba <gjermund@garaba.net>
Co-authored-by: Carlos Rodriguez <carlos@interchain.io>
Co-authored-by: Carlos Rodriguez <crodveg@gmail.com>
Co-authored-by: Justin Tieri <37750742+jtieri@users.noreply.github.com>
Co-authored-by: colin axnér <25233464+colin-axner@users.noreply.github.com>
Co-authored-by: Nguyen Thanh Nhan <thanhnhan98qh@gmail.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.

2 participants