Closed mpoke closed 2 years ago
In the short term, there will be 3 different users of our app.go
example.
app.go
.I think it will be important have separate app.go
files for provider and consumer chains. This is because the functioning of the consumer chain depends on certain modules being disabled. Even if we fixed this somehow, we would still want separate app.go
s because the Hub will not want to pull in the consumer module and increase the attack surface.
For this to happen some changes will need to be made to the IBC-Go test suite to allow it to test two chains with separate app.go
s.
As I just discussed with @danwt I think the time has come for us to fork the IBC-Go test framework into it's own repo. Dealing with a test framework that needs frequent modifications but also is bundled with one of our core dependencies is a pain.
Alternately, we could just keep modifying the IBC-Go test framework in our forked IBC-Go repo, but I'm not sure that has a lot of benefits.
fork the IBC-Go test framework into it's own repo.
I think it's a good idea. The ultimate goal would be to have a general tool for testing ibc apps across heterogeneous chains so the name could be something like 'ibc-tester'. It must be built for our needs first though, without premature generalization.
This issue is relevant for understanding current ibc-go testing limitations
From speaking with @jtremback we decided this has high priority. I will tackle this first.
This issue is quite related to
Two PRs solve the basics of this issue
Now there are two copies of the app.go that contains both provider and consumer logic so I should additionally strip the provider-only logic from the consumer and the consumer-only logic from the provider. That might fall better under either of
Additionally I need to make sure the docker integration tests work with the new apps
Hi @alexanderbez. We spoke on slack. Here's my understanding
The ultimate goal is to have two separate app's that people can use as a basis. The provider can be like gaia and the consumer should be minimal but with democracy and/or cosmwasm. As I understand democracy is needed to enable cosmwasm in practice. Ethernal are working on cosmwasm and they are having problems with conflicting sdk versions ect. There is some uncertainty about the best way to structure the repo(s) to make all this possible.
The PR https://github.com/cosmos/interchain-security/pull/84 doesn't do much. It simply splits the apps and updates the tests (in-memory and integration) to use two different apps.
Can we close this?
EndBlock
(see https://github.com/cosmos/interchain-security/issues/51#issuecomment-1125143988)