cosmos / interchain-security

Interchain Security is an open sourced IBC application which allows cosmos blockchains to lease their proof-of-stake security to one another.
https://cosmos.github.io/interchain-security/
Other
154 stars 122 forks source link

Create app.go for gov-enabled consumer chain #141

Closed mpoke closed 2 years ago

mpoke commented 2 years ago

This issue refers to the so called democracy package (see https://github.com/cosmos/interchain-security/issues/66 for details).

app/gov-consumer/app.go, should contain the modules necessary for the minimum viable consumer chain (see app/consumer/app.go) and in addition the modules necessary for the gov-enabled consumer chain:

okwme commented 2 years ago

@hxrts and I created a voting matrix with a first pass about which chain should be in charge of which votes. The bulk of this sheet is param changes which could be debated.

https://docs.google.com/spreadsheets/d/1s7IGkxIjvebFu0guC5iFC4gWaEOJLBWx2QQHik9WmYo/edit?usp=sharing

The primary proposal type that imo should be performed by ATOM token holders is the upgrade proposal. Our messaging is that ATOM validators don't need to worry about gov on these consumer chains because they have their own gov tokens. This is true except for factors that impact the validator directly. Upgrades need to be prepared and performed by validators so I think it's important they happen on the hub where validators are still meant to be active.

This would be possible by leveraging the adminmodule inside of the composer repo: https://github.com/cosmos/composer/tree/master/x/adminmodule If the Cosmos Hub gov module account were listed in the whitelist then the cosmos hub gov module could send out proposal + vote msgs using interchain accounts. That way it is voted on the hub and if it passes it is submitted to the consumer chain and immediately passed.

jtremback commented 2 years ago

The ultimate objective of this issue is to create a chain in the /app/gov-consumer folder which implements the "democracy suite". The "democracy suite" is collection of modifications to certain modules and app.go which allows several things to take place on a consumer chain:

There is already a lot of work that has been done:

Here are all the things that should be possible once this work has been completed and integrated:

Implement automated tests in the integration tests folder for these things.

jtremback commented 2 years ago

@smarshall-spitzbart We need to talk about you helping @dusan-ethernal @stana-ethernal to test this stuff in the integration tests.

jtremback commented 2 years ago

@stana-ethernal @dusan-ethernal Can this issue be closed now?

stana-miric commented 2 years ago

@jtremback it can be closed after we finish integration tests and clean up some logs in PR. We will let you know once we finish it