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

On-chain upgrade to consumer chain #1

Open
wants to merge 13 commits into
base: main
Choose a base branch
from

Conversation

jstr1121
Copy link

@jstr1121 jstr1121 commented Dec 19, 2022

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

  • Protobuf modification
  • democracy app to use consumer keeper's params to see if consumer is enabled.
  • PreCCV check on consumer InitGenesis to consider using staking module
  • Unit test for changes on Endblocker
  • Slashing sovereign validators for the fault made before consumer chain transition

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 fixes
  • Fix: Changes and/or adds code behavior, specifically to fix a bug
  • Refactor: Changes existing code style, naming, structure, etc.
  • Testing: Adds testing
  • Docs: Adds documentation

Regression 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 or Fix, describe the new or existing tests that verify the new behavior is correct and expected.

@jstr1121 jstr1121 marked this pull request as draft December 19, 2022 02:01
x/ccv/consumer/ibc_module.go Outdated Show resolved Hide resolved
@jstr1121 jstr1121 marked this pull request as ready for review January 6, 2023 09:55
Copy link

@shaspitz shaspitz left a comment

Choose a reason for hiding this comment

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

Great work!

@@ -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)

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

Copy link
Author

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.

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)

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

Copy link
Author

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 {

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 👍

Copy link
Author

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.

#!/bin/bash
set -eux

SOVEREIGN_HOME="$HOME/.sovereign"

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?

Copy link
Author

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.

Copy link
Author

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.

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

Copy link
Author

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.

@@ -0,0 +1,64 @@
## How to run consumer chain
Copy link

@shaspitz shaspitz Jan 11, 2023

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?

Copy link
Author

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.

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

Copy link
Author

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

Copy link
Author

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())

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

Copy link
Author

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.

@@ -92,16 +93,22 @@ func (AppModuleBasic) GetQueryCmd() *cobra.Command {
return cli.NewQueryCmd()
}

type StakingKeeper interface {

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,

Copy link
Author

Choose a reason for hiding this comment

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

Will need to check

Copy link
Author

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

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

Copy link
Author

Choose a reason for hiding this comment

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

Okay

Copy link
Author

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

}

// NewAppModule creates a new consumer module
func NewAppModule(k keeper.Keeper) AppModule {
func NewAppModule(k keeper.Keeper, sk StakingKeeper) AppModule {
Copy link

@shaspitz shaspitz Jan 11, 2023

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

Copy link
Author

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.

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:

consumerModule := ibcconsumer.NewAppModule(app.ConsumerKeeper, nil)

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

Copy link
Author

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.

Copy link
Author

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:

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) {

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

Copy link
Author

Choose a reason for hiding this comment

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

Okay

Copy link
Author

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 {

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

Copy link
Author

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,
Copy link

@shaspitz shaspitz Jan 24, 2023

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

Copy link
Author

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.

Copy link
Author

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

Copy link
Author

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

@@ -0,0 +1,313 @@
#!/bin/bash
Copy link

@shaspitz shaspitz Jan 24, 2023

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?

Copy link
Author

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

Copy link
Author

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.

@@ -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)

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

Copy link
Author

Choose a reason for hiding this comment

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

Sure

}

// Validator - unimplemented on CCV keeper
func (k Keeper) Validator(ctx sdk.Context, addr sdk.ValAddress) stakingtypes.ValidatorI {
lastSovereignHeight := k.LastSovereignHeight(ctx)

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

Copy link
Author

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)

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?

Copy link
Author

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.

Copy link
Author

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.

@@ -97,18 +139,54 @@ func (k Keeper) Slash(ctx sdk.Context, addr sdk.ConsAddress, infractionHeight, p
}

// Jail - unimplemented on CCV keeper

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

Copy link
Author

Choose a reason for hiding this comment

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

Okay

if infraction == stakingtypes.InfractionEmpty {
return
}

if k.IsPreCCV(ctx) || ctx.BlockHeight() <= k.LastSovereignHeight(ctx) {
Copy link
Author

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) {
Copy link
Author

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

antstalepresh pushed a commit that referenced this pull request Jun 21, 2023
* 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…
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.

3 participants