-
Notifications
You must be signed in to change notification settings - Fork 0
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
On-chain upgrade to consumer chain #1
base: main
Are you sure you want to change the base?
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Great work!
app/consumer-democracy/app.go
Outdated
@@ -436,7 +438,7 @@ func New( | |||
|
|||
// register slashing module StakingHooks to the consumer keeper | |||
app.ConsumerKeeper = *app.ConsumerKeeper.SetHooks(app.SlashingKeeper.Hooks()) | |||
consumerModule := ibcconsumer.NewAppModule(app.ConsumerKeeper) | |||
consumerModule := ibcconsumer.NewAppModule(app.ConsumerKeeper, app.StakingKeeper) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Seems good, just curious on the context why new arguments are needed in this file and app/consumer/app.go
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It is using staking keeper's previous validator set, to set voting power of the existing validators as zero. Probably, there should be a way to use previous validator set without staking keeper.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Got it, I'll need to refresh myself about how the democracy consumer app.go works, and how its staking keeper is used
appCodec.MustUnmarshalJSON(appState[ibcconsumertypes.ModuleName], &consumerGenesis) | ||
|
||
consumerGenesis.PreCCV = true | ||
app.ConsumerKeeper.InitGenesis(ctx, &consumerGenesis) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
How does this call to the consumer keeper's InitGenesis
interact with the existing system for calling every keeper's InitGenesis
? See InitChainer
in this file, and the sdk module manager's InitGenesis
method
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
InitGenesis is only called when it's doing hard fork or launching a new chain, on soft fork, to init, it should be on upgrade handler I believe.
// SovereignApp extends an ABCI application, but with most of its parameters exported. | ||
// They are exported for convenience in creating helper functions, as object | ||
// capabilities aren't needed for testing. | ||
type SovereignApp struct { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is this new struct used for testing? It could work to reference stride's existing sovereign app.go, but this works too 👍
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Existing sovereign app has lots of other modules and we had to make simplest version of sovereign chain for upgrade testing.
consumer/start_consumer.sh
Outdated
#!/bin/bash | ||
set -eux | ||
|
||
SOVEREIGN_HOME="$HOME/.sovereign" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Great stuff! This file is not auto generated right?
Also, did you base this file off existing setup shell scripts such as tests/integration/testnet-scripts
?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's built in custom, didn't have chance to check testnet-scripts directory.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The scripts on testnet-scripts directory has a lot of difference with the newly built script and I think base fines on testnet-scripts would be hard to use for now.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It should be fine to leave these shell files as-is. However, it would be great to have these tests run as a part of the CI/CD process in a docker container. We already have such a system in the /tests/integration
directory.
I'd suggest taking a look at that directory and seeing if you could tie in these tests into what we define as integration tests, or at least pattern matching some of the automation we've setup there
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
One of my concern is that the block heights and etc could be a bit of different per machine. This was working fine on my machine FYI.
consumer/README.md
Outdated
@@ -0,0 +1,64 @@ | |||
## How to run consumer chain |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Who is the target audience for this readme and the included shell scripts? Considering this repo only has example binaries and won't be used in production. Is this info for testing the sovereign->consumer transition in a testnet?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is for local testing of sovereign to consumer transition for chain developers.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sounds good, these files should probably be moved to a directory like tests
then, to make it clear this is all for local testing
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Okay will move this to tests directory
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Moved to tests/sovereign_consumer_upgrade_local
func (k Keeper) GetInitialValSet(ctx sdk.Context) []tmtypes.ValidatorUpdate { | ||
store := ctx.KVStore(k.storeKey) | ||
initialValSet := types.GenesisState{} | ||
bz := store.Get(types.PreCCVKey()) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Initial valset should be stored under its own key/value imo, unless I'm missing some context on why this is needed
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Initial validator set was stored on preCCV key, since both are pretty much connected each other and it's one time use.
x/ccv/consumer/module.go
Outdated
@@ -92,16 +93,22 @@ func (AppModuleBasic) GetQueryCmd() *cobra.Command { | |||
return cli.NewQueryCmd() | |||
} | |||
|
|||
type StakingKeeper interface { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do we need a new staking keeper interface? Or could you make use of existing ones from x/ccv/types/expected_keepers.go
or testutil/e2e/interfaces.go
,
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Will need to check
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Existing one is to be used on provider side, and this one is for consumer side and I think it would be better to not merge two into one. And the required function for StakingKeeper is different from ones from x/ccv/types/expected_keepers.go
or testutil/e2e/interfaces.go
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good point, I agree that it's useful to have two separate interfaces for what the consumer and provider expect as the staking keeper. This interface should exist in the same file as the provider's interface tho, ie. x/ccv/types/expected_keepers.go
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Okay
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's put as x/ccv/types.DemocracyStakingKeeper
x/ccv/consumer/module.go
Outdated
} | ||
|
||
// NewAppModule creates a new consumer module | ||
func NewAppModule(k keeper.Keeper) AppModule { | ||
func NewAppModule(k keeper.Keeper, sk StakingKeeper) AppModule { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Doesn't the consumer keeper act as the staking keeper? An explanation to why we pass in a staking keeper here would be nice
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
staking keeper is used to get existing validators on sovereign staking, to remove voting power.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Imo it would be more understandable to make a new file, x/ccv/democracy/module.go
which defines a different NewAppModule
constructor which accepts a staking keeper. Then we wouldn't have to pass in nil for the normal consumer:
interchain-security/app/consumer/app.go
Line 348 in 67aa39b
consumerModule := ibcconsumer.NewAppModule(app.ConsumerKeeper, nil) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In general, I'm not the most familiar with the differences between consumer and democracy consumer, see cosmos#680, so maybe my comments here are not relevant
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Consumer is for the chain that directly launch consumer chain from genesis, and democracy consumer is for the chain upgrading to consumer chain from sovereign I think.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Imo it would be more understandable to make a new file,
x/ccv/democracy/module.go
which defines a differentNewAppModule
constructor which accepts a staking keeper. Then we wouldn't have to pass in nil for the normal consumer:
This would require adding lots of duplicated code probably.
@@ -173,6 +181,27 @@ func (am AppModule) BeginBlock(ctx sdk.Context, req abci.RequestBeginBlock) { | |||
// EndBlock implements the AppModule interface | |||
// Flush PendingChanges to ABCI, send pending packets, write acknowledgements for packets that have finished unbonding. | |||
func (am AppModule) EndBlock(ctx sdk.Context, req abci.RequestEndBlock) []abci.ValidatorUpdate { | |||
if am.keeper.IsPreCCV(ctx) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We should have some unit tests or e2e tests validating this behavior
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Okay
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Unit tests written
} | ||
|
||
// NewAppModule creates a new AppModule object using the native x/staking module | ||
// AppModule constructor. | ||
func NewAppModule(cdc codec.Codec, keeper keeper.Keeper, ak types.AccountKeeper, bk types.BankKeeper) AppModule { | ||
func NewAppModule(cdc codec.Codec, keeper keeper.Keeper, ak types.AccountKeeper, bk types.BankKeeper, ck ConsumerKeeper) AppModule { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Same question as above on why consumer keeper is now passed through constructor
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In case of hard fork from consumer with democracy staking chain, we should check if it's preCCV or not and preCCV state is only stored on consumer keeper, therefore, I think it will be needed to keep the dependency of consumer keeper.
@@ -334,6 +334,7 @@ func New( | |||
&app.IBCKeeper.PortKeeper, | |||
app.IBCKeeper.ConnectionKeeper, | |||
app.IBCKeeper.ClientKeeper, | |||
nil, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Could we pass in staking keeper here in case we'd ever want to test this upgrade with a normal consumer? Maybe I just need more clarity on how this PR affects (or shouldn't affect) the normal consumer, and the democracy consumer
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Staking keeper will only be used for democracy one, but could pass consumer keeper here since consumer keeper implement the interface of staking keeper. On consumer app, there's no staking keeper FYI.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The reason for not passing anything here is to show that it's not democracy app
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
For all the uses of stakingKeeper, it has checker for stakingKeeper == nil
check FYI
consumer/start_consumer2.sh
Outdated
@@ -0,0 +1,313 @@ | |||
#!/bin/bash |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do you intend to merge these shell scripts into the repo?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This one could be removed - consumer2 was for hermes 1.12.0 - and consumer.sh is for hermes 0.15.0
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think these scripts would be helpful for setting up local environment for future development of ICS.
x/ccv/consumer/keeper/validators.go
Outdated
@@ -60,31 +60,73 @@ func (k Keeper) ApplyCCValidatorChanges(ctx sdk.Context, changes []abci.Validato | |||
// IterateValidators - unimplemented on CCV keeper but perform a no-op in order to pass the slashing module InitGenesis. | |||
// It is allowed since the condition verifying validator public keys in HandleValidatorSignature (x/slashing/keeper/infractions.go) is removed | |||
// therefore it isn't required to store any validator public keys to the slashing states during genesis. | |||
func (k Keeper) IterateValidators(sdk.Context, func(index int64, validator stakingtypes.ValidatorI) (stop bool)) { | |||
func (k Keeper) IterateValidators(ctx sdk.Context, f func(index int64, validator stakingtypes.ValidatorI) (stop bool)) { | |||
lastSovereignHeight := k.LastSovereignHeight(ctx) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Could you add a comment here explaining the cases that k.stakingKeeper.IterateValidators(ctx, f)
should be called
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sure
x/ccv/consumer/keeper/validators.go
Outdated
} | ||
|
||
// Validator - unimplemented on CCV keeper | ||
func (k Keeper) Validator(ctx sdk.Context, addr sdk.ValAddress) stakingtypes.ValidatorI { | ||
lastSovereignHeight := k.LastSovereignHeight(ctx) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Comments/explanation here would be useful as well
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sure
} | ||
|
||
return k.stakingKeeper.IsValidatorJailed(ctx, addr) | ||
} | ||
return k.OutstandingDowntime(ctx, addr) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
When should control flow reach this return statement? Wont lastSovereignHeight
be 0
if it's not set?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In case block height is after last sovereign height as well as preCCV state is removed.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LastSovereign height is set when genesis validator set is returned.
x/ccv/consumer/keeper/validators.go
Outdated
@@ -97,18 +139,54 @@ func (k Keeper) Slash(ctx sdk.Context, addr sdk.ConsAddress, infractionHeight, p | |||
} | |||
|
|||
// Jail - unimplemented on CCV keeper |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We'll need to remove // Jail - unimplemented on CCV keeper
, these methods are now implemented
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Okay
…o jstr/onchain_upgrade_to_consumer_chain_840
…merge conflict fix issue
Co-authored-by: yaruwangway <[email protected]>
if infraction == stakingtypes.InfractionEmpty { | ||
return | ||
} | ||
|
||
if k.IsPreCCV(ctx) || ctx.BlockHeight() <= k.LastSovereignHeight(ctx) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Will need to be updated to infractionHeight
@@ -89,16 +108,32 @@ func (k Keeper) ValidatorByConsAddr(sdk.Context, sdk.ConsAddress) stakingtypes.V | |||
Also, the slashing module will cal lthis function when it observes downtime. In that case | |||
the only requirement on the returned value is that it isn't null. | |||
*/ | |||
if k.IsPreCCV(ctx) || ctx.BlockHeight() <= k.LastSovereignHeight(ctx) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Probably, this check is not needed and could return directly
* Merge main into feat/upgrade-ics-sdk47-ibc7 (#955) * build(deps): bump gaurav-nelson/github-action-markdown-link-check from 1.0.13 to 1.0.15 (#928) build(deps): bump gaurav-nelson/github-action-markdown-link-check Bumps [gaurav-nelson/github-action-markdown-link-check](https://github.com/gaurav-nelson/github-action-markdown-link-check) from 1.0.13 to 1.0.15. - [Release notes](https://github.com/gaurav-nelson/github-action-markdown-link-check/releases) - [Commits](https://github.com/gaurav-nelson/github-action-markdown-link-check/compare/1.0.13...1.0.15) --- updated-dependencies: - dependency-name: gaurav-nelson/github-action-markdown-link-check dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore: bump hermes (#921) * bump the version of hermes used in docs and images * use the multiplatform ghcr.io build of hermes --------- Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Jacob Gadikian <[email protected]> * feat!: upgrade ics to ibc-go/v7 and cosmos-sdk/v0.47 (#918) * change ibc module paths * Squashed commit of the following: commit ece7bc92a0b388fde32efc39358e3a096949457a Merge: 8763d99c ead0d214 Author: Jacob Gadikian <[email protected]> Date: Fri Apr 21 16:26:55 2023 +0700 Merge remote-tracking branch 'filter/new_branch_sdk47' into new-new-new-sdk47 commit ead0d21487858fef5e30ddbaf7cedb47b41d7296 Author: Jacob Gadikian <[email protected]> Date: Thu Apr 20 14:22:26 2023 +0700 remove proto files completely commit 79f565a4d51c08a961e48450be108f6a08ee7a23 Author: Jacob Gadikian <[email protected]> Date: Thu Apr 20 14:16:49 2023 +0700 make protos match exactly commit c4c856c049c4a718ebf063df279a613d5db56819 Author: Jacob Gadikian <[email protected]> Date: Thu Apr 20 14:14:51 2023 +0700 make protos match the v7.0.x branch exactly commit af812332d52cb972204490e89e1e3d75bb626141 Author: Jacob Gadikian <[email protected]> Date: Thu Apr 20 14:11:31 2023 +0700 remove even more proto code commit 97e7021559eaa10a3a8020df5b930f688c7a3ecd Author: Jacob Gadikian <[email protected]> Date: Thu Apr 20 13:56:33 2023 +0700 remove unneeded proto deps and build with many fewer commit ddb6218eccad467013b7c585a70bac2eb039d017 Author: Jacob Gadikian <[email protected]> Date: Thu Apr 20 12:25:46 2023 +0700 update proto build image commit 19fc8a0da6ddd86bb295d413e8ae4928b33f4f0c Author: Ruslan Akhtariev <[email protected]> Date: Thu Apr 20 11:35:55 2023 +0800 Revert "remove code from third party -> add deps directly to buf.yml" This reverts commit a53d890f831a20060da57877f19ec769d6a506f6. commit a53d890f831a20060da57877f19ec769d6a506f6 Author: Ruslan Akhtariev <[email protected]> Date: Thu Apr 20 11:34:07 2023 +0800 remove code from third party -> add deps directly to buf.yml commit 88d79f88b8724754ca4a4a6a21f41a6c2d370d51 Merge: b672630b d0ee1ee6 Author: Jacob Gadikian <[email protected]> Date: Wed Apr 19 23:13:10 2023 +0800 Merge branch 'main' into new_branch_sdk47 commit d0ee1ee66b2eb69c039402f5d3e34a2e2a01a51a Author: Thomas Bruyelle <[email protected]> Date: Wed Apr 19 16:55:22 2023 +0200 fix(build): make proto-update-deps (#830) * fix(build): make proto-update-deps The URL to the cosmos-sdk SDK_PROTO_URL was using a branch that doesn't exists (any more I presume). As a result, `make proto-update-deps` wasn't working properly and was filling all the cosmos proto files with `404 Not Found`. Fix by using the correct branch name, which is `interchain-security-rebase.0.45.11`. * use SDK latest tag commit b672630bada19249db7bd759c0af771cae5697b8 Merge: 7ca44282 f7fb129e Author: Jacob Gadikian <[email protected]> Date: Mon Apr 17 21:36:20 2023 +0700 Merge remote-tracking branch 'origin/main' into new_branch_sdk47 commit 7ca44282579d579874a6d9ea504e3184e63f1b96 Merge: 1909670e 5a94f896 Author: vuong <[email protected]> Date: Fri Apr 14 16:17:35 2023 +0700 Merge pull request #1 from notional-labs/vuong/fix-proto fix gogo proto commit 5a94f896bbd909e75f32b83c084e355d276b1bdb Author: vuong <[email protected]> Date: Fri Apr 14 16:14:41 2023 +0700 fix gogo proto commit f7fb129e9db991a6ab714ad6689221e84c7b894b Author: Shawn <[email protected]> Date: Thu Apr 13 06:58:33 2023 -0700 Soft opt out (#833) * WIP soft opt out code with incomplete boilerplate * proto changes * Seems like it should work * Unit test for UpdateLargestSoftOptOutValidatorPower * fixes and renames, unit tests work * update comment * log * Update proto/interchain_security/ccv/consumer/v1/consumer.proto Co-authored-by: Marius Poke <[email protected]> * better validation for soft opt out threshhold * improve test * slicestable * semantics and improved test * use correct key util * Update module.go * comment * updated semantics * separate files * fix TestMakeConsumerGenesis test * fix naming * change upper bound on soft opt out thresh * fix test * allow empty valset for tests * gofumpt and fix from merge * Update x/ccv/consumer/types/params_test.go * Update x/ccv/consumer/types/params.go * Soft opt out diff tests (#847) * wip * fixes for ts build * AI fixed my bug lol * throw error when needed * comment * disable soft opt-out in diff testing * update diff testing model * update UTs --------- Co-authored-by: mpoke <[email protected]> * add comment about beginblocker order requirement for soft opt-out --------- Co-authored-by: Jehan Tremback <[email protected]> Co-authored-by: Marius Poke <[email protected]> Co-authored-by: Simon Noetzlin <[email protected]> commit 673b6c44af8fd0eddbc90c7c3db05fc25cc8ae85 Author: Shawn <[email protected]> Date: Wed Apr 12 03:24:41 2023 -0700 Fix Makefile (#837) Update Makefile Co-authored-by: Simon Noetzlin <[email protected]> commit 1909670e298a3d2dc94da45d6ec296e57fdca4de Merge: c76c7284 7fd358f4 Author: sontrinh16 <[email protected]> Date: Wed Apr 5 15:48:00 2023 +0700 fix bug commit 7fd358f47df7c1ebef4548ed2bb507c33671a81f Author: Shawn <[email protected]> Date: Tue Apr 4 20:43:46 2023 -0700 feat: standalone to consumer changeover part 1 (#757) * on-chain upgrade to consumer chain wip * add preCCV store and use it on democracy staking * add TODOs and one more packet possibility * status update * Resolve hermes start issue for trusted validator set by changing revision height * remove intermediary logs * remove further unused codebase * updates for endblocker test, existing test fixes, get last validators * update for slashing sovereign validators for the fault made before consumer chain upgrade height * resolve comments on github and slack communication * update sovereign app to use v4 ibc from v3 & resolve consumer module merge conflict fix issue * Update app/sovereign/upgrades/v3/upgrades.go Co-authored-by: yaruwangway <[email protected]> * rm sovereign chain and tests. Will be replaced by simapp and integration tests * duplicate module name * add comment * small rename * remove democracy staking changes * consumer ccv beginblock, endblock, and initgenesis order shouldn't matter * add mock calls to compile * adjust tests for new keeper field * add registerDemocConsumer method * split out preCCV flag and initial valset * cleanup consumer module * cleanup * more cleanup * temp changes to validators.go * comment out test * rm bad code from merge * comment * Update app.go * UTs for CRUD * UTs for keys * use make for mocks * todo * changeover method and test * resolve #783 * comment * comments * add appropriate TODOs, restore changes to main * final nits before non-draft * comment on ChangeoverToConsumer * more clear comment * small comment change * update InitGenesis comment * sovereign -> standalone * missed a file * builds now * update comment after debug * naming refactor * edge case for val in old and new sets * restore keys after rebase --------- Co-authored-by: jstr1121 <[email protected]> Co-authored-by: jstr1121 <[email protected]> Co-authored-by: yaruwangway <[email protected]> commit c76c7284804f7a56f5a240c68c43fcb1c6db6d6b Merge: b9db2396 46f568f5 Author: sontrinh16 <[email protected]> Date: Wed Apr 5 10:30:54 2023 +0700 fixing merge conflict commit 46f568f57de69b3462c167e898a770399c68c891 Author: Simon Noetzlin <[email protected]> Date: Tue Apr 4 14:12:45 2023 +0200 chore: swap name of 'e2e' and 'integration' tests (#681) * save first changes * fix gh workflow * update gh actions * fix bug * squash commits * Simply use Test rather than Ingt for naming integration test keepers * update git workflows commit b9db2396b53235873072a26484e654ebfe2e9afa Author: Son Trinh <[email protected]> Date: Thu Mar 30 17:06:37 2023 +0700 fix x folder commit b4103d3644db155df36653a873ddf3d06512efde Author: Son Trinh <[email protected]> Date: Wed Mar 29 17:14:43 2023 +0700 add forked staking proto commit d8c696e45b6b7522665b55b4e05e9981126300b9 Author: Shawn <[email protected]> Date: Thu Mar 23 11:35:58 2023 -0700 Introduce docs website (#759) * init docusaurus repo * unify theme with cosmos-sdk docs * update config * add FAQ sections * terms * Create overview.md * consumer dev folder * smol * Create technical-specification.md * add new stuff * add key assignment documentation * fix typo * add clarification * update documentation; add features section; improve overview * mv website to docs root; mv old readmes to old_docs * add doc deployer * make deployable to github pages * add consumer initiated slashing doc page * sovereign -> standalone * add validators section * fix typos * update small things * rename validator stuff * add joining-testnet docs * add title to joining testnet * minor refactors * refactor faq, update testnet guide * update footers * update testnet repo links * Fix typo Change ". Ie." to ", i.e." * Fix typo: you key => your key * Fix typo: cosumer => consumer * update copyright section so docusaurus builds * Add . at the end of info boxes * Minor grammar change * Add missing word "the" * Fix typo * update broken link for ics-testnets * Remove duplicated paragraphs * Adjust wording --------- Co-authored-by: Matija Salopek <[email protected]> Co-authored-by: MSalopek <[email protected]> Co-authored-by: Philip Offtermatt <[email protected]> commit 0f7ba20ec157afc8c0af2b974f08fdc000837c0c Author: Thomas Bruyelle <[email protected]> Date: Thu Mar 16 08:13:24 2023 +0100 chore: add Makefile target to generate mocks (#769) commit 85235c8b0efabfce98c98bf5628bac46b9c8b7a4 Author: MSalopek <[email protected]> Date: Mon Mar 6 18:53:41 2023 +0100 allow using gaia as provider in integration tests (#735) * allow using gaia as provider in integration tests * add changes to makefile * add gaia dockerfile * update testing docs * update Makefile; validate gaia tags (support >= v9.x.x) --------- Co-authored-by: Shawn <[email protected]> commit cf02d4f45b0c935e890acfd1a7a1efc5869a033a Author: Shawn <[email protected]> Date: Thu Mar 2 13:48:08 2023 -0800 Key assignment type safety (#725) * pb changes * nvm dont wanna open that can of worms * still wip * more fixes * almost * builds * helpers and fixed one file * comments * mas * test fix * fix another * types * smol * un mas * un mas * nit * reformat * mas * fix last bug * to fix integration test * proper way to do stringer * Update slashing.go * Update slashing.go * links * comments * Update keeper.go * smol * nit * changes to TestHandleEquivocationProposal * merge with fixes * merge fix * comment --------- Co-authored-by: MSalopek <[email protected]> commit 7f2207ad77b6faf568e8ff4b9d1d372d33b09692 Author: MSalopek <[email protected]> Date: Thu Mar 2 17:52:59 2023 +0100 update protos; fix missing proto dependencies (#752) commit 7ee9fcd763d712bede87748ada7b41590f731c10 Author: MSalopek <[email protected]> Date: Tue Feb 28 18:03:17 2023 +0100 add interchain security consumer QueryParams (#746) add QueryParams commit 0ddbd12b762d1120bb8fa1432edc10ed5de88689 Author: Thomas Bruyelle <[email protected]> Date: Mon Feb 6 18:17:31 2023 +0100 feat: Equivocation gov proposal (#703) This change adds a new kind of gov proposal that will slash and tombstone validators for double-signing. The proposal handler is added in the `provider` module, and use the `evidence` module to handle the equivocations. Co-authored-by: Albert Le Batteux <[email protected]> Co-authored-by: Jehan <[email protected]> commit 0724edce7de9327dc57f50b95bc64738714824bf Author: Shawn <[email protected]> Date: Mon Jan 30 10:16:30 2023 -0800 fix: slash meter replenishment (#687) * this test should fail * changes * refactors * smol * comments * naming * smalls * update E2e tests to validate new behavior * nit * whoops * change key name * set time w/in method * fix typo commit ac4be76bf07788ae5aae6fc40907aac51b531926 Author: Shawn <[email protected]> Date: Fri Jan 20 05:01:36 2023 -0800 Bump IBC refs to ver 4.2.0 (#654) * Update gitignore * Add ibc testing folder * WIP replacing ibcsim * Tests pass * Update ibc-go dependency * Remove TODOs * Remove unused code * Fixes ibcsim simapp dep * Remove unneeded simapp code from #632 (#636) delete code * Fix lint * Update dependencies and linters * Test gosec ignore * Fix gosec * Fix linting * Update sonarcloud ignore for ibc * Revert lint change * Removed unused code * Refactor ibc directory * Add back gaia tests and add ibc-testing disclosure * wip * compiles * tests pass * todos * fix codeql file indentation * 2nd attempt to fix codeql * 3rd attempt * update OnChanOpenInit version handling to follow ics26 * revert module version * remove version checking in provider OnChanOpenInit * address left TODOs Co-authored-by: lg <[email protected]> Co-authored-by: Daniel <[email protected]> Co-authored-by: lg <[email protected]> Co-authored-by: Simon Noetzlin <[email protected]> Co-authored-by: Marius Poke <[email protected]> commit 2e064193dd1e0aeea2149548818d23dc849ed189 Author: MSalopek <[email protected]> Date: Fri Jan 20 12:09:51 2023 +0100 run happy path tests on push; bump hermes version (#659) * use official hermes release * refactor integration test main.go * update automated-tests integration test run * fix worng container teardown * refactor main.go; add parallel execution * update Makefile * simplify code * refactor for naming consistency * fix string formatting commit 7c9d0934002377f2b95d7d722fe0101df5f190fc Author: Marius Poke <[email protected]> Date: Fri Dec 23 18:44:10 2022 +0100 Fix: Iteration through PacketMaturityTimes assumes maturity time order (#622) * WIP convert iterators to array getters. Still need to rename functions, and some compile errors in tests. * WIP - compiles, fixing tests * Unit and e2e tests work * add notes about stopping iteration * WIP - rename and add some notes * Add types to proto * delete unused code * resolve naming conflict * implement another type as proto * fixing more stuff * delete TODOJEHAN.md * adds many of Marius's iteration order comments from 599, and does some small refactors for clarity * fix nil pointer deref * call GetAllConsumerChains once * expand TestGetAllChannelToChains * expand TestGetAllUnbondingOps * GetAllUnbondingOpIndexes; cleanup proto files * fix GetAllValsetUpdateBlockHeights and UTs * remove GetAllSlashAck * add tests for GetFirstVscSendTimestamp * key assignment iterators * reviewed proposals * add TestGetAllValsetUpdateBlockHeights * add TestGetAllOutstandingDowntimes * add GetElapsedPacketMaturityTimes * fix linter * fix linter * prevent implicit memory aliasing * add UTC to TestPacketMaturityTime * fix TestPacketMaturityTime * avoid local variable name shadowing * Update x/ccv/consumer/keeper/keeper.go Co-authored-by: Shawn <[email protected]> * replace cases with packets in TestPacketMaturityTime * add expected order to TestPacketMaturityTime * add expected order to TestGetAllHeightToValsetUpdateIDs * add expected order to TestGetAllOutstandingDowntimes * add TestGetAllCCValidator * add expected order to TestGetAllConsumerChains * add expected order to TestGetAllChannelToChains * add expected order to TestGetAllUnbondingOps * add expected order to TestGetAllUnbondingOpIndexes * add expected order to TestGetAllValsetUpdateBlockHeights * add expected order to TestInitTimeoutTimestamp * add expected order to TestVscSendTimestamp * add expected order to TestGetAllValidatorConsumerPubKey * add expected order to TestGetAllValidatorsByConsumerAddr * add expected order to TestGetAllKeyAssignmentReplacements * add expected order to TestGetAllConsumerAddrsToPrune * iterate over packet maturities in order of time * fix linter * move AppendMany to utils * review suggestions * refactor TestPacketMaturityTime UT * nits Co-authored-by: Jehan Tremback <[email protected]> Co-authored-by: Shawn <[email protected]> commit 4063734e3584a93175159ef1e09843360fae3335 Author: Simon Noetzlin <[email protected]> Date: Thu Dec 22 17:43:04 2022 +0100 refactor: wrap VSCMatured/Slash packets into a consumer packet type (#626) * refactor: create a consumer packet type - Create a ConsumerPacketData type definition at the CCV protocol level - Update consumer to send ConsumerPacketData to provider - Update provider to receive ConsumerPacketData Co-authored-by: mpoke <[email protected]> commit e8bc5b878efef22b5dde5df4977abda5645d3322 Author: Jehan <[email protected]> Date: Wed Dec 21 15:18:02 2022 -0800 Refactor: Convert iterators to array getters (#596) * WIP convert iterators to array getters. Still need to rename functions, and some compile errors in tests. * WIP - compiles, fixing tests * Unit and e2e tests work * add notes about stopping iteration * WIP - rename and add some notes * Add types to proto * delete unused code * resolve naming conflict * implement another type as proto * fixing more stuff * delete TODOJEHAN.md * adds many of Marius's iteration order comments from 599, and does some small refactors for clarity * fix nil pointer deref * call GetAllConsumerChains once * expand TestGetAllChannelToChains * expand TestGetAllUnbondingOps * GetAllUnbondingOpIndexes; cleanup proto files * fix GetAllValsetUpdateBlockHeights and UTs * remove GetAllSlashAck * add tests for GetFirstVscSendTimestamp * key assignment iterators * reviewed proposals * add TestGetAllValsetUpdateBlockHeights * add TestGetAllOutstandingDowntimes * add GetElapsedPacketMaturityTimes * fix linter * fix linter * prevent implicit memory aliasing * add UTC to TestPacketMaturityTime * fix TestPacketMaturityTime * avoid local variable name shadowing * Update x/ccv/consumer/keeper/keeper.go Co-authored-by: Shawn <[email protected]> * replace cases with packets in TestPacketMaturityTime * add expected order to TestPacketMaturityTime * add expected order to TestGetAllHeightToValsetUpdateIDs * add expected order to TestGetAllOutstandingDowntimes * add TestGetAllCCValidator * add expected order to TestGetAllConsumerChains * add expected order to TestGetAllChannelToChains * add expected order to TestGetAllUnbondingOps * add expected order to TestGetAllUnbondingOpIndexes * add expected order to TestGetAllValsetUpdateBlockHeights * add expected order to TestInitTimeoutTimestamp * add expected order to TestVscSendTimestamp * add expected order to TestGetAllValidatorConsumerPubKey * add expected order to TestGetAllValidatorsByConsumerAddr * add expected order to TestGetAllKeyAssignmentReplacements * add expected order to TestGetAllConsumerAddrsToPrune * Add test for GetSlashAndTrailingData (#623) * add test * comments * Update throttle.go * use InitTimeoutTimestamp instead of two slices * Fix: Change keys for storing proposals (#620) * change keys for storing proposals * apply review suggestions * Apply suggestions from code review Co-authored-by: Shawn <[email protected]> Co-authored-by: Jehan <[email protected]> Co-authored-by: Shawn <[email protected]> Co-authored-by: mpoke <[email protected]> Co-authored-by: Shawn <[email protected]> commit 8603f9c97548fb4f3979e85e99bb6979b0eaf269 Author: MSalopek <[email protected]> Date: Tue Dec 20 20:29:32 2022 +0100 add slash throttling queries (#600) * add slash throttle queries * add slash throttle integration tests * add integration tests * add integration tests * make tests pass * should build now * implicit memory aliasing stuff * rm file * refactor queries * changes * new wrapper type * Throttle queries refactors (#614) * refactors * Update state.go * rm duplicated imports * change slash meter params in default test run * add comment * move state checks to provider Co-authored-by: Shawn Marshall-Spitzbart <[email protected]> commit 0657172ad63490f62ddbb22f7518e0b223cd9844 Author: Shawn <[email protected]> Date: Tue Dec 20 06:11:53 2022 -0800 GlobalSlashEntry protobuf type (#613) * changes * indentation fix * un mas commit 61608316cf01d1388907e18290c7f2c894c2c0fa Author: Shawn <[email protected]> Date: Mon Dec 19 10:37:17 2022 -0800 Throttle refactors (#611) * comments and move panic * proto changes * naming * remove break label * refactor HandlePacketDataForChain * Revert "refactor HandlePacketDataForChain" This reverts commit 8f6a29679e1499d605579e941ed74ba67b1d4e05. * comment * comments commit a6716a6a6e6e00992a0f2b05b985edf98b76bad9 Author: lg <[email protected]> Date: Fri Dec 16 16:52:09 2022 +0100 refactor: TrustingPeriodFraction should be a fraction. (#593) * WIP * Refactor TrustingPeriodFraction * Update default TrustingPeriodFraction to 2/3 or 66% Co-authored-by: Jehan <[email protected]> commit 3a8d0a27dfdb2abece8ce5dd86ae5172e8652581 Author: MSalopek <[email protected]> Date: Thu Dec 8 09:57:42 2022 +0100 update consumer addition proposal (#558) * update ConsumerAdditionProposal in provider.proto * add ValidateBasic for ConsumerAdditionProposal message * fix failing ValidateBasic tests * make all tests work * make all tests work * update proposal in integration tests * update comment * refactor after rebase * run make proto-gen after rebase on main * remove LockUnbonding flag and references from repo (PR #551) * refactor after reviews commit f57c604c2e2a51c1e9dafad1d9e0332e461e2bf4 Author: Marius Poke <[email protected]> Date: Wed Dec 7 11:52:49 2022 +0100 Key assignment (#515) * add MsgAssignConsumerKey * add MsgAssignConsumerKey * fix package name * add keys * add keeper methods for key assignment * handle MsgAssignConsumerKey * map addresses in slash requests * prune old consumer addresses * move AssignConsumerKey logic to keeper * update consumer initial valset * add ApplyKeyAssignmentToValUpdates * fix client creation * do not check init valset on consumer * clean state on val removal * fix TestAssignConsensusKeyForConsumerChain * delete on val removal * remove reverse mapping on val removal * remove pending key assignment in EndBlock * add query endpoints add summary of indexes change ConsumerValidatorByVscID to ConsumerAddrsToPrune * Refactor AssignConsumerKey for clarity (IMO) * finish key assignment genesis code- untested * FIxed mocks compile issue - not sure if it works right though. * add test for init and export genesis * set after get in AssignConsumerKey * enable AssignConsumerKey to be called twice * remove key assignment on chain removal * apply some review comments * fix bug: two validator with same consumer key * rename key: ConsumerValidatorsByVscIDBytePrefix -> ConsumerAddrsToPruneBytePrefix * PendingKeyAssignment -> KeyAssignmentReplacements * msg.ProviderAddr is a validator addr * fix: key assignment genesis tests (#517) * Fix consumer init genesis test * fix provider genesis tests * fix key assignement handler * fix linter * fix merge conflict * fix ProviderValidatorAddress * remove unused expectation Co-authored-by: Marius Poke <[email protected]> * add key assignment CRUD operations unit tests (#516) * test val consumer key related CRUD * test val consumer addr related CRUD * test pending key assignments related CRUD * refactor after review session * refactor after review session * add prune key CRUD tests * renamings in testfiles * improve KeyAssignmentReplacement set and get * remove ApplyKeyAssignmentToInitialValset (redundant) * add invariant to docstring of AppendConsumerAddrsToPrune * fix address conversion * adding e2e tests * fix linter * add queries; setup integration tests (#519) * add queries; setup integration testse * test key assignment before chain start * fix state queries; refactor * rm extra comment * rm unused action field * bump voting times in all tests * add provider address query to tests * Adds some very basic random testing and unit tests (#522) * Adds imports * Does multi iterations: fails! * Handle errs * checkpoint debug * Pre introduce dynamic mock * Issue seems to be resolved * Removes prints in key asisgn * Removes debug, pre reintroduce all test features * Fix some magic numbers, bring back prune check * Pre rework initial assignments * Refactor and tidyup * Better docs, clarity, org Co-authored-by: Daniel <[email protected]> * Enable key assignment testing for all e2e tests (#524) * split CCVTestSuite.setupCallback in two * pre-assign keys for all vals of first consumer * fix linter * remove TestConsumerGenesis * adding ADR * move handler.go outside client/ * replace [][]byte with AddressList * remove IterateAllConsumerAddrsToPrune; not needed * apply review suggestions * fix linter * Danwt/key assignment slash test (#545) * cp * wip * note * cp * Adds slash test Co-authored-by: Daniel <[email protected]> * Fixes #503 prevents two key assignment key overlap security issues (#556) * Deletes out of date duplicate code * Adds check that validator with key does not already exist * Partially adjust assign unit test * Finishes adjusting unit * Updates stress test to never find a validator * Improves comment * Fixes handler_test * Adds validatorI iterator to expected keeper * Implements AfterValidatorCreated hook * Names * Simplifies validator query * Adds hooks test * Remove TODO * Fix random sim test Co-authored-by: Daniel <[email protected]> * Bump AssignConsumerKey comment * improve comments for iterators * Masa/key assignment integration tests amend (#548) * handle gosec false positive * add err checks for key assign; rm multiconsumer tests * guestimate block window for keyswaps in happyPeth * start multiconsumer with flag * remove node_modules * fix comment Co-authored-by: Jehan Tremback <[email protected]> Co-authored-by: Simon Noetzlin <[email protected]> Co-authored-by: MSalopek <[email protected]> Co-authored-by: Daniel T <[email protected]> Co-authored-by: Daniel <[email protected]> Co-authored-by: Jehan <[email protected]> commit 174f4cd5965b28fc7cb34fc1f4841857d71a8a18 Author: MSalopek <[email protected]> Date: Mon Dec 5 09:27:28 2022 +0100 refactor provider pending packets handling (#552) commit fb63b1849862b7d28541065a3636f48bb59555d7 Author: Simon Noetzlin <[email protected]> Date: Thu Dec 1 22:05:17 2022 +0100 update provider genesis validation (#525) * update provider genesis validation * Update client ID validation for provider genesis * Make provider VSCID to be stricly positive Update provider genesis validation * update comment * remove tmp files * fix provider genesis validation bugs * remove wrongly introduced ibc-go dep * typo * improve coverage Co-authored-by: Shawn Marshall-Spitzbart <[email protected]> commit b1a3e53ef301606be0dd09f231fd362c9cee92a9 Author: MSalopek <[email protected]> Date: Tue Nov 22 19:49:19 2022 +0100 add consumer addition proposal documentation (#502) * add consumer addition proposal documentation * update after reviews Co-authored-by: Shawn Marshall-Spitzbart <[email protected]> commit 2466b26406258501f7d9b7c955a81d7248a84944 Author: Simon Noetzlin <[email protected]> Date: Fri Nov 18 19:15:43 2022 +0100 Update #264 - updates genesis and genesis tests (#382) * reformat consumer genesis test * remove validator fill in of ExportAppStateAndValidators * checkpoint, testing export genesis consumer * test consumer export * make pass the tests * fix export height to valset update id in consumer * pass the tests * pass the tests * * Update the provider and consumer export/init genesis with the new CCV states * Improve consumer export genesis UT when channel is established or not * Set the consumer ExportAppStateAndValidators to not return validators * Add the new CCV states to the provider and consumer gensis proto files * remove pendingVSCPackets * remove references in create consumer chain proposal setters and getters * fix unchecked errors * fix iterator bug * fix linter * format provider genesis tests * format consumer genesis tests * clarify consumer keeper genesis * remove unused test helpers * Feat: update consumer init and export genesis * Stop exporting client and consensus states in consumer genesis * Add LastTransmissionBlockHeight to genesis proto * Revert "Feat: update consumer init and export genesis" This reverts commit eb59e502aa4c8adb35435ff006a7db0fdb5f14c0. * * Add LastTransmissionBlockHeight to consumer genesis proto * Set slashing states and LastTransmissionBlockHeight during consumer init genesis * Update consumer init * Update consumer genesis export * fix last nits * Fix consumer InitGenesis * Update comments in genesis.proto * format consumer genesis test * update comments * Update provider genesis comments * fix small lint errs * * Update consumer genesis validation * Fix export genesis bug * Document consumer genesis validation * Document consumer genesis validation * Update after #448 merge * Update x/ccv/consumer/types/genesis.go Co-authored-by: Marius Poke <[email protected]> Co-authored-by: Jehan <[email protected]> Co-authored-by: Shawn Marshall-Spitzbart <[email protected]> Co-authored-by: Marius Poke <[email protected]> commit 3362a1ccc44b62339be1c101da22ef14a485ba0c Author: Marius Poke <[email protected]> Date: Fri Nov 18 09:45:29 2022 +0100 handle provider and consumer client expiration (#448) * handle expired client when sending packets * add e2e test * add upgradeExpiredClient to e2e tests * improve incrementTime... functions * fix golangci-lint error * add client expired check * replace incrementTimeBy w/ incrementTime * replace AppendPendingVSC w/ AppendPendingVSCs * simplify logic of sendValidatorUpdates * separate PrepareIBCPacketSend from SendIBCPacket * error handling on SendPacket * export pending VSC packets * improve comments * use k.GetCCVTimeoutPeriod * remove GetUpgradeKeeper * AppendPendingVSCs: use variadic function * remove unnecessary if * refactor pending VSC CRUD methods * refactor sending valset updates to chains * add tests for VSC queueing * refactor after reviews * refactor after reviews * Merge marius/435-client-expired-consumer into marius/435-client-expired Squashed commit of the following: commit 3d82d19304a49938bfef573c99d2a77182167645 Author: mpoke <[email protected]> Date: Fri Nov 11 10:37:06 2022 +0100 fix typo commit 1efa9909162acb22a0e6d70e8da540ba437a3a59 Author: mpoke <[email protected]> Date: Wed Nov 9 19:07:30 2022 +0100 avoid trying to send on expired client commit a0cb6452776cdf68bf1f35ec5c069bdd76086991 Author: mpoke <[email protected]> Date: Wed Nov 9 15:56:59 2022 +0100 error handling on SendPacket commit 7c9c7629966a7d0b894fde3be9ad83f36afac97f Author: mpoke <[email protected]> Date: Wed Nov 9 13:55:05 2022 +0100 use PrepareIBCPacketSend pattern on consumer commit e7ff9d96fd325f851c1c1eb7dc1ed87c65274878 Author: mpoke <[email protected]> Date: Wed Nov 9 10:17:18 2022 +0100 update QA plan commit d7fafe8e9987f3b449e3cff07733f8316c484027 Author: mpoke <[email protected]> Date: Wed Nov 9 10:09:41 2022 +0100 add e2e test TestConsumerPacketSendExpiredClient commit 1722f1319edb44e3dd867329c6c6875436d9457e Author: mpoke <[email protected]> Date: Tue Nov 8 20:20:13 2022 +0100 remove SlashRequest from proto commit 241e13b2d9d47b641a9054973f4d109c78e68ec6 Author: mpoke <[email protected]> Date: Tue Nov 8 20:17:52 2022 +0100 remove pending slash requests from genesis commit 073f10160dd9a1d4cd857043e4dcff494230e489 Author: mpoke <[email protected]> Date: Tue Nov 8 19:44:46 2022 +0100 replace pending SlashRequests w/ peding DataPackets commit a2d1069459f99de0c3d2ce8d4794e51cff5cd8ed Author: mpoke <[email protected]> Date: Tue Nov 8 19:08:33 2022 +0100 code for pending data packets commit acc3454279052237054abab26bf20c7f5a42c386 Author: mpoke <[email protected]> Date: Mon Nov 7 21:03:03 2022 +0100 add e2e test commit 6170fa879745bb8f1e12f82b47deee13462f3c0e Author: mpoke <[email protected]> Date: Mon Nov 7 11:37:57 2022 +0100 handle expired client when sending packets * and packet queueing to consumer keeper * refactor e2e tests * refactor after review session * additional refactor after reviews Co-authored-by: Matija Salopek <[email protected]> Co-authored-by: Jehan <[email protected]> commit 34c28bcd3f00afd6c2f0c7b4096abf4169accbec Author: Shawn Marshall-Spitzbart <[email protected]> Date: Mon Nov 14 16:32:31 2022 -0800 circuit breaker params (#444) * changes * Update params.go commit b0840486632e85dffc18420d53a720619949e09f Author: Marius Poke <[email protected]> Date: Fri Nov 4 21:49:06 2022 +0100 VSCPackets should have timeout on provider (#422) * add provider-based timeout params * add InitTimeoutTimestamp to store * add init timeout logic * params boilerplate code & making tests pass * add TestInitTimeout* e2e tests * improve e2e tests; add test case to TestUndelegationDuringInit * remove VSC timeout * remove VSC timeout param * add testcase to TestValidateParams * handle StopConsumerChain error & gofmt * add VSC timeout period param * Fix init timeout conflicts (#409) * Importable e2e tests (#401) * fixes * add comment to GetInitTimeoutTimestamp * add VscTimeoutTimestamp key and tests * change VSCTimeoutTimestamp key * fix e2e tests * add e2e test * remove useless code * improve comment * copy -> append in provider key definitions (#426) Update keys.go * Update tests/e2e/unbonding.go Co-authored-by: Shawn Marshall-Spitzbart <[email protected]> * Update x/ccv/provider/keeper/keeper_test.go Co-authored-by: Shawn Marshall-Spitzbart <[email protected]> * update comment * replace removedChainIds w/ chainIdsToRemove * changing keys from (chainID, ts) to (chainID, vscID) * make UnbondingOpIndexKey consistent with VscSendingTimestampKey Co-authored-by: Shawn Marshall-Spitzbart <[email protected]> commit 46d5c056aa2affe2683dae389274afc4e81fdbf8 Author: Marius Poke <[email protected]> Date: Tue Nov 1 20:39:30 2022 +0100 Channel initialization timeout (#406) * add provider-based timeout params * add InitTimeoutTimestamp to store * add init timeout logic * params boilerplate code & making tests pass * add TestInitTimeout* e2e tests * improve e2e tests; add test case to TestUndelegationDuringInit * remove VSC timeout * remove VSC timeout param * add testcase to TestValidateParams * handle StopConsumerChain error & gofmt * Fix init timeout conflicts (#409) * Importable e2e tests (#401) * fixes * add comment to GetInitTimeoutTimestamp * Update proto/interchain_security/ccv/provider/v1/provider.proto Co-authored-by: Aditya <[email protected]> * fix formatting in proto file * add comment to SetConsumerChain * fix typo * add comment re. EndBlock order * change name of testcase in TestUndelegationDuringInit Co-authored-by: Shawn Marshall-Spitzbart <[email protected]> Co-authored-by: Aditya <[email protected]> commit a6b8233c72c17019c187e0b6698a260741bd7416 Author: Shawn Marshall-Spitzbart <[email protected]> Date: Fri Oct 28 08:34:26 2022 -0700 Consumer Unbonding As Param (#410) Co-authored-by: Daniel T <[email protected]> Co-authored-by: Daniel <[email protected]> commit 2046d8fff17840f166bd0a0f49a3fa938022103a Author: MSalopek <[email protected]> Date: Tue Oct 25 15:55:40 2022 +0200 324 create queries for internal ccv state (#366) * add query protos * add ConsumerChains provider query * wip: add queries for pending proposals and distributions * wip: add queries for pending proposals and distributions * add stop, start proposals to queries * add stop, start proposals queries to cli * add consumer queries * add fee distribution tests * test getting consumer chain add/remove proposals * register consumer queries * rm unnecessary iterator checks * unify naming in query functions * remove matured proposals * refactor tests and grpc queries * add client ID to consumer list query * run make proto-gen after rebase on main * fix failing tests; reflect repo changes in testutils * address review comments and refactor * refactor query consumer chains * add missing newline in query.proto Co-authored-by: Marius Poke <[email protected]> Co-authored-by: Jehan <[email protected]> commit d7bfd3a03b220618a9b5c82eaa8dc217384f39d8 Author: Shawn Marshall-Spitzbart <[email protected]> Date: Thu Oct 20 10:47:27 2022 -0700 Replace hardcoded constants with params (#393) * changes * edits * Update params_test.go * small * Update genesis_test.go * remove "num" from historical entries param * comment * use params p1 * use params p2 * use params p3 * p4 * change default transfer timeout period * Update proposal_test.go * default historical entries * is negative * add test case * forgot one * comment commit a8d1ee86ba8a96cc53f9475c30db0e98f699c007 Author: Shawn Marshall-Spitzbart <[email protected]> Date: Mon Oct 10 02:11:38 2022 -0700 Make CCV packet timeout a param (#376) * large commit * got ridda stuff * Update params.go Co-authored-by: Jehan <[email protected]> Co-authored-by: Daniel T <[email protected]> commit 46a9e1a0a5456617511ed18bf720d86f82ab8c92 Author: Shawn Marshall-Spitzbart <[email protected]> Date: Tue Oct 4 15:41:29 2022 -0700 close 339 (#373) Co-authored-by: Jehan <[email protected]> commit 45d52e962e87239988297fd2cd4377fbf44f7b31 Author: Simon Noetzlin <[email protected]> Date: Wed Oct 5 00:09:58 2022 +0200 Update export and init genesis (#264) * reformat consumer genesis test * remove validator fill in of ExportAppStateAndValidators * checkpoint, testing export genesis consumer * test consumer export * make pass the tests * fix export height to valset update id in consumer * pass the tests * pass the tests * * Update the provider and consumer export/init genesis with the new CCV states * Improve consumer export genesis UT when channel is established or not * Set the consumer ExportAppStateAndValidators to not return validators * Add the new CCV states to the provider and consumer gensis proto files * remove pendingVSCPackets * remove references in create consumer chain proposal setters and getters * fix unchecked errors * fix iterator bug * fix linter * format provider genesis tests * format consumer genesis tests Co-authored-by: Jehan <[email protected]> commit 8ac91e113f156d812e9dca22f74991905372b985 Author: Marius Poke <[email protected]> Date: Fri Sep 23 01:22:54 2022 +0200 gov-distribution module (#130) * distribution alternative allocation * update distribution to work off of bonded validators not votes * copy of consumer app * added ccvstaking, ccvdistribution, ccvgov and ccvminting * add cmd interchain-security-cdd * distribution tokens should be coming from ConsumerRedistributeName not feeCollector * beginning of tests * Rebase and fix build errors * Democracy chain integration tests, part 1 * Democracy chain integration tests, part 2 * Clean up and e2e test for democracy distribution * gov-distribution module - cr fix * fix small merge issue Co-authored-by: rigelrozanski <[email protected]> Co-authored-by: billy rennekamp <[email protected]> Co-authored-by: dusan-ethernal <[email protected]> Co-authored-by: stana-ethernal <[email protected]> Co-authored-by: Jehan <[email protected]> Co-authored-by: Jehan Tremback <[email protected]> commit 2f1f620775e3f5450bc47e651db2d24ad11df03d Author: MSalopek <[email protected]> Date: Wed Sep 21 00:55:21 2022 +0200 use protobufs to define ccv state (#332) * refactor UnbondingOpsIndex operations Define message UnbondingOpsIndex in ccv protos. Use UnbondingOpsIndex instead of []uint64 where applicable. * update UnbondingOpsIndex tests * refactor MaturedUnboundingOps store operations Define message MaturedUnboundingOps in ccv protos. Refactor code to use new message where applicable. * update e2e tests * refactor protobuf usage for ccv state * add slash requests message * use protobuf for storing slashes on consumer * use protobuf for storing slash acks on provider Co-authored-by: Jehan <[email protected]> commit 25bd62758a9940e55401075a2cb8505765e797aa Author: Shawn Marshall-Spitzbart <[email protected]> Date: Tue Sep 20 14:13:48 2022 -0700 Proposal naming refactors (#354) * consumer addition props * missed one * acronyms * consumer removal props * the rest * comment * handle cli and integration tests * remove unneeded returned err Co-authored-by: Jehan <[email protected]> commit d6a3b1cf62a7d35d2db82b0e2c44fa383c12b802 Author: MSalopek <[email protected]> Date: Fri Sep 9 14:15:12 2022 +0200 update buf googleapis dependency (#352) * update buf googleapis dependency Updated buf dependencies usin buf mod update --only buf.build/googleapis/googleapis Changed tidy to be compatible to 1.18 only Closes: #347 * update proto-builder; third party staking module commit ea292999b84d5d075199cbc0d59f9fb0de459e24 Author: Shawn Marshall-Spitzbart <[email protected]> Date: Thu Sep 8 11:44:13 2022 -0700 Extend #350 (#355) readme and makefile commit 5dd941386ff560a92619a2f3cb9ee377449eb603 Author: MSalopek <[email protected]> Date: Thu Sep 8 15:43:38 2022 +0200 allow selecting test granularity using make (#350) * allow selecting test granularity using make Adds new commands to makefile: * make test-short (unit, e2e) * make test-diff (difference tests only) * make test-integration (integration tests only) * make test-no-cache (equivalent to make test with caching disabled) Closes: #345 * Update README.md (remove static analysis) Co-authored-by: Daniel T <[email protected]> commit bfd886d4201d0dd7247df378e9d6e3c68379348b Author: Marius Poke <[email protected]> Date: Thu Jul 7 14:15:10 2022 +0200 Add VSCMatured packets instead of acks (#188) * iterate over all consumer chains * add pending VSCs * replace UnbondingTime with PacketMaturityTime; add method to compute consumer unbonding time * store unbonding time on consumer chain * Update x/ccv/consumer/keeper/keeper.go * fix EndBlockCallback on provider; add test for pendingVSCs * fix GetConsumerClient for nonexisting chainID * fix client unbonding times in tests * wip * TestUndelegationDuringInit done * fix TestUnbondingNoConsumer * test multiple pending VSC packets * add VSCMaturedPacketData and remove packets from UnbondingSequence * add found return to GetPendingVSCs * apply changes from review * fix TestUndelegationDuringInit * fix TestUndelegationEdgeCase * fix TestTimelyUndelegation1 and rename to TestUndelegationConsumerFirst * fix TestTimelyUndelegation2 and rename to TestUndelegationProviderFirst * cleanup unbonding tests * fix KeeperTestSuite/TestOnRecvPacket * fix KeeperTestSuite/TestUnbondMaturePackets * fix TestPacketRoundtrip * fixing ibc ack handling - wip * handle ibc acks correctly * remove TODO * fix typo * Update x/ccv/consumer/keeper/relay.go Co-authored-by: Aditya <[email protected]> * add logging error on ErrorAcknowledgement * add logging error on ErrorAcknowledgement Co-authored-by: Aditya <[email protected]> commit 744d4a7dbfc17f737d6097ebd7a3d589e982ae8d Merge: 27ab2ba5 d91b4101 Author: Simon Noetzlin <[email protected]> Date: Fri Jun 24 14:19:06 2022 +0200 Merge pull request #124 from cosmos/sainoe/remove-consumer-chain Remove consumer chain from provider commit d91b4101043625b715e3ee0301f92fac6be3f2c9 Merge: eeb3c9dc 27ab2ba5 Author: Simon <[email protected]> Date: Fri Jun 24 14:15:15 2022 +0200 merge main commit 27ab2ba594ab1f12e7490be5e4d702cd25ccafd7 Merge: e552182b df4138df Author: Simon Noetzlin <[email protected]> Date: Mon Jun 20 11:02:55 2022 +0200 Merge pull request #150 from cosmos/sainoe/mvcc-hist-info Add Historical Info to consumer commit eeb3c9dca7af122fa514ab68f19a0c2f199cbac2 Author: Simon <[email protected]> Date: Thu Jun 16 10:02:12 2022 +0200 * Move LockUbdOnTimeout from consumer parameters to CreateConsumerChainProposal to follow the spec * Close provider channel's end only for a passing governance StopChainProposal * Move LockUbdOnTimeout and ClientInfo setters and getters to keeper commit df4138dfc0d8f9ed18c35328f14c2d54830e888a Author: Simon <[email protected]> Date: Tue Jun 14 11:05:08 2022 +0200 Implement Historical Info to consumer chain to work with IBC * Add validator public key to consumer chain states * Implement historical info and call TrackHistoricalInfo in consumer BeginBlock * Hardcode HistoricalEntries to 1000 like the staking module DefaultHistoricalEntries parameter commit c1e2c196db7d6937ea32c0ce7dc554235830fe13 Author: Simon Noetzlin <[email protected]> Date: Tue Jun 7 08:44:38 2022 +0200 Update proto/interchain_security/ccv/provider/v1/provider.proto Co-authored-by: Marius Poke <[email protected]> commit d8c5f4fd2807329d94a859254e823b22eab86b93 Author: Simon <[email protected]> Date: Fri Jun 3 11:42:57 2022 +0200 fix nits commit 1b168595b20b76986b17c8f1210b9a66b1a6e921 Author: Simon <[email protected]> Date: Thu Jun 2 17:37:31 2022 +0200 * Add lock_unbonding_on_timeout to consumer chain parameter * Create a new provider chain proposal to stop a consumer chain * Implement unbonding ops iterator to release locked fund in case of timeout * Implement StopConsumerChain * Generalize ConsumerChainProposal route in provider/app.go * Add StopConsumerChain call to in proposal handler, OnTimeout and BeginBlock logic * Add shutdown consumer if channel was established then closed commit e552182bf2c4531542be7c1ca9e68f2a7d02d28f Author: frog power 4000 <[email protected]> Date: Mon May 30 11:19:09 2022 -0700 ConsumerRedistributeFrac now hardcoded (#102) * ConsumerRedistributeFrac now hardcoded * Update x/ccv/consumer/keeper/distribution.go * fix test to use 75% redistribution fraction Co-authored-by: Marius Poke <[email protected]> commit 1ef5da1d808ab0b942d92d5ac54b9373cfa5bfd9 Author: Marius Poke <[email protected]> Date: Mon May 30 20:10:59 2022 +0200 Fix proto-gen (#116) * fix proto-gen * go mod tidy commit bf808402157c306b506164395896ec7ef82ecf8c Merge: 616905be 3f7332b1 Author: Simon Noetzlin <[email protected]> Date: Mon May 23 20:35:40 2022 +0200 Merge pull request #97 from cosmos/sainoe/consumer-initiated-slashing Add double-sign slashing commit 3f7332b1812faa685dd1f00173be171773f7bc61 Merge: 852e3e7c 616905be Author: Simon <[email protected]> Date: Mon May 23 19:02:30 2022 +0200 Merge branch 'main' into sainoe/consumer-initiated-slashing commit 852e3e7c6d3bfa9d6a3fcf8fb577e8c0ff2d523f Author: Simon <[email protected]> Date: Mon May 23 13:40:32 2022 +0200 Squashed commit of the following: * Use InfractionType enum in PendingSlashRequest * Reformat TestHandleSlashPacketDistribution * Update Cosmos-SDK import in go.mod * Vefify slash packet commit values in tests * Update Slash function to return when infraction argument is unspecified * Allow to slash jailed and not-tombstoned validator commit aaa0ce4658c0041cd8d53f381f9c30e833f81d93 Author: Marius Poke <[email protected]> Date: Fri May 20 16:34:06 2022 +0200 Add proto-gen to Makefile (#92) * enable make proto-gen * add validator.proto and proto docs * remove proto docs * Update Makefile Co-authored-by: Marko <[email protected]> * Update Makefile Co-authored-by: Marko <[email protected]> * Update Makefile Co-authored-by: Marko <[email protected]> * remove abci path duplicate from makefile * make proto generation work with buf (#108) * make proto generation work with buf * remove vscode * revert title change * proto cleanup (#109) * minor cleanup * fix test to comply with json * fix enabled authored-by: Marko Baricevic <[email protected]> * go mod tidy -compat=1.17 * go mod tidy -go=1.16 && go mod tidy -go=1.17 Co-authored-by: Marko <[email protected]> commit 616905beadecfe0ffe4739a4a443b92e1668081b Author: Marius Poke <[email protected]> Date: Mon May 23 18:06:05 2022 +0200 Remove CCV channel state (rebased) (#110) * remove CCV channel state from code * go mod tidy -go=1.16 && go mod tidy -go=1.17 commit 85fac9c6e0c809c14cf7f37bb8e2b0333801dbe0 Author: Marius Poke <[email protected]> Date: Fri May 20 16:34:06 2022 +0200 Add proto-gen to Makefile (#92) * enable make proto-gen * add validator.proto and proto docs * remove proto docs * Update Makefile Co-authored-by: Marko <[email protected]> * Update Makefile Co-authored-by: Marko <[email protected]> * Update Makefile Co-authored-by: Marko <[email protected]> * remove abci path duplicate from makefile * make proto generation work with buf (#108) * make proto generation work with buf * remove vscode * revert title change * proto cleanup (#109) * minor cleanup * fix test to comply with json * fix enabled authored-by: Marko Baricevic <[email protected]> * go mod tidy -compat=1.17 * go mod tidy -go=1.16 && go mod tidy -go=1.17 Co-authored-by: Marko <[email protected]> commit 1961abfc5d9839094639fc88934ad55a5dbf5660 Merge: 01a1b45e 247d4e9d Author: Simon <[email protected]> Date: Thu May 12 10:26:51 2022 +0200 Merge branch 'main' into cis-merge-main commit 247d4e9dcacbe4d3e510051f580544b0d3f5b91f Merge: dcda8d3b 2115750f Author: Daniel T <[email protected]> Date: Tue May 10 17:50:51 2022 +0100 Merge pull request #84 from cosmos/danwt/support-different-app.go Support different app.go's for consumer and provider commit 01a1b45ec03813935b5f8ef1569e96c7e468b1ee Author: Simon <[email protected]> Date: Tue May 10 10:48:47 2022 +0200 Double-sign slashing Close #65 * Update the CCV slashing logic to handle double-signing evidences. * Add `InfractionType` enum to the `SlashPacketData` fields * Use `InfractionType` enum to distinguish between downtime and double-signing infractions in the logic * Use the provider chain slash fraction and jail duration parameters * Change the evidence keeper instantiation in app.go to use the CCV module instead of the staking module commit 2115750fbbf076d383bcc9f33065c0d0a2e5c621 Author: Daniel <[email protected]> Date: Fri May 6 09:48:40 2022 +0100 Updates integration tests to use 2 app.go's commit dcda8d3b90e2c2aec45af7b05e11ffbb3d03214c Merge: ef119ede 67443cd3 Author: Simon Noetzlin <[email protected]> Date: Tue May 3 16:15:21 2022 +0100 Merge pull request #75 from cosmos/frog/naming-update Naming Updates commit 67443cd33b21d79427ac24c69abad0bc7c813810 Author: rigelrozanski <[email protected]> Date: Thu Apr 28 11:15:41 2022 -0700 child/baby->consumer, parent->provider renames commit ef119ede0299b347b29bbc835bb2640fe6b9e19c Merge: bcad4ce1 8eaf5882 Author: Jehan <[email protected]> Date: Wed Apr 27 15:53:42 2022 -0700 Merge pull request #32 from cosmos/frog/simple-distr Simple Distribution commit 8eaf5882b8c69753f388400d3b27db3974d03ed9 Merge: d9dbf450 bcad4ce1 Author: Jehan Tremback <[email protected]> Date: Wed Apr 27 15:49:51 2022 -0700 Merge branch 'main' into frog/simple-distr commit bcad4ce125c702112ed46318c038ca54c63e9057 Merge: 3b2fc9ea 3623b3b3 Author: Simon Noetzlin <[email protected]> Date: Wed Apr 27 08:25:16 2022 +0100 Merge pull request #56 from cosmos/sainoe/consumer-initiated-slashing Add Pending Slashing commit 3b2fc9eaf6856e4c0137f95cb69e0e0f5a46525c Merge: 97223237 2c30f5ab Author: Jehan <[email protected]> Date: Tue Apr 26 15:54:03 2022 -0700 Merge pull request #62 from cosmos/finish-staking-hooks-cherry-pick Finish staking hooks commit 2c30f5ab116e27923a464627c8752a67e10f01be Author: Jehan Tremback <[email protected]> Date: Tue Apr 26 15:53:47 2022 -0700 removed unused field commit d9dbf450c55d92fe53b7d1d0c26188c4fdf02b33 Author: rigelrozanski <[email protected]> Date: Tue Apr 26 11:06:03 2022 -0700 distribution param comments commit 9ed45afc1fd88f6c213f71b65cfe562a1e5a47f2 Author: Jehan Tremback <[email protected]> Date: Wed Apr 20 15:23:24 2022 -0700 renaming cleanup and WIP parent tests commit 3623b3b385deea17bcb56aa63cdd81c8802d919c Author: Simon <[email protected]> Date: Wed Apr 20 17:13:27 2022 +0200 Feat: add pending slash requests logic on consumer - Store slash packet data into pending slash requests when ccv channel isn't established - Send and clear pending slash requests once CCV channel is established commit 68089656b7402054dd623db6b23fac18062c147c Author: rigelrozanski <[email protected]> Date: Tue Apr 5 16:36:40 2022 -0700 consumer redistribution split commit 511daef17d75c78988404abfe8511236e7c57755 Author: rigelrozanski <[email protected]> Date: Tue Apr 5 12:07:51 2022 -0700 rebase, debug cleanup commit 841a2b247c31f542b6680fb3a87ce9ba630d13fb Author: rigelrozanski <[email protected]> Date: Mon Mar 7 12:07:40 2022 -0800 params update, breaks tests commit 9ab56c67f115478fd97d3cd7caa71a9830367d87 Author: rigelrozanski <[email protected]> Date: Wed Mar 2 12:40:39 2022 -0800 distr code compiling, existing tests pass, fix old ibc in proto commit 7917cf7f8b71707f612932b1f5970d062bbd6422 Author: rigelrozanski <[email protected]> Date: Mon Jan 10 18:29:57 2022 -0800 Simple Distribution dist docs working dist ccv dist diagram diagram cleanup diagram update dist diagram diagram updates, excess model simplified distribution simple distribution . aditya ibc notes distr token transfer ibc working working parent-addr handshake information pass working simple distribution distribution near compiling, blocked on ibc-go upgrades address WIP PR comments connHops update merge conflict resolve commit 972232378fa5d5b07e03b2d24182562d3a0d0d43 Merge: 4174b794 3087ab79 Author: Simon Noetzlin <[email protected]> Date: Tue Apr 5 16:48:19 2022 +0200 Merge pull request #52 from sainoe/sainoe/consumer-initiated-slashing Consumer downtime slashing commit 3087ab79932ea833d228ada01baed1e17c39cf85 Author: Simon <[email protected]> Date: Fri Apr 1 13:04:10 2022 +0200 remove white space child proto commit 358fcf548b414fd9db2a07777aa3600ec8371dd5 Author: Simon <[email protected]> Date: Fri Apr 1 12:59:19 2022 +0200 * remove pubkey from cross-chain validators type fields * update and test ApplyCCValidatorChanges commit 6750e1ef9819080ef6bc2123b45beb4b7edb3bc7 Author: Simon Noetzlin <[email protected]> Date: Mon Mar 28 17:34:08 2022 +0200 Fix typo in app.go Co-authored-by: Aditya <[email protected]> commit a06ee0628f626425a7b6707f08d62a02c2bb0c3b Author: Simon <[email protected]> Date: Fri Mar 25 18:18:35 2022 +0100 - Fix validator address issue - Merge PR#48 changes commit 4174b794570e5d6ac4e8a47b18b0dc212547b4ed Merge: 770d5cdc 7c5…
Description
This PR is supposed to upgrade intechain-security module for on-chain upgrade from sovereign to consumer chain.
Applying the changes mentioned in cosmos/ibc#840
Changes
Type of change
If you've checked more than one of the first three boxes, consider splitting this PR into multiple PRs!
Feature
: Changes and/or adds code behavior, irrelevant to bug fixesFix
: Changes and/or adds code behavior, specifically to fix a bugRefactor
: Changes existing code style, naming, structure, etc.Testing
: Adds testingDocs
: Adds documentationRegression tests
If
Refactor
, describe the new or existing tests that verify no behavior was changed or added where refactors were introduced.New behavior tests
If
Feature
orFix
, describe the new or existing tests that verify the new behavior is correct and expected.