From 935e2c9ce299267cfb0b2cc07a79b9b1077f695a Mon Sep 17 00:00:00 2001 From: Philip Offtermatt <57488781+p-offtermatt@users.noreply.github.com> Date: Fri, 28 Apr 2023 15:44:31 +0200 Subject: [PATCH] fix: e2e trace format fails on slashthrottlesteps (#903) * Add other steps to read/write test * Improve error logging in trace handler test * Push ActionType handling into Unmarshal/Marshal and out of own class * Rename generic trace handler files to be clear they are for json * Rename to marshalling to be more generic * Add marshal/unmarshal for proposals * Export unexported field * Add test for marshal/unmarshalling chain state * Fix pointer issues * Fix typo: action -> proposal * Log proposal string in test * Use json.RawMessage instead of map[string]any * For uniformity, also use RawMessage for step unmarshalling * Add tests for extra proposal types * Add more proposal types to test and unify names * Add handling for ParamsProposal * Regenerate traces * Chore: Export forgotten field * Use string, not int, to help marshal/unmarshal --- tests/e2e/json_chainState_marshalling.go | 168 ++++++++++++++++++ tests/e2e/{trace_parser.go => json_parser.go} | 21 +-- ...race_utils.go => json_step_marshalling.go} | 43 ++++- tests/e2e/{trace_writer.go => json_writer.go} | 0 tests/e2e/steps_democracy.go | 6 + tests/e2e/trace_handlers_test.go | 113 ++++++++++++ .../e2e/tracehandler_testdata/democracy.json | 2 +- .../e2e/tracehandler_testdata/happyPath.json | 6 +- .../multipleConsumers.json | 6 +- .../slashThrottleSteps.json | 1 + .../start_provider_chain.json | 6 +- 11 files changed, 348 insertions(+), 24 deletions(-) create mode 100644 tests/e2e/json_chainState_marshalling.go rename tests/e2e/{trace_parser.go => json_parser.go} (70%) rename tests/e2e/{trace_utils.go => json_step_marshalling.go} (85%) rename tests/e2e/{trace_writer.go => json_writer.go} (100%) create mode 100644 tests/e2e/tracehandler_testdata/slashThrottleSteps.json diff --git a/tests/e2e/json_chainState_marshalling.go b/tests/e2e/json_chainState_marshalling.go new file mode 100644 index 0000000000..c5ec20c981 --- /dev/null +++ b/tests/e2e/json_chainState_marshalling.go @@ -0,0 +1,168 @@ +package main + +import ( + "encoding/json" + "fmt" + "reflect" +) + +type ProposalWithType struct { + ProposalType string + Proposal Proposal +} + +// MarshalJSON marshals a chainState into JSON while including the type of the proposal. +func (chainState ChainState) MarshalJSON() ([]byte, error) { + var proposalsWithTypes map[uint]ProposalWithType + if chainState.Proposals != nil { + proposalsWithTypes = make(map[uint]ProposalWithType, len(*chainState.Proposals)) + + for k, v := range *chainState.Proposals { + proposalsWithTypes[k] = ProposalWithType{ + ProposalType: reflect.TypeOf(v).String(), + Proposal: v, + } + } + } else { + proposalsWithTypes = nil + } + + result := struct { + ValBalances *map[ValidatorID]uint + Proposals *map[uint]ProposalWithType + ValPowers *map[ValidatorID]uint + RepresentativePowers *map[ValidatorID]uint + Params *[]Param + Rewards *Rewards + ConsumerChains *map[ChainID]bool + AssignedKeys *map[ValidatorID]string + ProviderKeys *map[ValidatorID]string // validatorID: validator provider key + ConsumerChainQueueSizes *map[ChainID]uint + GlobalSlashQueueSize *uint + }{ + ValBalances: chainState.ValBalances, + Proposals: &proposalsWithTypes, + ValPowers: chainState.ValPowers, + RepresentativePowers: chainState.RepresentativePowers, + Params: chainState.Params, + Rewards: chainState.Rewards, + ConsumerChains: chainState.ConsumerChains, + AssignedKeys: chainState.AssignedKeys, + ProviderKeys: chainState.ProviderKeys, + ConsumerChainQueueSizes: chainState.ConsumerChainQueueSizes, + GlobalSlashQueueSize: chainState.GlobalSlashQueueSize, + } + + return json.Marshal(result) +} + +func (state *ChainState) UnmarshalJSON(data []byte) error { + var tmp struct { + ValBalances *map[ValidatorID]uint + Proposals *map[uint]json.RawMessage + ValPowers *map[ValidatorID]uint + RepresentativePowers *map[ValidatorID]uint + Params *[]Param + Rewards *Rewards + ConsumerChains *map[ChainID]bool + AssignedKeys *map[ValidatorID]string + ProviderKeys *map[ValidatorID]string // validatorID: validator provider key + ConsumerChainQueueSizes *map[ChainID]uint + GlobalSlashQueueSize *uint + } + + err := json.Unmarshal(data, &tmp) + if err != nil { + return err + } + + var proposals *map[uint]Proposal + if tmp.Proposals != nil { + proposals, err = UnmarshalProposals(*tmp.Proposals) + if err != nil { + return err + } + } + + state.Proposals = proposals + + state.ValBalances = tmp.ValBalances + state.ValPowers = tmp.ValPowers + state.RepresentativePowers = tmp.RepresentativePowers + state.Params = tmp.Params + state.Rewards = tmp.Rewards + state.ConsumerChains = tmp.ConsumerChains + state.AssignedKeys = tmp.AssignedKeys + state.ProviderKeys = tmp.ProviderKeys + state.ConsumerChainQueueSizes = tmp.ConsumerChainQueueSizes + state.GlobalSlashQueueSize = tmp.GlobalSlashQueueSize + + return nil +} + +func UnmarshalProposals(proposals map[uint]json.RawMessage) (*map[uint]Proposal, error) { + result := make(map[uint]Proposal, len(proposals)) + + for k, v := range proposals { + var tmp struct { + Proposal json.RawMessage + ProposalType string + } + + if err := json.Unmarshal(v, &tmp); err != nil { + return nil, err + } + + proposal, err := UnmarshalMapToProposalType(tmp.Proposal, tmp.ProposalType) + if err != nil { + return nil, err + } + result[k] = proposal + } + + return &result, nil +} + +// UnmarshalMapToProposalType takes a JSON message and a proposal type and marshals into an object of the corresponding proposal. +func UnmarshalMapToProposalType(input json.RawMessage, proposalType string) (Proposal, error) { + switch proposalType { + case "main.ConsumerAdditionProposal": + var proposal ConsumerAdditionProposal + err := json.Unmarshal(input, &proposal) + if err != nil { + return nil, err + } + return proposal, nil + case "main.ConsumerRemovalProposal": + var proposal ConsumerRemovalProposal + err := json.Unmarshal(input, &proposal) + if err != nil { + return nil, err + } + return proposal, nil + case "main.EquivocationProposal": + var proposal EquivocationProposal + err := json.Unmarshal(input, &proposal) + if err != nil { + return nil, err + } + return proposal, nil + case "main.ParamsProposal": + var proposal ParamsProposal + err := json.Unmarshal(input, &proposal) + if err != nil { + return nil, err + } + return proposal, nil + + case "main.TextProposal": + var proposal TextProposal + err := json.Unmarshal(input, &proposal) + if err != nil { + return nil, err + } + return proposal, nil + default: + return nil, fmt.Errorf("%s is not a known proposal type", proposalType) + } +} diff --git a/tests/e2e/trace_parser.go b/tests/e2e/json_parser.go similarity index 70% rename from tests/e2e/trace_parser.go rename to tests/e2e/json_parser.go index 50a0a79b7c..40ce57285a 100644 --- a/tests/e2e/trace_parser.go +++ b/tests/e2e/json_parser.go @@ -3,7 +3,6 @@ package main import ( "bytes" "encoding/json" - "fmt" "os" "path/filepath" ) @@ -24,29 +23,19 @@ func (parser JSONParser) ReadTraceFromFile(path string) ([]Step, error) { } // Unmarshal the JSON into a slice of Step structs +<<<<<<< HEAD:tests/e2e/trace_parser.go var stepsWithActionTypes []StepWithActionType decoder := json.NewDecoder(bytes.NewReader(jsonData)) decoder.DisallowUnknownFields() // To avoid silent errors. Will cause an error if the JSON contains unknown fields err = decoder.Decode(&stepsWithActionTypes) +======= + var steps []Step + err = json.Unmarshal(jsonData, &steps) +>>>>>>> 24b0ef1b (fix: e2e trace format fails on slashthrottlesteps (#903)):tests/e2e/json_parser.go if err != nil { return nil, err } - steps := make([]Step, len(stepsWithActionTypes)) - - // Unmarshal the actions inside the steps from map[string]any to the corresponding action type - for i, step := range stepsWithActionTypes { - action, err := UnmarshalMapToActionType(step.Action.(map[string]any), step.ActionType) - if err != nil { - return nil, err - } - - fmt.Println(action) - - steps[i] = Step{action, step.State} - - } - return steps, nil } diff --git a/tests/e2e/trace_utils.go b/tests/e2e/json_step_marshalling.go similarity index 85% rename from tests/e2e/trace_utils.go rename to tests/e2e/json_step_marshalling.go index 90c8f4d79c..df96e2ea92 100644 --- a/tests/e2e/trace_utils.go +++ b/tests/e2e/json_step_marshalling.go @@ -4,14 +4,49 @@ import ( "encoding/json" "fmt" "reflect" +<<<<<<< HEAD:tests/e2e/trace_utils.go "github.com/mitchellh/mapstructure" +======= +>>>>>>> 24b0ef1b (fix: e2e trace format fails on slashthrottlesteps (#903)):tests/e2e/json_step_marshalling.go ) -// StepWithActionType is a utility class that wraps a Step together with its action type. Used to marshal/unmarshal -type StepWithActionType struct { - Step - ActionType string `json:"ActionType"` +// MarshalJSON marshals a step into JSON while including the type of the action. +func (step Step) MarshalJSON() ([]byte, error) { + actionType := reflect.TypeOf(step.Action).String() + + result := struct { + ActionType string + Action interface{} + State State + }{ + ActionType: actionType, + Action: step.Action, + State: step.State, + } + + return json.Marshal(result) +} + +// UnmarshalJSON unmarshals a step from JSON while including the type of the action. +func (step *Step) UnmarshalJSON(data []byte) error { + var tmp struct { + ActionType string + Action json.RawMessage + State State + } + if err := json.Unmarshal(data, &tmp); err != nil { + return err + } + + action, err := UnmarshalMapToActionType(tmp.Action, tmp.ActionType) + if err != nil { + return err + } + + step.Action = action + step.State = tmp.State + return nil } // has to be manually kept in sync with the available action types. diff --git a/tests/e2e/trace_writer.go b/tests/e2e/json_writer.go similarity index 100% rename from tests/e2e/trace_writer.go rename to tests/e2e/json_writer.go diff --git a/tests/e2e/steps_democracy.go b/tests/e2e/steps_democracy.go index a6cceffc1c..d39af46361 100644 --- a/tests/e2e/steps_democracy.go +++ b/tests/e2e/steps_democracy.go @@ -67,9 +67,15 @@ func stepsDemocracy(consumerName string) []Step { Chain: ChainID(consumerName), From: ValidatorID("alice"), Deposit: 10000001, +<<<<<<< HEAD Subspace: "transfer", Key: "SendEnabled", Value: true, +======= + Subspace: "staking", + Key: "MaxValidators", + Value: "105", +>>>>>>> 24b0ef1b (fix: e2e trace format fails on slashthrottlesteps (#903)) }, State: State{ ChainID(consumerName): ChainState{ diff --git a/tests/e2e/trace_handlers_test.go b/tests/e2e/trace_handlers_test.go index f6c14cb42b..2134569a0b 100644 --- a/tests/e2e/trace_handlers_test.go +++ b/tests/e2e/trace_handlers_test.go @@ -1,11 +1,13 @@ package main import ( + "encoding/json" "log" "os" "path/filepath" "testing" + clienttypes "github.com/cosmos/ibc-go/v4/modules/core/02-client/types" "github.com/google/go-cmp/cmp" ) @@ -72,8 +74,14 @@ func TestWriterThenParser(t *testing.T) { got, err := parser.ReadTraceFromFile(filename) if err != nil { +<<<<<<< HEAD t.Fatalf("in testcase %v, got error reading trace from file: %v", name, err) } +======= + t.Fatalf("error reading trace from file: %v", err) + } + +>>>>>>> 24b0ef1b (fix: e2e trace format fails on slashthrottlesteps (#903)) diff := cmp.Diff(tc.trace, got, cmp.AllowUnexported(Step{})) if diff != "" { t.Log("Got a difference for testcase " + name) @@ -112,3 +120,108 @@ func TestWriteExamples(t *testing.T) { }) } } + +func TestMarshalAndUnmarshalChainState(t *testing.T) { + tests := map[string]struct { + chainState ChainState + }{ + "consumer addition proposal": {ChainState{ + ValBalances: &map[ValidatorID]uint{ + ValidatorID("alice"): 9489999999, + ValidatorID("bob"): 9500000000, + }, + Proposals: &map[uint]Proposal{ + 2: ConsumerAdditionProposal{ + Deposit: 10000001, + Chain: ChainID("test"), + SpawnTime: 0, + InitialHeight: clienttypes.Height{RevisionNumber: 5, RevisionHeight: 5}, + Status: "PROPOSAL_STATUS_VOTING_PERIOD", + }, + }, + }}, + "params-proposal": {ChainState{ + ValBalances: &map[ValidatorID]uint{ + ValidatorID("alice"): 9889999998, + ValidatorID("bob"): 9960000001, + }, + Proposals: &map[uint]Proposal{ + 1: ParamsProposal{ + Deposit: 10000001, + Status: "PROPOSAL_STATUS_VOTING_PERIOD", + Subspace: "staking", + Key: "MaxValidators", + Value: "105", + }, + }, + }}, + "consuemr removal proposal": {ChainState{ + Proposals: &map[uint]Proposal{ + 5: ConsumerRemovalProposal{ + Deposit: 10000001, + Chain: ChainID("test123"), + StopTime: 5000000000, + Status: "PROPOSAL_STATUS_PASSED", + }, + }, + ValBalances: &map[ValidatorID]uint{ + ValidatorID("bob"): 9500000000, + }, + ConsumerChains: &map[ChainID]bool{}, // Consumer chain is now removed + }}, + "text-proposal": {ChainState{ + ValPowers: &map[ValidatorID]uint{ + ValidatorID("alice"): 509, + ValidatorID("bob"): 500, + ValidatorID("carol"): 495, + }, + ValBalances: &map[ValidatorID]uint{ + ValidatorID("bob"): 9500000000, + }, + Proposals: &map[uint]Proposal{ + // proposal does not exist + 10: TextProposal{}, + }, + }}, + "equivocation-proposal": {ChainState{ + ValPowers: &map[ValidatorID]uint{ + ValidatorID("alice"): 509, + ValidatorID("bob"): 500, + ValidatorID("carol"): 0, + }, + ValBalances: &map[ValidatorID]uint{ + ValidatorID("bob"): 9489999999, + }, + Proposals: &map[uint]Proposal{ + 5: EquivocationProposal{ + Deposit: 10000001, + Status: "PROPOSAL_STATUS_VOTING_PERIOD", + ConsensusAddress: "cosmosvalcons1nx7n5uh0ztxsynn4sje6eyq2ud6rc6klc96w39", + Power: 500, + Height: 10, + }, + }, + }}, + } + + for name, tc := range tests { + t.Run(name, func(t *testing.T) { + jsonobj, err := json.Marshal(tc.chainState) + if err != nil { + t.Fatalf("error marshalling chain state: %v", err) + } + + var got *ChainState + err = json.Unmarshal(jsonobj, &got) + if err != nil { + t.Fatalf("error unmarshalling chain state: %v", err) + } + + diff := cmp.Diff(tc.chainState, *got) + if diff != "" { + log.Print(string(jsonobj)) + t.Fatalf(diff) + } + }) + } +} diff --git a/tests/e2e/tracehandler_testdata/democracy.json b/tests/e2e/tracehandler_testdata/democracy.json index 38bcfc78b2..0de5e34f0e 100644 --- a/tests/e2e/tracehandler_testdata/democracy.json +++ b/tests/e2e/tracehandler_testdata/democracy.json @@ -1 +1 @@ -[{"Action":{"Chain":"provi","Validators":[{"Id":"bob","Allocation":10000000000,"Stake":500000000},{"Id":"alice","Allocation":10000000000,"Stake":500000000},{"Id":"carol","Allocation":10000000000,"Stake":500000000}],"GenesisChanges":"","SkipGentx":false},"State":{"provi":{"ValBalances":{"alice":9500000000,"bob":9500000000,"carol":9500000000},"Proposals":null,"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null}},"ActionType":"main.StartChainAction"},{"Action":{"PreCCV":false,"Chain":"provi","From":"alice","Deposit":10000001,"ConsumerChain":"democ","SpawnTime":0,"InitialHeight":{"revision_height":1},"DistributionChannel":""},"State":{"provi":{"ValBalances":{"alice":9489999999,"bob":9500000000},"Proposals":{"1":{"Deposit":10000001,"Chain":"democ","SpawnTime":0,"InitialHeight":{"revision_height":1},"Status":"PROPOSAL_STATUS_VOTING_PERIOD"}},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null}},"ActionType":"main.submitConsumerAdditionProposalAction"},{"Action":{"Chain":"democ","Validator":"carol","ConsumerPubkey":"{\"@type\":\"/cosmos.crypto.ed25519.PubKey\",\"key\":\"Ui5Gf1+mtWUdH8u3xlmzdKID+F3PK0sfXZ73GZ6q6is=\"}","ReconfigureNode":false,"ExpectError":false,"ExpectedError":""},"State":{"democ":{"ValBalances":null,"Proposals":null,"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":{"carol":"cosmosvalcons1kswr5sq599365kcjmhgufevfps9njf43e4lwdk"},"ProviderKeys":{"carol":"cosmosvalcons1ezyrq65s3gshhx5585w6mpusq3xsj3ayzf4uv6"},"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null}},"ActionType":"main.assignConsumerPubKeyAction"},{"Action":{"Chain":"democ","Validator":"carol","ConsumerPubkey":"{\"@type\":\"/cosmos.crypto.ed25519.PubKey\",\"key\":\"Ui5Gf1+mtWUdH8u3xlmzdKID+F3PK0sfXZ73GZ6q6is=\"}","ReconfigureNode":false,"ExpectError":true,"ExpectedError":"a validator has assigned the consumer key already: consumer key is already in use by a validator"},"State":{},"ActionType":"main.assignConsumerPubKeyAction"},{"Action":{"Chain":"democ","Validator":"bob","ConsumerPubkey":"{\"@type\":\"/cosmos.crypto.ed25519.PubKey\",\"key\":\"Ui5Gf1+mtWUdH8u3xlmzdKID+F3PK0sfXZ73GZ6q6is=\"}","ReconfigureNode":false,"ExpectError":true,"ExpectedError":"a validator has assigned the consumer key already: consumer key is already in use by a validator"},"State":{"democ":{"ValBalances":null,"Proposals":null,"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":{"bob":"","carol":"cosmosvalcons1kswr5sq599365kcjmhgufevfps9njf43e4lwdk"},"ProviderKeys":{"carol":"cosmosvalcons1ezyrq65s3gshhx5585w6mpusq3xsj3ayzf4uv6"},"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null}},"ActionType":"main.assignConsumerPubKeyAction"},{"Action":{"Chain":"provi","From":["alice","bob","carol"],"Vote":["yes","yes","yes"],"PropNumber":1},"State":{"provi":{"ValBalances":{"alice":9500000000,"bob":9500000000},"Proposals":{"1":{"Deposit":10000001,"Chain":"democ","SpawnTime":0,"InitialHeight":{"revision_height":1},"Status":"PROPOSAL_STATUS_PASSED"}},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null}},"ActionType":"main.voteGovProposalAction"},{"Action":{"ConsumerChain":"democ","ProviderChain":"provi","Validators":[{"Id":"bob","Allocation":10000000000,"Stake":500000000},{"Id":"alice","Allocation":10000000000,"Stake":500000000},{"Id":"carol","Allocation":10000000000,"Stake":500000000}],"GenesisChanges":".app_state.ccvconsumer.params.soft_opt_out_threshold = \"0.05\""},"State":{"democ":{"ValBalances":{"alice":10000000000,"bob":10000000000,"carol":10000000000},"Proposals":null,"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null},"provi":{"ValBalances":{"alice":9500000000,"bob":9500000000,"carol":9500000000},"Proposals":null,"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null}},"ActionType":"main.startConsumerChainAction"},{"Action":{"ChainA":"democ","ChainB":"provi","ClientA":0,"ClientB":0},"State":{},"ActionType":"main.addIbcConnectionAction"},{"Action":{"ChainA":"democ","ChainB":"provi","ConnectionA":0,"PortA":"consumer","PortB":"provider","Order":"ordered","Version":""},"State":{},"ActionType":"main.addIbcChannelAction"},{"Action":{"ChainA":"democ","ChainB":"provi","ConnectionA":0,"PortA":"transfer","PortB":"transfer","Order":"unordered","ChannelA":1,"ChannelB":1},"State":{},"ActionType":"main.transferChannelCompleteAction"},{"Action":{"Chain":"provi","From":"alice","To":"alice","Amount":11000000},"State":{"democ":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":500,"bob":500,"carol":500},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null},"provi":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":511,"bob":500,"carol":500},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null}},"ActionType":"main.delegateTokensAction"},{"Action":{"Chain":"democ","From":"alice","To":"bob","Amount":1},"State":{"democ":{"ValBalances":{"alice":10000000000,"bob":10000000000},"Proposals":null,"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null}},"ActionType":"main.SendTokensAction"},{"Action":{"ChainA":"provi","ChainB":"democ","Port":"provider","Channel":0},"State":{"democ":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":511,"bob":500,"carol":500},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null}},"ActionType":"main.relayPacketsAction"},{"Action":{"Chain":"democ","From":"alice","To":"bob","Amount":1},"State":{"democ":{"ValBalances":{"alice":9999999999,"bob":10000000001},"Proposals":null,"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null}},"ActionType":"main.SendTokensAction"},{"Action":{"Chain":"democ","Representatives":["alice","bob"],"Stakes":[100000000,40000000]},"State":{"democ":{"ValBalances":null,"Proposals":null,"ValPowers":null,"RepresentativePowers":{"alice":100000000,"bob":40000000},"Params":null,"Rewards":{"IsRewarded":{"alice":true,"bob":true,"carol":false},"IsIncrementalReward":true,"IsNativeDenom":true},"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null}},"ActionType":"main.registerRepresentativeAction"},{"Action":{"Chain":"democ","From":"carol","To":"alice","Amount":500000},"State":{"democ":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":511,"bob":500,"carol":500},"RepresentativePowers":{"alice":100500000,"bob":40000000},"Params":null,"Rewards":{"IsRewarded":{"alice":true,"bob":true,"carol":true},"IsIncrementalReward":true,"IsNativeDenom":true},"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null}},"ActionType":"main.delegateTokensAction"},{"Action":{"Chain":"democ","From":"alice","Deposit":10000001,"Subspace":"transfer","Key":"SendEnabled","Value":true},"State":{"democ":{"ValBalances":{"alice":9889999998,"bob":9960000001},"Proposals":{"1":{"Deposit":10000001,"Status":"PROPOSAL_STATUS_VOTING_PERIOD","Subspace":"transfer","Key":"SendEnabled","Value":"true"}},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null}},"ActionType":"main.submitParamChangeLegacyProposalAction"},{"Action":{"Chain":"democ","From":["alice","bob"],"Vote":["yes","no"],"PropNumber":1},"State":{"democ":{"ValBalances":{"alice":9889999998,"bob":9960000001},"Proposals":null,"ValPowers":null,"RepresentativePowers":null,"Params":[{"Subspace":"transfer","Key":"SendEnabled","Value":"true"}],"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null}},"ActionType":"main.voteGovProposalAction"},{"Action":{"ConsumerChain":"democ","ProviderChain":"provi","Port":"transfer","Channel":1},"State":{"provi":{"ValBalances":null,"Proposals":null,"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":{"IsRewarded":{"alice":false,"bob":false,"carol":false},"IsIncrementalReward":false,"IsNativeDenom":false},"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":[]}},"ActionType":"main.relayRewardPacketsToProviderAction"},{"Action":{"Chain":"provi","From":"bob","Denom":"ibc/3C3D7B3BE4ECC85A0E5B52A3AEC3B7DFC2AA9CA47C37821E57020D6807043BE9"},"State":{"provi":{"ValBalances":{"bob":9490000000},"Proposals":null,"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":["ibc/3C3D7B3BE4ECC85A0E5B52A3AEC3B7DFC2AA9CA47C37821E57020D6807043BE9"]}},"ActionType":"main.registerConsumerRewardDenomAction"},{"Action":{"ConsumerChain":"democ","ProviderChain":"provi","Port":"transfer","Channel":1},"State":{"provi":{"ValBalances":null,"Proposals":null,"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":{"IsRewarded":{"alice":true,"bob":true,"carol":true},"IsIncrementalReward":false,"IsNativeDenom":false},"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null}},"ActionType":"main.relayRewardPacketsToProviderAction"},{"Action":{"Chain":"democ","Validator":"bob"},"State":{"democ":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":511,"bob":500,"carol":500},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null},"provi":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":511,"bob":500,"carol":500},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null}},"ActionType":"main.downtimeSlashAction"},{"Action":{"ChainA":"provi","ChainB":"democ","Port":"provider","Channel":0},"State":{"democ":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":511,"bob":500,"carol":500},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null},"provi":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":511,"bob":0,"carol":500},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null}},"ActionType":"main.relayPacketsAction"},{"Action":{"ChainA":"provi","ChainB":"democ","Port":"provider","Channel":0},"State":{"democ":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":511,"bob":0,"carol":500},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null}},"ActionType":"main.relayPacketsAction"},{"Action":{"Provider":"provi","Validator":"bob"},"State":{"democ":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":511,"bob":0,"carol":500},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null},"provi":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":511,"bob":500,"carol":500},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null}},"ActionType":"main.unjailValidatorAction"},{"Action":{"ChainA":"provi","ChainB":"democ","Port":"provider","Channel":0},"State":{"democ":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":511,"bob":500,"carol":500},"RepresentativePowers":{"alice":100500000,"bob":40000000},"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null}},"ActionType":"main.relayPacketsAction"}] \ No newline at end of file +[{"Action":{"Chain":"provi","Validators":[{"Id":"bob","Allocation":10000000000,"Stake":500000000},{"Id":"alice","Allocation":10000000000,"Stake":500000000},{"Id":"carol","Allocation":10000000000,"Stake":500000000}],"GenesisChanges":"","SkipGentx":false},"State":{"provi":{"ValBalances":{"alice":9500000000,"bob":9500000000,"carol":9500000000},"Proposals":null,"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null}},"ActionType":"main.StartChainAction"},{"Action":{"PreCCV":false,"Chain":"provi","From":"alice","Deposit":10000001,"ConsumerChain":"democ","SpawnTime":0,"InitialHeight":{"revision_height":1},"DistributionChannel":""},"State":{"provi":{"ValBalances":{"alice":9489999999,"bob":9500000000},"Proposals":{"1":{"Deposit":10000001,"Chain":"democ","SpawnTime":0,"InitialHeight":{"revision_height":1},"Status":"PROPOSAL_STATUS_VOTING_PERIOD"}},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null}},"ActionType":"main.submitConsumerAdditionProposalAction"},{"Action":{"Chain":"democ","Validator":"carol","ConsumerPubkey":"{\"@type\":\"/cosmos.crypto.ed25519.PubKey\",\"key\":\"Ui5Gf1+mtWUdH8u3xlmzdKID+F3PK0sfXZ73GZ6q6is=\"}","ReconfigureNode":false,"ExpectError":false,"ExpectedError":""},"State":{"democ":{"ValBalances":null,"Proposals":null,"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":{"carol":"cosmosvalcons1kswr5sq599365kcjmhgufevfps9njf43e4lwdk"},"ProviderKeys":{"carol":"cosmosvalcons1ezyrq65s3gshhx5585w6mpusq3xsj3ayzf4uv6"},"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null}},"ActionType":"main.assignConsumerPubKeyAction"},{"Action":{"Chain":"democ","Validator":"carol","ConsumerPubkey":"{\"@type\":\"/cosmos.crypto.ed25519.PubKey\",\"key\":\"Ui5Gf1+mtWUdH8u3xlmzdKID+F3PK0sfXZ73GZ6q6is=\"}","ReconfigureNode":false,"ExpectError":true,"ExpectedError":"a validator has assigned the consumer key already: consumer key is already in use by a validator"},"State":{},"ActionType":"main.assignConsumerPubKeyAction"},{"Action":{"Chain":"democ","Validator":"bob","ConsumerPubkey":"{\"@type\":\"/cosmos.crypto.ed25519.PubKey\",\"key\":\"Ui5Gf1+mtWUdH8u3xlmzdKID+F3PK0sfXZ73GZ6q6is=\"}","ReconfigureNode":false,"ExpectError":true,"ExpectedError":"a validator has assigned the consumer key already: consumer key is already in use by a validator"},"State":{"democ":{"ValBalances":null,"Proposals":null,"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":{"bob":"","carol":"cosmosvalcons1kswr5sq599365kcjmhgufevfps9njf43e4lwdk"},"ProviderKeys":{"carol":"cosmosvalcons1ezyrq65s3gshhx5585w6mpusq3xsj3ayzf4uv6"},"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null}},"ActionType":"main.assignConsumerPubKeyAction"},{"Action":{"Chain":"provi","From":["alice","bob","carol"],"Vote":["yes","yes","yes"],"PropNumber":1},"State":{"provi":{"ValBalances":{"alice":9500000000,"bob":9500000000},"Proposals":{"1":{"Deposit":10000001,"Chain":"democ","SpawnTime":0,"InitialHeight":{"revision_height":1},"Status":"PROPOSAL_STATUS_PASSED"}},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null}},"ActionType":"main.voteGovProposalAction"},{"Action":{"ConsumerChain":"democ","ProviderChain":"provi","Validators":[{"Id":"bob","Allocation":10000000000,"Stake":500000000},{"Id":"alice","Allocation":10000000000,"Stake":500000000},{"Id":"carol","Allocation":10000000000,"Stake":500000000}],"GenesisChanges":".app_state.ccvconsumer.params.soft_opt_out_threshold = \"0.05\""},"State":{"democ":{"ValBalances":{"alice":10000000000,"bob":10000000000,"carol":10000000000},"Proposals":null,"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null},"provi":{"ValBalances":{"alice":9500000000,"bob":9500000000,"carol":9500000000},"Proposals":null,"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null}},"ActionType":"main.startConsumerChainAction"},{"Action":{"ChainA":"democ","ChainB":"provi","ClientA":0,"ClientB":0},"State":{},"ActionType":"main.addIbcConnectionAction"},{"Action":{"ChainA":"democ","ChainB":"provi","ConnectionA":0,"PortA":"consumer","PortB":"provider","Order":"ordered","Version":""},"State":{},"ActionType":"main.addIbcChannelAction"},{"Action":{"ChainA":"democ","ChainB":"provi","ConnectionA":0,"PortA":"transfer","PortB":"transfer","Order":"unordered","ChannelA":1,"ChannelB":1},"State":{},"ActionType":"main.transferChannelCompleteAction"},{"Action":{"Chain":"provi","From":"alice","To":"alice","Amount":11000000},"State":{"democ":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":500,"bob":500,"carol":500},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null},"provi":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":511,"bob":500,"carol":500},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null}},"ActionType":"main.delegateTokensAction"},{"Action":{"Chain":"democ","From":"alice","To":"bob","Amount":1},"State":{"democ":{"ValBalances":{"alice":10000000000,"bob":10000000000},"Proposals":null,"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null}},"ActionType":"main.SendTokensAction"},{"Action":{"ChainA":"provi","ChainB":"democ","Port":"provider","Channel":0},"State":{"democ":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":511,"bob":500,"carol":500},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null}},"ActionType":"main.relayPacketsAction"},{"Action":{"Chain":"democ","From":"alice","To":"bob","Amount":1},"State":{"democ":{"ValBalances":{"alice":9999999999,"bob":10000000001},"Proposals":null,"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null}},"ActionType":"main.SendTokensAction"},{"Action":{"Chain":"democ","Representatives":["alice","bob"],"Stakes":[100000000,40000000]},"State":{"democ":{"ValBalances":null,"Proposals":null,"ValPowers":null,"RepresentativePowers":{"alice":100000000,"bob":40000000},"Params":null,"Rewards":{"IsRewarded":{"alice":true,"bob":true,"carol":false},"IsIncrementalReward":true,"IsNativeDenom":true},"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null}},"ActionType":"main.registerRepresentativeAction"},{"Action":{"Chain":"democ","From":"carol","To":"alice","Amount":500000},"State":{"democ":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":511,"bob":500,"carol":500},"RepresentativePowers":{"alice":100500000,"bob":40000000},"Params":null,"Rewards":{"IsRewarded":{"alice":true,"bob":true,"carol":true},"IsIncrementalReward":true,"IsNativeDenom":true},"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null}},"ActionType":"main.delegateTokensAction"},{"Action":{"Chain":"democ","From":"alice","Deposit":10000001,"Subspace":"transfer","Key":"SendEnabled","Value":true},"State":{"democ":{"ValBalances":{"alice":9889999998,"bob":9960000001},"Proposals":{"1":{"Deposit":10000001,"Status":"PROPOSAL_STATUS_VOTING_PERIOD","Subspace":"transfer","Key":"SendEnabled","Value":"true"}},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null}},"ActionType":"main.submitParamChangeLegacyProposalAction"},{"Action":{"Chain":"democ","From":["alice","bob"],"Vote":["yes","no"],"PropNumber":1},"State":{"democ":{"ValBalances":{"alice":9889999998,"bob":9960000001},"Proposals":null,"ValPowers":null,"RepresentativePowers":null,"Params":[{"Subspace":"transfer","Key":"SendEnabled","Value":"true"}],"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null}},"ActionType":"main.voteGovProposalAction"},{"Action":{"ConsumerChain":"democ","ProviderChain":"provi","Port":"transfer","Channel":1},"State":{"provi":{"ValBalances":null,"Proposals":null,"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":{"IsRewarded":{"alice":false,"bob":false,"carol":false},"IsIncrementalReward":false,"IsNativeDenom":false},"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":[]}},"ActionType":"main.relayRewardPacketsToProviderAction"},{"Action":{"Chain":"provi","From":"bob","Denom":"ibc/3C3D7B3BE4ECC85A0E5B52A3AEC3B7DFC2AA9CA47C37821E57020D6807043BE9"},"State":{"provi":{"ValBalances":{"bob":9490000000},"Proposals":null,"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":["ibc/3C3D7B3BE4ECC85A0E5B52A3AEC3B7DFC2AA9CA47C37821E57020D6807043BE9"]}},"ActionType":"main.registerConsumerRewardDenomAction"},{"Action":{"ConsumerChain":"democ","ProviderChain":"provi","Port":"transfer","Channel":1},"State":{"provi":{"ValBalances":null,"Proposals":null,"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":{"IsRewarded":{"alice":true,"bob":true,"carol":true},"IsIncrementalReward":false,"IsNativeDenom":false},"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null}},"ActionType":"main.relayRewardPacketsToProviderAction"},{"Action":{"Chain":"democ","Validator":"bob"},"State":{"democ":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":511,"bob":500,"carol":500},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null},"provi":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":511,"bob":500,"carol":500},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null}},"ActionType":"main.downtimeSlashAction"},{"Action":{"ChainA":"provi","ChainB":"democ","Port":"provider","Channel":0},"State":{"democ":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":511,"bob":500,"carol":500},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null},"provi":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":511,"bob":0,"carol":500},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null}},"ActionType":"main.relayPacketsAction"},{"Action":{"ChainA":"provi","ChainB":"democ","Port":"provider","Channel":0},"State":{"democ":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":511,"bob":0,"carol":500},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null}},"ActionType":"main.relayPacketsAction"},{"Action":{"Provider":"provi","Validator":"bob"},"State":{"democ":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":511,"bob":0,"carol":500},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null},"provi":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":511,"bob":500,"carol":500},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null}},"ActionType":"main.unjailValidatorAction"},{"Action":{"ChainA":"provi","ChainB":"democ","Port":"provider","Channel":0},"State":{"democ":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":511,"bob":500,"carol":500},"RepresentativePowers":{"alice":100500000,"bob":40000000},"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null}},"ActionType":"main.relayPacketsAction"}] diff --git a/tests/e2e/tracehandler_testdata/happyPath.json b/tests/e2e/tracehandler_testdata/happyPath.json index 9eb458e48b..86de051bfd 100644 --- a/tests/e2e/tracehandler_testdata/happyPath.json +++ b/tests/e2e/tracehandler_testdata/happyPath.json @@ -1,3 +1,4 @@ +<<<<<<< HEAD [ { "Action": { @@ -1977,4 +1978,7 @@ }, "ActionType": "main.voteGovProposalAction" } -] \ No newline at end of file +] +======= +[{"ActionType":"main.StartChainAction","Action":{"Chain":"provi","Validators":[{"Id":"bob","Allocation":10000000000,"Stake":500000000},{"Id":"alice","Allocation":10000000000,"Stake":500000000},{"Id":"carol","Allocation":10000000000,"Stake":500000000}],"GenesisChanges":"","SkipGentx":false},"State":{"provi":{"ValBalances":{"alice":9500000000,"bob":9500000000,"carol":9500000000},"Proposals":null,"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null}}},{"ActionType":"main.submitConsumerAdditionProposalAction","Action":{"Chain":"provi","From":"alice","Deposit":10000001,"ConsumerChain":"consu","SpawnTime":0,"InitialHeight":{"revision_height":1}},"State":{"provi":{"ValBalances":{"alice":9489999999,"bob":9500000000},"Proposals":{"1":{"ProposalType":"main.ConsumerAdditionProposal","Proposal":{"Deposit":10000001,"Chain":"consu","SpawnTime":0,"InitialHeight":{"revision_height":1},"Status":"PROPOSAL_STATUS_VOTING_PERIOD"}}},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null}}},{"ActionType":"main.assignConsumerPubKeyAction","Action":{"Chain":"consu","Validator":"carol","ConsumerPubkey":"{\"@type\":\"/cosmos.crypto.ed25519.PubKey\",\"key\":\"Ui5Gf1+mtWUdH8u3xlmzdKID+F3PK0sfXZ73GZ6q6is=\"}","ReconfigureNode":false,"ExpectError":false},"State":{"consu":{"ValBalances":null,"Proposals":null,"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":{"carol":"cosmosvalcons1kswr5sq599365kcjmhgufevfps9njf43e4lwdk"},"ProviderKeys":{"carol":"cosmosvalcons1ezyrq65s3gshhx5585w6mpusq3xsj3ayzf4uv6"},"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null}}},{"ActionType":"main.assignConsumerPubKeyAction","Action":{"Chain":"consu","Validator":"carol","ConsumerPubkey":"{\"@type\":\"/cosmos.crypto.ed25519.PubKey\",\"key\":\"Ui5Gf1+mtWUdH8u3xlmzdKID+F3PK0sfXZ73GZ6q6is=\"}","ReconfigureNode":false,"ExpectError":true},"State":{}},{"ActionType":"main.assignConsumerPubKeyAction","Action":{"Chain":"consu","Validator":"bob","ConsumerPubkey":"{\"@type\":\"/cosmos.crypto.ed25519.PubKey\",\"key\":\"Ui5Gf1+mtWUdH8u3xlmzdKID+F3PK0sfXZ73GZ6q6is=\"}","ReconfigureNode":false,"ExpectError":true},"State":{"consu":{"ValBalances":null,"Proposals":null,"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":{"bob":"","carol":"cosmosvalcons1kswr5sq599365kcjmhgufevfps9njf43e4lwdk"},"ProviderKeys":{"carol":"cosmosvalcons1ezyrq65s3gshhx5585w6mpusq3xsj3ayzf4uv6"},"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null}}},{"ActionType":"main.voteGovProposalAction","Action":{"Chain":"provi","From":["alice","bob","carol"],"Vote":["yes","yes","yes"],"PropNumber":1},"State":{"provi":{"ValBalances":{"alice":9500000000,"bob":9500000000},"Proposals":{"1":{"ProposalType":"main.ConsumerAdditionProposal","Proposal":{"Deposit":10000001,"Chain":"consu","SpawnTime":0,"InitialHeight":{"revision_height":1},"Status":"PROPOSAL_STATUS_PASSED"}}},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null}}},{"ActionType":"main.startConsumerChainAction","Action":{"ConsumerChain":"consu","ProviderChain":"provi","Validators":[{"Id":"bob","Allocation":10000000000,"Stake":500000000},{"Id":"alice","Allocation":10000000000,"Stake":500000000},{"Id":"carol","Allocation":10000000000,"Stake":500000000}],"GenesisChanges":".app_state.ccvconsumer.params.soft_opt_out_threshold = \"0.05\""},"State":{"consu":{"ValBalances":{"alice":10000000000,"bob":10000000000,"carol":10000000000},"Proposals":null,"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null},"provi":{"ValBalances":{"alice":9500000000,"bob":9500000000,"carol":9500000000},"Proposals":null,"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null}}},{"ActionType":"main.addIbcConnectionAction","Action":{"ChainA":"consu","ChainB":"provi","ClientA":0,"ClientB":0},"State":{}},{"ActionType":"main.addIbcChannelAction","Action":{"ChainA":"consu","ChainB":"provi","ConnectionA":0,"PortA":"consumer","PortB":"provider","Order":"ordered"},"State":{}},{"ActionType":"main.delegateTokensAction","Action":{"Chain":"provi","From":"alice","To":"alice","Amount":11000000},"State":{"consu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":500,"bob":500,"carol":500},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null},"provi":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":511,"bob":500,"carol":500},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null}}},{"ActionType":"main.SendTokensAction","Action":{"Chain":"consu","From":"alice","To":"bob","Amount":1},"State":{"consu":{"ValBalances":{"alice":10000000000,"bob":10000000000},"Proposals":null,"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null}}},{"ActionType":"main.relayPacketsAction","Action":{"Chain":"provi","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":511,"bob":500,"carol":500},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null}}},{"ActionType":"main.SendTokensAction","Action":{"Chain":"consu","From":"alice","To":"bob","Amount":1},"State":{"consu":{"ValBalances":{"alice":9999999999,"bob":10000000001},"Proposals":null,"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null}}},{"ActionType":"main.assignConsumerPubKeyAction","Action":{"Chain":"consu","Validator":"bob","ConsumerPubkey":"{\"@type\":\"/cosmos.crypto.ed25519.PubKey\",\"key\":\"QlG+iYe6AyYpvY1z9RNJKCVlH14Q/qSz4EjGdGCru3o=\"}","ReconfigureNode":true,"ExpectError":false},"State":{"consu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":511,"bob":500,"carol":500},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":{"bob":"cosmosvalcons1uuec3cjxajv5te08p220usrjhkfhg9wyvqn0tm","carol":"cosmosvalcons1kswr5sq599365kcjmhgufevfps9njf43e4lwdk"},"ProviderKeys":{"bob":"cosmosvalcons1nx7n5uh0ztxsynn4sje6eyq2ud6rc6klc96w39","carol":"cosmosvalcons1ezyrq65s3gshhx5585w6mpusq3xsj3ayzf4uv6"},"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null},"provi":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":511,"bob":500,"carol":500},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null}}},{"ActionType":"main.relayPacketsAction","Action":{"Chain":"provi","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":511,"bob":500,"carol":500},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":{"bob":"cosmosvalcons1uuec3cjxajv5te08p220usrjhkfhg9wyvqn0tm","carol":"cosmosvalcons1kswr5sq599365kcjmhgufevfps9njf43e4lwdk"},"ProviderKeys":{"bob":"cosmosvalcons1nx7n5uh0ztxsynn4sje6eyq2ud6rc6klc96w39","carol":"cosmosvalcons1ezyrq65s3gshhx5585w6mpusq3xsj3ayzf4uv6"},"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null},"provi":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":511,"bob":500,"carol":500},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null}}},{"ActionType":"main.unbondTokensAction","Action":{"Chain":"provi","Sender":"alice","UnbondFrom":"alice","Amount":1000000},"State":{"consu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":511,"bob":500,"carol":500},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null},"provi":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":510,"bob":500,"carol":500},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null}}},{"ActionType":"main.relayPacketsAction","Action":{"Chain":"provi","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":510,"bob":500,"carol":500},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null}}},{"ActionType":"main.redelegateTokensAction","Action":{"Chain":"provi","Src":"alice","Dst":"carol","TxSender":"alice","Amount":450000000},"State":{"consu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":510,"bob":500,"carol":500},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null},"provi":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":60,"bob":500,"carol":950},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null}}},{"ActionType":"main.relayPacketsAction","Action":{"Chain":"provi","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":60,"bob":500,"carol":950},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null}}},{"ActionType":"main.downtimeSlashAction","Action":{"Chain":"consu","Validator":"alice"},"State":{"consu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":60,"bob":500,"carol":950},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null},"provi":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":60,"bob":500,"carol":950},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null}}},{"ActionType":"main.relayPacketsAction","Action":{"Chain":"provi","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":60,"bob":500,"carol":950},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null},"provi":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":60,"bob":500,"carol":950},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null}}},{"ActionType":"main.redelegateTokensAction","Action":{"Chain":"provi","Src":"carol","Dst":"alice","TxSender":"carol","Amount":449000000},"State":{"consu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":60,"bob":500,"carol":950},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null},"provi":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":500,"carol":501},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null}}},{"ActionType":"main.relayPacketsAction","Action":{"Chain":"provi","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":500,"carol":501},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null}}},{"ActionType":"main.downtimeSlashAction","Action":{"Chain":"consu","Validator":"bob"},"State":{"consu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":500,"carol":501},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null},"provi":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":500,"carol":501},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null}}},{"ActionType":"main.relayPacketsAction","Action":{"Chain":"provi","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":500,"carol":501},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null},"provi":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":0,"carol":501},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null}}},{"ActionType":"main.relayPacketsAction","Action":{"Chain":"provi","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":0,"carol":501},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null}}},{"ActionType":"main.unjailValidatorAction","Action":{"Provider":"provi","Validator":"bob"},"State":{"consu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":0,"carol":501},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null},"provi":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":500,"carol":501},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null}}},{"ActionType":"main.relayPacketsAction","Action":{"Chain":"provi","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":500,"carol":501},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null}}},{"ActionType":"main.downtimeSlashAction","Action":{"Chain":"provi","Validator":"carol"},"State":{"consu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":500,"carol":501},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null},"provi":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":500,"carol":0},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null}}},{"ActionType":"main.relayPacketsAction","Action":{"Chain":"provi","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":500,"carol":0},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null}}},{"ActionType":"main.unjailValidatorAction","Action":{"Provider":"provi","Validator":"carol"},"State":{"consu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":500,"carol":0},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null},"provi":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":500,"carol":495},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null}}},{"ActionType":"main.relayPacketsAction","Action":{"Chain":"provi","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":500,"carol":495},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null}}},{"ActionType":"main.submitEquivocationProposalAction","Action":{"Chain":"consu","Height":10,"Time":"2023-04-27T12:25:02.372932+02:00","Power":500,"Validator":"bob","Deposit":10000001,"From":"bob"},"State":{"consu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":500,"carol":495},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null},"provi":{"ValBalances":{"bob":9500000000},"Proposals":{"2":{"ProposalType":"main.TextProposal","Proposal":{"Title":"","Description":"","Deposit":0,"Status":""}}},"ValPowers":{"alice":509,"bob":500,"carol":495},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null}}},{"ActionType":"main.doublesignSlashAction","Action":{"Validator":"carol","Chain":"provi"},"State":{"consu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":500,"carol":495},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null},"provi":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":500,"carol":0},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null}}},{"ActionType":"main.relayPacketsAction","Action":{"Chain":"provi","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":500,"carol":0},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null},"provi":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":500,"carol":0},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null}}},{"ActionType":"main.doublesignSlashAction","Action":{"Validator":"bob","Chain":"consu"},"State":{"consu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":500,"carol":0},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null},"provi":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":500,"carol":0},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null}}},{"ActionType":"main.relayPacketsAction","Action":{"Chain":"provi","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":500,"carol":0},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null},"provi":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":500,"carol":0},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null}}},{"ActionType":"main.relayPacketsAction","Action":{"Chain":"provi","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":500,"carol":0},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null},"provi":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":500,"carol":0},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null}}},{"ActionType":"main.submitEquivocationProposalAction","Action":{"Chain":"consu","Height":10,"Time":"2023-04-27T12:25:02.372938+02:00","Power":500,"Validator":"bob","Deposit":10000001,"From":"bob"},"State":{"consu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":500,"carol":0},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null},"provi":{"ValBalances":{"bob":9489999999},"Proposals":{"2":{"ProposalType":"main.EquivocationProposal","Proposal":{"Height":10,"Power":500,"ConsensusAddress":"cosmosvalcons1nx7n5uh0ztxsynn4sje6eyq2ud6rc6klc96w39","Deposit":10000001,"Status":"PROPOSAL_STATUS_VOTING_PERIOD"}}},"ValPowers":{"alice":509,"bob":500,"carol":0},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null}}},{"ActionType":"main.voteGovProposalAction","Action":{"Chain":"provi","From":["alice","bob","carol"],"Vote":["yes","yes","yes"],"PropNumber":2},"State":{"consu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":500,"carol":0},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null},"provi":{"ValBalances":null,"Proposals":{"2":{"ProposalType":"main.EquivocationProposal","Proposal":{"Height":10,"Power":500,"ConsensusAddress":"cosmosvalcons1nx7n5uh0ztxsynn4sje6eyq2ud6rc6klc96w39","Deposit":10000001,"Status":"PROPOSAL_STATUS_PASSED"}}},"ValPowers":{"alice":509,"bob":0,"carol":0},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null}}},{"ActionType":"main.relayPacketsAction","Action":{"Chain":"provi","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":0,"carol":0},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null},"provi":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":0,"carol":0},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null}}},{"ActionType":"main.startHermesAction","Action":{},"State":{}},{"ActionType":"main.submitConsumerRemovalProposalAction","Action":{"Chain":"provi","From":"bob","Deposit":10000001,"ConsumerChain":"consu","StopTimeOffset":0},"State":{"provi":{"ValBalances":{"bob":9489999999},"Proposals":{"3":{"ProposalType":"main.ConsumerRemovalProposal","Proposal":{"Deposit":10000001,"Chain":"consu","StopTime":0,"Status":"PROPOSAL_STATUS_VOTING_PERIOD"}}},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":{"consu":true},"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null}}},{"ActionType":"main.voteGovProposalAction","Action":{"Chain":"provi","From":["alice","bob","carol"],"Vote":["no","no","no"],"PropNumber":3},"State":{"provi":{"ValBalances":{"bob":9500000000},"Proposals":{"3":{"ProposalType":"main.ConsumerRemovalProposal","Proposal":{"Deposit":10000001,"Chain":"consu","StopTime":0,"Status":"PROPOSAL_STATUS_REJECTED"}}},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":{"consu":true},"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null}}},{"ActionType":"main.submitConsumerRemovalProposalAction","Action":{"Chain":"provi","From":"bob","Deposit":10000001,"ConsumerChain":"consu","StopTimeOffset":0},"State":{"provi":{"ValBalances":{"bob":9489999999},"Proposals":{"4":{"ProposalType":"main.ConsumerRemovalProposal","Proposal":{"Deposit":10000001,"Chain":"consu","StopTime":0,"Status":"PROPOSAL_STATUS_VOTING_PERIOD"}}},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":{"consu":true},"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null}}},{"ActionType":"main.voteGovProposalAction","Action":{"Chain":"provi","From":["alice","bob","carol"],"Vote":["yes","yes","yes"],"PropNumber":4},"State":{"provi":{"ValBalances":{"bob":9500000000},"Proposals":{"4":{"ProposalType":"main.ConsumerRemovalProposal","Proposal":{"Deposit":10000001,"Chain":"consu","StopTime":0,"Status":"PROPOSAL_STATUS_PASSED"}}},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":{},"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null}}}] +>>>>>>> 24b0ef1b (fix: e2e trace format fails on slashthrottlesteps (#903)) diff --git a/tests/e2e/tracehandler_testdata/multipleConsumers.json b/tests/e2e/tracehandler_testdata/multipleConsumers.json index 40430731c4..136e49360e 100644 --- a/tests/e2e/tracehandler_testdata/multipleConsumers.json +++ b/tests/e2e/tracehandler_testdata/multipleConsumers.json @@ -1 +1,5 @@ -[{"Action":{"Chain":"provi","Validators":[{"Id":"bob","Allocation":10000000000,"Stake":500000000},{"Id":"alice","Allocation":10000000000,"Stake":500000000},{"Id":"carol","Allocation":10000000000,"Stake":500000000}],"GenesisChanges":"","SkipGentx":false},"State":{"provi":{"ValBalances":{"alice":9500000000,"bob":9500000000,"carol":9500000000},"Proposals":null,"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null}},"ActionType":"main.StartChainAction"},{"Action":{"PreCCV":false,"Chain":"provi","From":"alice","Deposit":10000001,"ConsumerChain":"consu","SpawnTime":0,"InitialHeight":{"revision_height":1},"DistributionChannel":""},"State":{"provi":{"ValBalances":{"alice":9489999999,"bob":9500000000},"Proposals":{"1":{"Deposit":10000001,"Chain":"consu","SpawnTime":0,"InitialHeight":{"revision_height":1},"Status":"PROPOSAL_STATUS_VOTING_PERIOD"}},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null}},"ActionType":"main.submitConsumerAdditionProposalAction"},{"Action":{"Chain":"consu","Validator":"carol","ConsumerPubkey":"{\"@type\":\"/cosmos.crypto.ed25519.PubKey\",\"key\":\"Ui5Gf1+mtWUdH8u3xlmzdKID+F3PK0sfXZ73GZ6q6is=\"}","ReconfigureNode":false,"ExpectError":false,"ExpectedError":""},"State":{"consu":{"ValBalances":null,"Proposals":null,"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":{"carol":"cosmosvalcons1kswr5sq599365kcjmhgufevfps9njf43e4lwdk"},"ProviderKeys":{"carol":"cosmosvalcons1ezyrq65s3gshhx5585w6mpusq3xsj3ayzf4uv6"},"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null}},"ActionType":"main.assignConsumerPubKeyAction"},{"Action":{"Chain":"consu","Validator":"carol","ConsumerPubkey":"{\"@type\":\"/cosmos.crypto.ed25519.PubKey\",\"key\":\"Ui5Gf1+mtWUdH8u3xlmzdKID+F3PK0sfXZ73GZ6q6is=\"}","ReconfigureNode":false,"ExpectError":true,"ExpectedError":"a validator has assigned the consumer key already: consumer key is already in use by a validator"},"State":{},"ActionType":"main.assignConsumerPubKeyAction"},{"Action":{"Chain":"consu","Validator":"bob","ConsumerPubkey":"{\"@type\":\"/cosmos.crypto.ed25519.PubKey\",\"key\":\"Ui5Gf1+mtWUdH8u3xlmzdKID+F3PK0sfXZ73GZ6q6is=\"}","ReconfigureNode":false,"ExpectError":true,"ExpectedError":"a validator has assigned the consumer key already: consumer key is already in use by a validator"},"State":{"consu":{"ValBalances":null,"Proposals":null,"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":{"bob":"","carol":"cosmosvalcons1kswr5sq599365kcjmhgufevfps9njf43e4lwdk"},"ProviderKeys":{"carol":"cosmosvalcons1ezyrq65s3gshhx5585w6mpusq3xsj3ayzf4uv6"},"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null}},"ActionType":"main.assignConsumerPubKeyAction"},{"Action":{"Chain":"provi","From":["alice","bob","carol"],"Vote":["yes","yes","yes"],"PropNumber":1},"State":{"provi":{"ValBalances":{"alice":9500000000,"bob":9500000000},"Proposals":{"1":{"Deposit":10000001,"Chain":"consu","SpawnTime":0,"InitialHeight":{"revision_height":1},"Status":"PROPOSAL_STATUS_PASSED"}},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null}},"ActionType":"main.voteGovProposalAction"},{"Action":{"ConsumerChain":"consu","ProviderChain":"provi","Validators":[{"Id":"bob","Allocation":10000000000,"Stake":500000000},{"Id":"alice","Allocation":10000000000,"Stake":500000000},{"Id":"carol","Allocation":10000000000,"Stake":500000000}],"GenesisChanges":".app_state.ccvconsumer.params.soft_opt_out_threshold = \"0.05\""},"State":{"consu":{"ValBalances":{"alice":10000000000,"bob":10000000000,"carol":10000000000},"Proposals":null,"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null},"provi":{"ValBalances":{"alice":9500000000,"bob":9500000000,"carol":9500000000},"Proposals":null,"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null}},"ActionType":"main.startConsumerChainAction"},{"Action":{"ChainA":"consu","ChainB":"provi","ClientA":0,"ClientB":0},"State":{},"ActionType":"main.addIbcConnectionAction"},{"Action":{"ChainA":"consu","ChainB":"provi","ConnectionA":0,"PortA":"consumer","PortB":"provider","Order":"ordered","Version":""},"State":{},"ActionType":"main.addIbcChannelAction"},{"Action":{"PreCCV":false,"Chain":"provi","From":"alice","Deposit":10000001,"ConsumerChain":"densu","SpawnTime":0,"InitialHeight":{"revision_height":1},"DistributionChannel":""},"State":{"provi":{"ValBalances":{"alice":9489999999,"bob":9500000000},"Proposals":{"2":{"Deposit":10000001,"Chain":"densu","SpawnTime":0,"InitialHeight":{"revision_height":1},"Status":"PROPOSAL_STATUS_VOTING_PERIOD"}},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null}},"ActionType":"main.submitConsumerAdditionProposalAction"},{"Action":{"Chain":"densu","Validator":"carol","ConsumerPubkey":"{\"@type\":\"/cosmos.crypto.ed25519.PubKey\",\"key\":\"Ui5Gf1+mtWUdH8u3xlmzdKID+F3PK0sfXZ73GZ6q6is=\"}","ReconfigureNode":false,"ExpectError":false,"ExpectedError":""},"State":{"densu":{"ValBalances":null,"Proposals":null,"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":{"carol":"cosmosvalcons1kswr5sq599365kcjmhgufevfps9njf43e4lwdk"},"ProviderKeys":{"carol":"cosmosvalcons1ezyrq65s3gshhx5585w6mpusq3xsj3ayzf4uv6"},"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null}},"ActionType":"main.assignConsumerPubKeyAction"},{"Action":{"Chain":"densu","Validator":"carol","ConsumerPubkey":"{\"@type\":\"/cosmos.crypto.ed25519.PubKey\",\"key\":\"Ui5Gf1+mtWUdH8u3xlmzdKID+F3PK0sfXZ73GZ6q6is=\"}","ReconfigureNode":false,"ExpectError":true,"ExpectedError":"a validator has assigned the consumer key already: consumer key is already in use by a validator"},"State":{},"ActionType":"main.assignConsumerPubKeyAction"},{"Action":{"Chain":"densu","Validator":"bob","ConsumerPubkey":"{\"@type\":\"/cosmos.crypto.ed25519.PubKey\",\"key\":\"Ui5Gf1+mtWUdH8u3xlmzdKID+F3PK0sfXZ73GZ6q6is=\"}","ReconfigureNode":false,"ExpectError":true,"ExpectedError":"a validator has assigned the consumer key already: consumer key is already in use by a validator"},"State":{"densu":{"ValBalances":null,"Proposals":null,"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":{"bob":"","carol":"cosmosvalcons1kswr5sq599365kcjmhgufevfps9njf43e4lwdk"},"ProviderKeys":{"carol":"cosmosvalcons1ezyrq65s3gshhx5585w6mpusq3xsj3ayzf4uv6"},"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null}},"ActionType":"main.assignConsumerPubKeyAction"},{"Action":{"Chain":"provi","From":["alice","bob","carol"],"Vote":["yes","yes","yes"],"PropNumber":2},"State":{"provi":{"ValBalances":{"alice":9500000000,"bob":9500000000},"Proposals":{"2":{"Deposit":10000001,"Chain":"densu","SpawnTime":0,"InitialHeight":{"revision_height":1},"Status":"PROPOSAL_STATUS_PASSED"}},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null}},"ActionType":"main.voteGovProposalAction"},{"Action":{"ConsumerChain":"densu","ProviderChain":"provi","Validators":[{"Id":"bob","Allocation":10000000000,"Stake":500000000},{"Id":"alice","Allocation":10000000000,"Stake":500000000},{"Id":"carol","Allocation":10000000000,"Stake":500000000}],"GenesisChanges":".app_state.ccvconsumer.params.soft_opt_out_threshold = \"0.05\""},"State":{"densu":{"ValBalances":{"alice":10000000000,"bob":10000000000,"carol":10000000000},"Proposals":null,"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null},"provi":{"ValBalances":{"alice":9500000000,"bob":9500000000,"carol":9500000000},"Proposals":null,"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null}},"ActionType":"main.startConsumerChainAction"},{"Action":{"ChainA":"densu","ChainB":"provi","ClientA":0,"ClientB":1},"State":{},"ActionType":"main.addIbcConnectionAction"},{"Action":{"ChainA":"densu","ChainB":"provi","ConnectionA":0,"PortA":"consumer","PortB":"provider","Order":"ordered","Version":""},"State":{},"ActionType":"main.addIbcChannelAction"},{"Action":{"Chain":"provi","From":"alice","To":"alice","Amount":11000000},"State":{"consu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":500,"bob":500,"carol":500},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null},"densu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":500,"bob":500,"carol":500},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null},"provi":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":511,"bob":500,"carol":500},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null}},"ActionType":"main.delegateTokensAction"},{"Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":511,"bob":500,"carol":500},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null},"densu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":500,"bob":500,"carol":500},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null},"provi":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":511,"bob":500,"carol":500},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null}},"ActionType":"main.relayPacketsAction"},{"Action":{"ChainA":"provi","ChainB":"densu","Port":"provider","Channel":1},"State":{"consu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":511,"bob":500,"carol":500},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null},"densu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":511,"bob":500,"carol":500},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null},"provi":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":511,"bob":500,"carol":500},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null}},"ActionType":"main.relayPacketsAction"},{"Action":{"Chain":"provi","Sender":"alice","UnbondFrom":"alice","Amount":1000000},"State":{"consu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":511,"bob":500,"carol":500},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null},"densu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":511,"bob":500,"carol":500},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null},"provi":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":510,"bob":500,"carol":500},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null}},"ActionType":"main.unbondTokensAction"},{"Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":510,"bob":500,"carol":500},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null},"densu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":511,"bob":500,"carol":500},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null},"provi":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":510,"bob":500,"carol":500},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null}},"ActionType":"main.relayPacketsAction"},{"Action":{"ChainA":"provi","ChainB":"densu","Port":"provider","Channel":1},"State":{"consu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":510,"bob":500,"carol":500},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null},"densu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":510,"bob":500,"carol":500},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null},"provi":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":510,"bob":500,"carol":500},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null}},"ActionType":"main.relayPacketsAction"},{"Action":{"Chain":"provi","Src":"alice","Dst":"carol","TxSender":"alice","Amount":1000000},"State":{"consu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":510,"bob":500,"carol":500},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null},"densu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":510,"bob":500,"carol":500},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null},"provi":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":500,"carol":501},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null}},"ActionType":"main.redelegateTokensAction"},{"Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":500,"carol":501},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null},"densu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":510,"bob":500,"carol":500},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null},"provi":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":500,"carol":501},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null}},"ActionType":"main.relayPacketsAction"},{"Action":{"ChainA":"provi","ChainB":"densu","Port":"provider","Channel":1},"State":{"consu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":500,"carol":501},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null},"densu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":500,"carol":501},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null},"provi":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":500,"carol":501},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null}},"ActionType":"main.relayPacketsAction"},{"Action":{"Chain":"consu","Validator":"bob"},"State":{"consu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":500,"carol":501},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null},"densu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":500,"carol":501},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null},"provi":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":500,"carol":501},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null}},"ActionType":"main.downtimeSlashAction"},{"Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":500,"carol":501},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null},"densu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":500,"carol":501},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null},"provi":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":0,"carol":501},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null}},"ActionType":"main.relayPacketsAction"},{"Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":0,"carol":501},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null},"densu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":500,"carol":501},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null}},"ActionType":"main.relayPacketsAction"},{"Action":{"ChainA":"provi","ChainB":"densu","Port":"provider","Channel":1},"State":{"consu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":0,"carol":501},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null},"densu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":0,"carol":501},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null}},"ActionType":"main.relayPacketsAction"},{"Action":{"Provider":"provi","Validator":"bob"},"State":{"consu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":0,"carol":501},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null},"densu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":0,"carol":501},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null},"provi":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":500,"carol":501},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null}},"ActionType":"main.unjailValidatorAction"},{"Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":500,"carol":501},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null},"densu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":0,"carol":501},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null},"provi":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":500,"carol":501},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null}},"ActionType":"main.relayPacketsAction"},{"Action":{"ChainA":"provi","ChainB":"densu","Port":"provider","Channel":1},"State":{"consu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":500,"carol":501},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null},"densu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":500,"carol":501},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null},"provi":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":500,"carol":501},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null}},"ActionType":"main.relayPacketsAction"},{"Action":{"Chain":"provi","Validator":"carol"},"State":{"consu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":500,"carol":501},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null},"densu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":500,"carol":501},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null},"provi":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":500,"carol":0},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null}},"ActionType":"main.downtimeSlashAction"},{"Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":500,"carol":0},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null},"densu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":500,"carol":501},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null},"provi":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":500,"carol":0},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null}},"ActionType":"main.relayPacketsAction"},{"Action":{"ChainA":"provi","ChainB":"densu","Port":"provider","Channel":1},"State":{"consu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":500,"carol":0},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null},"densu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":500,"carol":0},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null},"provi":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":500,"carol":0},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null}},"ActionType":"main.relayPacketsAction"},{"Action":{"Provider":"provi","Validator":"carol"},"State":{"consu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":500,"carol":0},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null},"densu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":500,"carol":0},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null},"provi":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":500,"carol":495},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null}},"ActionType":"main.unjailValidatorAction"},{"Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":500,"carol":495},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null},"densu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":500,"carol":0},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null},"provi":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":500,"carol":495},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null}},"ActionType":"main.relayPacketsAction"},{"Action":{"ChainA":"provi","ChainB":"densu","Port":"provider","Channel":1},"State":{"consu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":500,"carol":495},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null},"densu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":500,"carol":495},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null},"provi":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":500,"carol":495},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null}},"ActionType":"main.relayPacketsAction"},{"Action":{"Validator":"carol","Chain":"provi"},"State":{"consu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":500,"carol":495},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null},"densu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":500,"carol":495},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null},"provi":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":500,"carol":0},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null}},"ActionType":"main.doublesignSlashAction"},{"Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":500,"carol":0},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null},"densu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":500,"carol":495},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null},"provi":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":500,"carol":0},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null}},"ActionType":"main.relayPacketsAction"},{"Action":{"ChainA":"provi","ChainB":"densu","Port":"provider","Channel":1},"State":{"consu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":500,"carol":0},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null},"densu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":500,"carol":0},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null},"provi":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":500,"carol":0},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null}},"ActionType":"main.relayPacketsAction"},{"Action":{"Validator":"bob","Chain":"consu"},"State":{"consu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":500,"carol":0},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null},"densu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":500,"carol":0},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null},"provi":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":500,"carol":0},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null}},"ActionType":"main.doublesignSlashAction"},{"Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":500,"carol":0},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null},"densu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":500,"carol":0},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null},"provi":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":500,"carol":0},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null}},"ActionType":"main.relayPacketsAction"},{"Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":500,"carol":0},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null},"densu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":500,"carol":0},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null},"provi":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":500,"carol":0},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null}},"ActionType":"main.relayPacketsAction"},{"Action":{"ChainA":"provi","ChainB":"densu","Port":"provider","Channel":1},"State":{"consu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":500,"carol":0},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null},"densu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":500,"carol":0},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null}},"ActionType":"main.relayPacketsAction"}] \ No newline at end of file +<<<<<<< HEAD +[{"Action":{"Chain":"provi","Validators":[{"Id":"bob","Allocation":10000000000,"Stake":500000000},{"Id":"alice","Allocation":10000000000,"Stake":500000000},{"Id":"carol","Allocation":10000000000,"Stake":500000000}],"GenesisChanges":"","SkipGentx":false},"State":{"provi":{"ValBalances":{"alice":9500000000,"bob":9500000000,"carol":9500000000},"Proposals":null,"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null}},"ActionType":"main.StartChainAction"},{"Action":{"PreCCV":false,"Chain":"provi","From":"alice","Deposit":10000001,"ConsumerChain":"consu","SpawnTime":0,"InitialHeight":{"revision_height":1},"DistributionChannel":""},"State":{"provi":{"ValBalances":{"alice":9489999999,"bob":9500000000},"Proposals":{"1":{"Deposit":10000001,"Chain":"consu","SpawnTime":0,"InitialHeight":{"revision_height":1},"Status":"PROPOSAL_STATUS_VOTING_PERIOD"}},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null}},"ActionType":"main.submitConsumerAdditionProposalAction"},{"Action":{"Chain":"consu","Validator":"carol","ConsumerPubkey":"{\"@type\":\"/cosmos.crypto.ed25519.PubKey\",\"key\":\"Ui5Gf1+mtWUdH8u3xlmzdKID+F3PK0sfXZ73GZ6q6is=\"}","ReconfigureNode":false,"ExpectError":false,"ExpectedError":""},"State":{"consu":{"ValBalances":null,"Proposals":null,"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":{"carol":"cosmosvalcons1kswr5sq599365kcjmhgufevfps9njf43e4lwdk"},"ProviderKeys":{"carol":"cosmosvalcons1ezyrq65s3gshhx5585w6mpusq3xsj3ayzf4uv6"},"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null}},"ActionType":"main.assignConsumerPubKeyAction"},{"Action":{"Chain":"consu","Validator":"carol","ConsumerPubkey":"{\"@type\":\"/cosmos.crypto.ed25519.PubKey\",\"key\":\"Ui5Gf1+mtWUdH8u3xlmzdKID+F3PK0sfXZ73GZ6q6is=\"}","ReconfigureNode":false,"ExpectError":true,"ExpectedError":"a validator has assigned the consumer key already: consumer key is already in use by a validator"},"State":{},"ActionType":"main.assignConsumerPubKeyAction"},{"Action":{"Chain":"consu","Validator":"bob","ConsumerPubkey":"{\"@type\":\"/cosmos.crypto.ed25519.PubKey\",\"key\":\"Ui5Gf1+mtWUdH8u3xlmzdKID+F3PK0sfXZ73GZ6q6is=\"}","ReconfigureNode":false,"ExpectError":true,"ExpectedError":"a validator has assigned the consumer key already: consumer key is already in use by a validator"},"State":{"consu":{"ValBalances":null,"Proposals":null,"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":{"bob":"","carol":"cosmosvalcons1kswr5sq599365kcjmhgufevfps9njf43e4lwdk"},"ProviderKeys":{"carol":"cosmosvalcons1ezyrq65s3gshhx5585w6mpusq3xsj3ayzf4uv6"},"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null}},"ActionType":"main.assignConsumerPubKeyAction"},{"Action":{"Chain":"provi","From":["alice","bob","carol"],"Vote":["yes","yes","yes"],"PropNumber":1},"State":{"provi":{"ValBalances":{"alice":9500000000,"bob":9500000000},"Proposals":{"1":{"Deposit":10000001,"Chain":"consu","SpawnTime":0,"InitialHeight":{"revision_height":1},"Status":"PROPOSAL_STATUS_PASSED"}},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null}},"ActionType":"main.voteGovProposalAction"},{"Action":{"ConsumerChain":"consu","ProviderChain":"provi","Validators":[{"Id":"bob","Allocation":10000000000,"Stake":500000000},{"Id":"alice","Allocation":10000000000,"Stake":500000000},{"Id":"carol","Allocation":10000000000,"Stake":500000000}],"GenesisChanges":".app_state.ccvconsumer.params.soft_opt_out_threshold = \"0.05\""},"State":{"consu":{"ValBalances":{"alice":10000000000,"bob":10000000000,"carol":10000000000},"Proposals":null,"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null},"provi":{"ValBalances":{"alice":9500000000,"bob":9500000000,"carol":9500000000},"Proposals":null,"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null}},"ActionType":"main.startConsumerChainAction"},{"Action":{"ChainA":"consu","ChainB":"provi","ClientA":0,"ClientB":0},"State":{},"ActionType":"main.addIbcConnectionAction"},{"Action":{"ChainA":"consu","ChainB":"provi","ConnectionA":0,"PortA":"consumer","PortB":"provider","Order":"ordered","Version":""},"State":{},"ActionType":"main.addIbcChannelAction"},{"Action":{"PreCCV":false,"Chain":"provi","From":"alice","Deposit":10000001,"ConsumerChain":"densu","SpawnTime":0,"InitialHeight":{"revision_height":1},"DistributionChannel":""},"State":{"provi":{"ValBalances":{"alice":9489999999,"bob":9500000000},"Proposals":{"2":{"Deposit":10000001,"Chain":"densu","SpawnTime":0,"InitialHeight":{"revision_height":1},"Status":"PROPOSAL_STATUS_VOTING_PERIOD"}},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null}},"ActionType":"main.submitConsumerAdditionProposalAction"},{"Action":{"Chain":"densu","Validator":"carol","ConsumerPubkey":"{\"@type\":\"/cosmos.crypto.ed25519.PubKey\",\"key\":\"Ui5Gf1+mtWUdH8u3xlmzdKID+F3PK0sfXZ73GZ6q6is=\"}","ReconfigureNode":false,"ExpectError":false,"ExpectedError":""},"State":{"densu":{"ValBalances":null,"Proposals":null,"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":{"carol":"cosmosvalcons1kswr5sq599365kcjmhgufevfps9njf43e4lwdk"},"ProviderKeys":{"carol":"cosmosvalcons1ezyrq65s3gshhx5585w6mpusq3xsj3ayzf4uv6"},"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null}},"ActionType":"main.assignConsumerPubKeyAction"},{"Action":{"Chain":"densu","Validator":"carol","ConsumerPubkey":"{\"@type\":\"/cosmos.crypto.ed25519.PubKey\",\"key\":\"Ui5Gf1+mtWUdH8u3xlmzdKID+F3PK0sfXZ73GZ6q6is=\"}","ReconfigureNode":false,"ExpectError":true,"ExpectedError":"a validator has assigned the consumer key already: consumer key is already in use by a validator"},"State":{},"ActionType":"main.assignConsumerPubKeyAction"},{"Action":{"Chain":"densu","Validator":"bob","ConsumerPubkey":"{\"@type\":\"/cosmos.crypto.ed25519.PubKey\",\"key\":\"Ui5Gf1+mtWUdH8u3xlmzdKID+F3PK0sfXZ73GZ6q6is=\"}","ReconfigureNode":false,"ExpectError":true,"ExpectedError":"a validator has assigned the consumer key already: consumer key is already in use by a validator"},"State":{"densu":{"ValBalances":null,"Proposals":null,"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":{"bob":"","carol":"cosmosvalcons1kswr5sq599365kcjmhgufevfps9njf43e4lwdk"},"ProviderKeys":{"carol":"cosmosvalcons1ezyrq65s3gshhx5585w6mpusq3xsj3ayzf4uv6"},"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null}},"ActionType":"main.assignConsumerPubKeyAction"},{"Action":{"Chain":"provi","From":["alice","bob","carol"],"Vote":["yes","yes","yes"],"PropNumber":2},"State":{"provi":{"ValBalances":{"alice":9500000000,"bob":9500000000},"Proposals":{"2":{"Deposit":10000001,"Chain":"densu","SpawnTime":0,"InitialHeight":{"revision_height":1},"Status":"PROPOSAL_STATUS_PASSED"}},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null}},"ActionType":"main.voteGovProposalAction"},{"Action":{"ConsumerChain":"densu","ProviderChain":"provi","Validators":[{"Id":"bob","Allocation":10000000000,"Stake":500000000},{"Id":"alice","Allocation":10000000000,"Stake":500000000},{"Id":"carol","Allocation":10000000000,"Stake":500000000}],"GenesisChanges":".app_state.ccvconsumer.params.soft_opt_out_threshold = \"0.05\""},"State":{"densu":{"ValBalances":{"alice":10000000000,"bob":10000000000,"carol":10000000000},"Proposals":null,"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null},"provi":{"ValBalances":{"alice":9500000000,"bob":9500000000,"carol":9500000000},"Proposals":null,"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null}},"ActionType":"main.startConsumerChainAction"},{"Action":{"ChainA":"densu","ChainB":"provi","ClientA":0,"ClientB":1},"State":{},"ActionType":"main.addIbcConnectionAction"},{"Action":{"ChainA":"densu","ChainB":"provi","ConnectionA":0,"PortA":"consumer","PortB":"provider","Order":"ordered","Version":""},"State":{},"ActionType":"main.addIbcChannelAction"},{"Action":{"Chain":"provi","From":"alice","To":"alice","Amount":11000000},"State":{"consu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":500,"bob":500,"carol":500},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null},"densu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":500,"bob":500,"carol":500},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null},"provi":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":511,"bob":500,"carol":500},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null}},"ActionType":"main.delegateTokensAction"},{"Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":511,"bob":500,"carol":500},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null},"densu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":500,"bob":500,"carol":500},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null},"provi":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":511,"bob":500,"carol":500},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null}},"ActionType":"main.relayPacketsAction"},{"Action":{"ChainA":"provi","ChainB":"densu","Port":"provider","Channel":1},"State":{"consu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":511,"bob":500,"carol":500},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null},"densu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":511,"bob":500,"carol":500},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null},"provi":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":511,"bob":500,"carol":500},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null}},"ActionType":"main.relayPacketsAction"},{"Action":{"Chain":"provi","Sender":"alice","UnbondFrom":"alice","Amount":1000000},"State":{"consu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":511,"bob":500,"carol":500},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null},"densu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":511,"bob":500,"carol":500},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null},"provi":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":510,"bob":500,"carol":500},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null}},"ActionType":"main.unbondTokensAction"},{"Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":510,"bob":500,"carol":500},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null},"densu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":511,"bob":500,"carol":500},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null},"provi":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":510,"bob":500,"carol":500},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null}},"ActionType":"main.relayPacketsAction"},{"Action":{"ChainA":"provi","ChainB":"densu","Port":"provider","Channel":1},"State":{"consu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":510,"bob":500,"carol":500},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null},"densu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":510,"bob":500,"carol":500},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null},"provi":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":510,"bob":500,"carol":500},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null}},"ActionType":"main.relayPacketsAction"},{"Action":{"Chain":"provi","Src":"alice","Dst":"carol","TxSender":"alice","Amount":1000000},"State":{"consu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":510,"bob":500,"carol":500},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null},"densu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":510,"bob":500,"carol":500},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null},"provi":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":500,"carol":501},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null}},"ActionType":"main.redelegateTokensAction"},{"Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":500,"carol":501},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null},"densu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":510,"bob":500,"carol":500},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null},"provi":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":500,"carol":501},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null}},"ActionType":"main.relayPacketsAction"},{"Action":{"ChainA":"provi","ChainB":"densu","Port":"provider","Channel":1},"State":{"consu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":500,"carol":501},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null},"densu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":500,"carol":501},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null},"provi":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":500,"carol":501},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null}},"ActionType":"main.relayPacketsAction"},{"Action":{"Chain":"consu","Validator":"bob"},"State":{"consu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":500,"carol":501},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null},"densu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":500,"carol":501},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null},"provi":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":500,"carol":501},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null}},"ActionType":"main.downtimeSlashAction"},{"Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":500,"carol":501},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null},"densu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":500,"carol":501},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null},"provi":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":0,"carol":501},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null}},"ActionType":"main.relayPacketsAction"},{"Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":0,"carol":501},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null},"densu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":500,"carol":501},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null}},"ActionType":"main.relayPacketsAction"},{"Action":{"ChainA":"provi","ChainB":"densu","Port":"provider","Channel":1},"State":{"consu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":0,"carol":501},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null},"densu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":0,"carol":501},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null}},"ActionType":"main.relayPacketsAction"},{"Action":{"Provider":"provi","Validator":"bob"},"State":{"consu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":0,"carol":501},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null},"densu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":0,"carol":501},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null},"provi":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":500,"carol":501},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null}},"ActionType":"main.unjailValidatorAction"},{"Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":500,"carol":501},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null},"densu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":0,"carol":501},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null},"provi":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":500,"carol":501},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null}},"ActionType":"main.relayPacketsAction"},{"Action":{"ChainA":"provi","ChainB":"densu","Port":"provider","Channel":1},"State":{"consu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":500,"carol":501},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null},"densu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":500,"carol":501},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null},"provi":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":500,"carol":501},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null}},"ActionType":"main.relayPacketsAction"},{"Action":{"Chain":"provi","Validator":"carol"},"State":{"consu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":500,"carol":501},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null},"densu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":500,"carol":501},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null},"provi":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":500,"carol":0},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null}},"ActionType":"main.downtimeSlashAction"},{"Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":500,"carol":0},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null},"densu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":500,"carol":501},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null},"provi":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":500,"carol":0},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null}},"ActionType":"main.relayPacketsAction"},{"Action":{"ChainA":"provi","ChainB":"densu","Port":"provider","Channel":1},"State":{"consu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":500,"carol":0},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null},"densu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":500,"carol":0},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null},"provi":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":500,"carol":0},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null}},"ActionType":"main.relayPacketsAction"},{"Action":{"Provider":"provi","Validator":"carol"},"State":{"consu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":500,"carol":0},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null},"densu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":500,"carol":0},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null},"provi":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":500,"carol":495},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null}},"ActionType":"main.unjailValidatorAction"},{"Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":500,"carol":495},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null},"densu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":500,"carol":0},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null},"provi":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":500,"carol":495},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null}},"ActionType":"main.relayPacketsAction"},{"Action":{"ChainA":"provi","ChainB":"densu","Port":"provider","Channel":1},"State":{"consu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":500,"carol":495},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null},"densu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":500,"carol":495},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null},"provi":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":500,"carol":495},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null}},"ActionType":"main.relayPacketsAction"},{"Action":{"Validator":"carol","Chain":"provi"},"State":{"consu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":500,"carol":495},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null},"densu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":500,"carol":495},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null},"provi":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":500,"carol":0},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null}},"ActionType":"main.doublesignSlashAction"},{"Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":500,"carol":0},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null},"densu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":500,"carol":495},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null},"provi":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":500,"carol":0},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null}},"ActionType":"main.relayPacketsAction"},{"Action":{"ChainA":"provi","ChainB":"densu","Port":"provider","Channel":1},"State":{"consu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":500,"carol":0},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null},"densu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":500,"carol":0},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null},"provi":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":500,"carol":0},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null}},"ActionType":"main.relayPacketsAction"},{"Action":{"Validator":"bob","Chain":"consu"},"State":{"consu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":500,"carol":0},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null},"densu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":500,"carol":0},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null},"provi":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":500,"carol":0},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null}},"ActionType":"main.doublesignSlashAction"},{"Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":500,"carol":0},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null},"densu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":500,"carol":0},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null},"provi":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":500,"carol":0},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null}},"ActionType":"main.relayPacketsAction"},{"Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":500,"carol":0},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null},"densu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":500,"carol":0},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null},"provi":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":500,"carol":0},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null}},"ActionType":"main.relayPacketsAction"},{"Action":{"ChainA":"provi","ChainB":"densu","Port":"provider","Channel":1},"State":{"consu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":500,"carol":0},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null},"densu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":500,"carol":0},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null}},"ActionType":"main.relayPacketsAction"}] +======= +[{"ActionType":"main.StartChainAction","Action":{"Chain":"provi","Validators":[{"Id":"bob","Allocation":10000000000,"Stake":500000000},{"Id":"alice","Allocation":10000000000,"Stake":500000000},{"Id":"carol","Allocation":10000000000,"Stake":500000000}],"GenesisChanges":"","SkipGentx":false},"State":{"provi":{"ValBalances":{"alice":9500000000,"bob":9500000000,"carol":9500000000},"Proposals":null,"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null}}},{"ActionType":"main.submitConsumerAdditionProposalAction","Action":{"Chain":"provi","From":"alice","Deposit":10000001,"ConsumerChain":"consu","SpawnTime":0,"InitialHeight":{"revision_height":1}},"State":{"provi":{"ValBalances":{"alice":9489999999,"bob":9500000000},"Proposals":{"1":{"ProposalType":"main.ConsumerAdditionProposal","Proposal":{"Deposit":10000001,"Chain":"consu","SpawnTime":0,"InitialHeight":{"revision_height":1},"Status":"PROPOSAL_STATUS_VOTING_PERIOD"}}},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null}}},{"ActionType":"main.assignConsumerPubKeyAction","Action":{"Chain":"consu","Validator":"carol","ConsumerPubkey":"{\"@type\":\"/cosmos.crypto.ed25519.PubKey\",\"key\":\"Ui5Gf1+mtWUdH8u3xlmzdKID+F3PK0sfXZ73GZ6q6is=\"}","ReconfigureNode":false,"ExpectError":false},"State":{"consu":{"ValBalances":null,"Proposals":null,"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":{"carol":"cosmosvalcons1kswr5sq599365kcjmhgufevfps9njf43e4lwdk"},"ProviderKeys":{"carol":"cosmosvalcons1ezyrq65s3gshhx5585w6mpusq3xsj3ayzf4uv6"},"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null}}},{"ActionType":"main.assignConsumerPubKeyAction","Action":{"Chain":"consu","Validator":"carol","ConsumerPubkey":"{\"@type\":\"/cosmos.crypto.ed25519.PubKey\",\"key\":\"Ui5Gf1+mtWUdH8u3xlmzdKID+F3PK0sfXZ73GZ6q6is=\"}","ReconfigureNode":false,"ExpectError":true},"State":{}},{"ActionType":"main.assignConsumerPubKeyAction","Action":{"Chain":"consu","Validator":"bob","ConsumerPubkey":"{\"@type\":\"/cosmos.crypto.ed25519.PubKey\",\"key\":\"Ui5Gf1+mtWUdH8u3xlmzdKID+F3PK0sfXZ73GZ6q6is=\"}","ReconfigureNode":false,"ExpectError":true},"State":{"consu":{"ValBalances":null,"Proposals":null,"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":{"bob":"","carol":"cosmosvalcons1kswr5sq599365kcjmhgufevfps9njf43e4lwdk"},"ProviderKeys":{"carol":"cosmosvalcons1ezyrq65s3gshhx5585w6mpusq3xsj3ayzf4uv6"},"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null}}},{"ActionType":"main.voteGovProposalAction","Action":{"Chain":"provi","From":["alice","bob","carol"],"Vote":["yes","yes","yes"],"PropNumber":1},"State":{"provi":{"ValBalances":{"alice":9500000000,"bob":9500000000},"Proposals":{"1":{"ProposalType":"main.ConsumerAdditionProposal","Proposal":{"Deposit":10000001,"Chain":"consu","SpawnTime":0,"InitialHeight":{"revision_height":1},"Status":"PROPOSAL_STATUS_PASSED"}}},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null}}},{"ActionType":"main.startConsumerChainAction","Action":{"ConsumerChain":"consu","ProviderChain":"provi","Validators":[{"Id":"bob","Allocation":10000000000,"Stake":500000000},{"Id":"alice","Allocation":10000000000,"Stake":500000000},{"Id":"carol","Allocation":10000000000,"Stake":500000000}],"GenesisChanges":".app_state.ccvconsumer.params.soft_opt_out_threshold = \"0.05\""},"State":{"consu":{"ValBalances":{"alice":10000000000,"bob":10000000000,"carol":10000000000},"Proposals":null,"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null},"provi":{"ValBalances":{"alice":9500000000,"bob":9500000000,"carol":9500000000},"Proposals":null,"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null}}},{"ActionType":"main.addIbcConnectionAction","Action":{"ChainA":"consu","ChainB":"provi","ClientA":0,"ClientB":0},"State":{}},{"ActionType":"main.addIbcChannelAction","Action":{"ChainA":"consu","ChainB":"provi","ConnectionA":0,"PortA":"consumer","PortB":"provider","Order":"ordered"},"State":{}},{"ActionType":"main.submitConsumerAdditionProposalAction","Action":{"Chain":"provi","From":"alice","Deposit":10000001,"ConsumerChain":"densu","SpawnTime":0,"InitialHeight":{"revision_height":1}},"State":{"provi":{"ValBalances":{"alice":9489999999,"bob":9500000000},"Proposals":{"2":{"ProposalType":"main.ConsumerAdditionProposal","Proposal":{"Deposit":10000001,"Chain":"densu","SpawnTime":0,"InitialHeight":{"revision_height":1},"Status":"PROPOSAL_STATUS_VOTING_PERIOD"}}},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null}}},{"ActionType":"main.assignConsumerPubKeyAction","Action":{"Chain":"densu","Validator":"carol","ConsumerPubkey":"{\"@type\":\"/cosmos.crypto.ed25519.PubKey\",\"key\":\"Ui5Gf1+mtWUdH8u3xlmzdKID+F3PK0sfXZ73GZ6q6is=\"}","ReconfigureNode":false,"ExpectError":false},"State":{"densu":{"ValBalances":null,"Proposals":null,"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":{"carol":"cosmosvalcons1kswr5sq599365kcjmhgufevfps9njf43e4lwdk"},"ProviderKeys":{"carol":"cosmosvalcons1ezyrq65s3gshhx5585w6mpusq3xsj3ayzf4uv6"},"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null}}},{"ActionType":"main.assignConsumerPubKeyAction","Action":{"Chain":"densu","Validator":"carol","ConsumerPubkey":"{\"@type\":\"/cosmos.crypto.ed25519.PubKey\",\"key\":\"Ui5Gf1+mtWUdH8u3xlmzdKID+F3PK0sfXZ73GZ6q6is=\"}","ReconfigureNode":false,"ExpectError":true},"State":{}},{"ActionType":"main.assignConsumerPubKeyAction","Action":{"Chain":"densu","Validator":"bob","ConsumerPubkey":"{\"@type\":\"/cosmos.crypto.ed25519.PubKey\",\"key\":\"Ui5Gf1+mtWUdH8u3xlmzdKID+F3PK0sfXZ73GZ6q6is=\"}","ReconfigureNode":false,"ExpectError":true},"State":{"densu":{"ValBalances":null,"Proposals":null,"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":{"bob":"","carol":"cosmosvalcons1kswr5sq599365kcjmhgufevfps9njf43e4lwdk"},"ProviderKeys":{"carol":"cosmosvalcons1ezyrq65s3gshhx5585w6mpusq3xsj3ayzf4uv6"},"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null}}},{"ActionType":"main.voteGovProposalAction","Action":{"Chain":"provi","From":["alice","bob","carol"],"Vote":["yes","yes","yes"],"PropNumber":2},"State":{"provi":{"ValBalances":{"alice":9500000000,"bob":9500000000},"Proposals":{"2":{"ProposalType":"main.ConsumerAdditionProposal","Proposal":{"Deposit":10000001,"Chain":"densu","SpawnTime":0,"InitialHeight":{"revision_height":1},"Status":"PROPOSAL_STATUS_PASSED"}}},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null}}},{"ActionType":"main.startConsumerChainAction","Action":{"ConsumerChain":"densu","ProviderChain":"provi","Validators":[{"Id":"bob","Allocation":10000000000,"Stake":500000000},{"Id":"alice","Allocation":10000000000,"Stake":500000000},{"Id":"carol","Allocation":10000000000,"Stake":500000000}],"GenesisChanges":".app_state.ccvconsumer.params.soft_opt_out_threshold = \"0.05\""},"State":{"densu":{"ValBalances":{"alice":10000000000,"bob":10000000000,"carol":10000000000},"Proposals":null,"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null},"provi":{"ValBalances":{"alice":9500000000,"bob":9500000000,"carol":9500000000},"Proposals":null,"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null}}},{"ActionType":"main.addIbcConnectionAction","Action":{"ChainA":"densu","ChainB":"provi","ClientA":0,"ClientB":1},"State":{}},{"ActionType":"main.addIbcChannelAction","Action":{"ChainA":"densu","ChainB":"provi","ConnectionA":0,"PortA":"consumer","PortB":"provider","Order":"ordered"},"State":{}},{"ActionType":"main.delegateTokensAction","Action":{"Chain":"provi","From":"alice","To":"alice","Amount":11000000},"State":{"consu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":500,"bob":500,"carol":500},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null},"densu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":500,"bob":500,"carol":500},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null},"provi":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":511,"bob":500,"carol":500},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null}}},{"ActionType":"main.relayPacketsAction","Action":{"Chain":"provi","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":511,"bob":500,"carol":500},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null},"densu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":500,"bob":500,"carol":500},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null},"provi":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":511,"bob":500,"carol":500},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null}}},{"ActionType":"main.relayPacketsAction","Action":{"Chain":"provi","Port":"provider","Channel":1},"State":{"consu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":511,"bob":500,"carol":500},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null},"densu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":511,"bob":500,"carol":500},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null},"provi":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":511,"bob":500,"carol":500},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null}}},{"ActionType":"main.unbondTokensAction","Action":{"Chain":"provi","Sender":"alice","UnbondFrom":"alice","Amount":1000000},"State":{"consu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":511,"bob":500,"carol":500},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null},"densu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":511,"bob":500,"carol":500},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null},"provi":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":510,"bob":500,"carol":500},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null}}},{"ActionType":"main.relayPacketsAction","Action":{"Chain":"provi","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":510,"bob":500,"carol":500},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null},"densu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":511,"bob":500,"carol":500},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null},"provi":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":510,"bob":500,"carol":500},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null}}},{"ActionType":"main.relayPacketsAction","Action":{"Chain":"provi","Port":"provider","Channel":1},"State":{"consu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":510,"bob":500,"carol":500},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null},"densu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":510,"bob":500,"carol":500},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null},"provi":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":510,"bob":500,"carol":500},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null}}},{"ActionType":"main.redelegateTokensAction","Action":{"Chain":"provi","Src":"alice","Dst":"carol","TxSender":"alice","Amount":1000000},"State":{"consu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":510,"bob":500,"carol":500},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null},"densu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":510,"bob":500,"carol":500},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null},"provi":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":500,"carol":501},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null}}},{"ActionType":"main.relayPacketsAction","Action":{"Chain":"provi","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":500,"carol":501},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null},"densu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":510,"bob":500,"carol":500},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null},"provi":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":500,"carol":501},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null}}},{"ActionType":"main.relayPacketsAction","Action":{"Chain":"provi","Port":"provider","Channel":1},"State":{"consu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":500,"carol":501},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null},"densu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":500,"carol":501},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null},"provi":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":500,"carol":501},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null}}},{"ActionType":"main.downtimeSlashAction","Action":{"Chain":"consu","Validator":"bob"},"State":{"consu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":500,"carol":501},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null},"densu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":500,"carol":501},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null},"provi":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":500,"carol":501},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null}}},{"ActionType":"main.relayPacketsAction","Action":{"Chain":"provi","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":500,"carol":501},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null},"densu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":500,"carol":501},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null},"provi":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":0,"carol":501},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null}}},{"ActionType":"main.relayPacketsAction","Action":{"Chain":"provi","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":0,"carol":501},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null},"densu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":500,"carol":501},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null}}},{"ActionType":"main.relayPacketsAction","Action":{"Chain":"provi","Port":"provider","Channel":1},"State":{"consu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":0,"carol":501},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null},"densu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":0,"carol":501},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null}}},{"ActionType":"main.unjailValidatorAction","Action":{"Provider":"provi","Validator":"bob"},"State":{"consu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":0,"carol":501},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null},"densu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":0,"carol":501},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null},"provi":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":500,"carol":501},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null}}},{"ActionType":"main.relayPacketsAction","Action":{"Chain":"provi","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":500,"carol":501},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null},"densu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":0,"carol":501},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null},"provi":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":500,"carol":501},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null}}},{"ActionType":"main.relayPacketsAction","Action":{"Chain":"provi","Port":"provider","Channel":1},"State":{"consu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":500,"carol":501},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null},"densu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":500,"carol":501},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null},"provi":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":500,"carol":501},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null}}},{"ActionType":"main.downtimeSlashAction","Action":{"Chain":"provi","Validator":"carol"},"State":{"consu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":500,"carol":501},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null},"densu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":500,"carol":501},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null},"provi":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":500,"carol":0},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null}}},{"ActionType":"main.relayPacketsAction","Action":{"Chain":"provi","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":500,"carol":0},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null},"densu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":500,"carol":501},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null},"provi":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":500,"carol":0},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null}}},{"ActionType":"main.relayPacketsAction","Action":{"Chain":"provi","Port":"provider","Channel":1},"State":{"consu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":500,"carol":0},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null},"densu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":500,"carol":0},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null},"provi":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":500,"carol":0},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null}}},{"ActionType":"main.unjailValidatorAction","Action":{"Provider":"provi","Validator":"carol"},"State":{"consu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":500,"carol":0},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null},"densu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":500,"carol":0},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null},"provi":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":500,"carol":495},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null}}},{"ActionType":"main.relayPacketsAction","Action":{"Chain":"provi","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":500,"carol":495},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null},"densu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":500,"carol":0},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null},"provi":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":500,"carol":495},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null}}},{"ActionType":"main.relayPacketsAction","Action":{"Chain":"provi","Port":"provider","Channel":1},"State":{"consu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":500,"carol":495},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null},"densu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":500,"carol":495},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null},"provi":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":500,"carol":495},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null}}},{"ActionType":"main.doublesignSlashAction","Action":{"Validator":"carol","Chain":"provi"},"State":{"consu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":500,"carol":495},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null},"densu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":500,"carol":495},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null},"provi":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":500,"carol":0},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null}}},{"ActionType":"main.relayPacketsAction","Action":{"Chain":"provi","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":500,"carol":0},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null},"densu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":500,"carol":495},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null},"provi":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":500,"carol":0},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null}}},{"ActionType":"main.relayPacketsAction","Action":{"Chain":"provi","Port":"provider","Channel":1},"State":{"consu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":500,"carol":0},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null},"densu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":500,"carol":0},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null},"provi":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":500,"carol":0},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null}}},{"ActionType":"main.doublesignSlashAction","Action":{"Validator":"bob","Chain":"consu"},"State":{"consu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":500,"carol":0},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null},"densu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":500,"carol":0},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null},"provi":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":500,"carol":0},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null}}},{"ActionType":"main.relayPacketsAction","Action":{"Chain":"provi","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":500,"carol":0},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null},"densu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":500,"carol":0},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null},"provi":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":500,"carol":0},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null}}},{"ActionType":"main.relayPacketsAction","Action":{"Chain":"provi","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":500,"carol":0},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null},"densu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":500,"carol":0},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null},"provi":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":500,"carol":0},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null}}},{"ActionType":"main.relayPacketsAction","Action":{"Chain":"provi","Port":"provider","Channel":1},"State":{"consu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":500,"carol":0},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null},"densu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":509,"bob":500,"carol":0},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null}}}] +>>>>>>> 24b0ef1b (fix: e2e trace format fails on slashthrottlesteps (#903)) diff --git a/tests/e2e/tracehandler_testdata/slashThrottleSteps.json b/tests/e2e/tracehandler_testdata/slashThrottleSteps.json new file mode 100644 index 0000000000..c06c4b4bb6 --- /dev/null +++ b/tests/e2e/tracehandler_testdata/slashThrottleSteps.json @@ -0,0 +1 @@ +[{"ActionType":"main.StartChainAction","Action":{"Chain":"provi","Validators":[{"Id":"bob","Allocation":10000000000,"Stake":500000000},{"Id":"alice","Allocation":10000000000,"Stake":500000000},{"Id":"carol","Allocation":10000000000,"Stake":500000000}],"GenesisChanges":"","SkipGentx":false},"State":{"provi":{"ValBalances":{"alice":9500000000,"bob":9500000000,"carol":9500000000},"Proposals":null,"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null}}},{"ActionType":"main.submitConsumerAdditionProposalAction","Action":{"Chain":"provi","From":"alice","Deposit":10000001,"ConsumerChain":"consu","SpawnTime":0,"InitialHeight":{"revision_height":1}},"State":{"provi":{"ValBalances":{"alice":9489999999,"bob":9500000000},"Proposals":{"1":{"ProposalType":"main.ConsumerAdditionProposal","Proposal":{"Deposit":10000001,"Chain":"consu","SpawnTime":0,"InitialHeight":{"revision_height":1},"Status":"PROPOSAL_STATUS_VOTING_PERIOD"}}},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null}}},{"ActionType":"main.assignConsumerPubKeyAction","Action":{"Chain":"consu","Validator":"carol","ConsumerPubkey":"{\"@type\":\"/cosmos.crypto.ed25519.PubKey\",\"key\":\"Ui5Gf1+mtWUdH8u3xlmzdKID+F3PK0sfXZ73GZ6q6is=\"}","ReconfigureNode":false,"ExpectError":false},"State":{"consu":{"ValBalances":null,"Proposals":null,"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":{"carol":"cosmosvalcons1kswr5sq599365kcjmhgufevfps9njf43e4lwdk"},"ProviderKeys":{"carol":"cosmosvalcons1ezyrq65s3gshhx5585w6mpusq3xsj3ayzf4uv6"},"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null}}},{"ActionType":"main.assignConsumerPubKeyAction","Action":{"Chain":"consu","Validator":"carol","ConsumerPubkey":"{\"@type\":\"/cosmos.crypto.ed25519.PubKey\",\"key\":\"Ui5Gf1+mtWUdH8u3xlmzdKID+F3PK0sfXZ73GZ6q6is=\"}","ReconfigureNode":false,"ExpectError":true},"State":{}},{"ActionType":"main.assignConsumerPubKeyAction","Action":{"Chain":"consu","Validator":"bob","ConsumerPubkey":"{\"@type\":\"/cosmos.crypto.ed25519.PubKey\",\"key\":\"Ui5Gf1+mtWUdH8u3xlmzdKID+F3PK0sfXZ73GZ6q6is=\"}","ReconfigureNode":false,"ExpectError":true},"State":{"consu":{"ValBalances":null,"Proposals":null,"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":{"bob":"","carol":"cosmosvalcons1kswr5sq599365kcjmhgufevfps9njf43e4lwdk"},"ProviderKeys":{"carol":"cosmosvalcons1ezyrq65s3gshhx5585w6mpusq3xsj3ayzf4uv6"},"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null}}},{"ActionType":"main.voteGovProposalAction","Action":{"Chain":"provi","From":["alice","bob","carol"],"Vote":["yes","yes","yes"],"PropNumber":1},"State":{"provi":{"ValBalances":{"alice":9500000000,"bob":9500000000},"Proposals":{"1":{"ProposalType":"main.ConsumerAdditionProposal","Proposal":{"Deposit":10000001,"Chain":"consu","SpawnTime":0,"InitialHeight":{"revision_height":1},"Status":"PROPOSAL_STATUS_PASSED"}}},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null}}},{"ActionType":"main.startConsumerChainAction","Action":{"ConsumerChain":"consu","ProviderChain":"provi","Validators":[{"Id":"bob","Allocation":10000000000,"Stake":500000000},{"Id":"alice","Allocation":10000000000,"Stake":500000000},{"Id":"carol","Allocation":10000000000,"Stake":500000000}],"GenesisChanges":".app_state.ccvconsumer.params.soft_opt_out_threshold = \"0.05\""},"State":{"consu":{"ValBalances":{"alice":10000000000,"bob":10000000000,"carol":10000000000},"Proposals":null,"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null},"provi":{"ValBalances":{"alice":9500000000,"bob":9500000000,"carol":9500000000},"Proposals":null,"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null}}},{"ActionType":"main.addIbcConnectionAction","Action":{"ChainA":"consu","ChainB":"provi","ClientA":0,"ClientB":0},"State":{}},{"ActionType":"main.addIbcChannelAction","Action":{"ChainA":"consu","ChainB":"provi","ConnectionA":0,"PortA":"consumer","PortB":"provider","Order":"ordered"},"State":{}},{"ActionType":"main.delegateTokensAction","Action":{"Chain":"provi","From":"alice","To":"alice","Amount":11000000},"State":{"consu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":500,"bob":500,"carol":500},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null},"provi":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":511,"bob":500,"carol":500},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null}}},{"ActionType":"main.SendTokensAction","Action":{"Chain":"consu","From":"alice","To":"bob","Amount":1},"State":{"consu":{"ValBalances":{"alice":10000000000,"bob":10000000000},"Proposals":null,"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null}}},{"ActionType":"main.relayPacketsAction","Action":{"Chain":"provi","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":511,"bob":500,"carol":500},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null}}},{"ActionType":"main.SendTokensAction","Action":{"Chain":"consu","From":"alice","To":"bob","Amount":1},"State":{"consu":{"ValBalances":{"alice":9999999999,"bob":10000000001},"Proposals":null,"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null}}},{"ActionType":"main.downtimeSlashAction","Action":{"Chain":"consu","Validator":"bob"},"State":{"consu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":511,"bob":500,"carol":500},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null},"provi":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":511,"bob":500,"carol":500},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null}}},{"ActionType":"main.downtimeSlashAction","Action":{"Chain":"consu","Validator":"carol"},"State":{"consu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":511,"bob":500,"carol":500},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null},"provi":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":511,"bob":500,"carol":500},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null}}},{"ActionType":"main.relayPacketsAction","Action":{"Chain":"provi","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":511,"bob":500,"carol":500},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null},"provi":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":511,"bob":0,"carol":500},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":{"consu":1},"GlobalSlashQueueSize":1}}},{"ActionType":"main.slashThrottleDequeue","Action":{"Chain":"consu","CurrentQueueSize":1,"NextQueueSize":0,"Timeout":80000000000},"State":{"consu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":511,"bob":500,"carol":500},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null},"provi":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":511,"bob":0,"carol":0},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":{"consu":0},"GlobalSlashQueueSize":0}}},{"ActionType":"main.relayPacketsAction","Action":{"Chain":"provi","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":511,"bob":0,"carol":0},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null},"provi":{"ValBalances":null,"Proposals":null,"ValPowers":{"alice":511,"bob":0,"carol":0},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":{"consu":0},"GlobalSlashQueueSize":0}}},{"ActionType":"main.submitConsumerRemovalProposalAction","Action":{"Chain":"provi","From":"bob","Deposit":10000001,"ConsumerChain":"consu","StopTimeOffset":0},"State":{"provi":{"ValBalances":{"bob":9489999999},"Proposals":{"2":{"ProposalType":"main.ConsumerRemovalProposal","Proposal":{"Deposit":10000001,"Chain":"consu","StopTime":0,"Status":"PROPOSAL_STATUS_VOTING_PERIOD"}}},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":{"consu":true},"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null}}},{"ActionType":"main.voteGovProposalAction","Action":{"Chain":"provi","From":["alice","bob","carol"],"Vote":["yes","yes","yes"],"PropNumber":2},"State":{"provi":{"ValBalances":{"bob":9500000000},"Proposals":{"2":{"ProposalType":"main.ConsumerRemovalProposal","Proposal":{"Deposit":10000001,"Chain":"consu","StopTime":0,"Status":"PROPOSAL_STATUS_PASSED"}}},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":{},"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null}}}] \ No newline at end of file diff --git a/tests/e2e/tracehandler_testdata/start_provider_chain.json b/tests/e2e/tracehandler_testdata/start_provider_chain.json index c12a954fa3..557d527724 100644 --- a/tests/e2e/tracehandler_testdata/start_provider_chain.json +++ b/tests/e2e/tracehandler_testdata/start_provider_chain.json @@ -1 +1,5 @@ -[{"Action":{"Chain":"provi","Validators":[{"Id":"bob","Allocation":10000000000,"Stake":500000000},{"Id":"alice","Allocation":10000000000,"Stake":500000000},{"Id":"carol","Allocation":10000000000,"Stake":500000000}],"GenesisChanges":"","SkipGentx":false},"State":{"provi":{"ValBalances":{"alice":9500000000,"bob":9500000000,"carol":9500000000},"Proposals":null,"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null}},"ActionType":"main.StartChainAction"}] \ No newline at end of file +<<<<<<< HEAD +[{"Action":{"Chain":"provi","Validators":[{"Id":"bob","Allocation":10000000000,"Stake":500000000},{"Id":"alice","Allocation":10000000000,"Stake":500000000},{"Id":"carol","Allocation":10000000000,"Stake":500000000}],"GenesisChanges":"","SkipGentx":false},"State":{"provi":{"ValBalances":{"alice":9500000000,"bob":9500000000,"carol":9500000000},"Proposals":null,"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null}},"ActionType":"main.StartChainAction"}] +======= +[{"ActionType":"main.StartChainAction","Action":{"Chain":"provi","Validators":[{"Id":"bob","Allocation":10000000000,"Stake":500000000},{"Id":"alice","Allocation":10000000000,"Stake":500000000},{"Id":"carol","Allocation":10000000000,"Stake":500000000}],"GenesisChanges":"","SkipGentx":false},"State":{"provi":{"ValBalances":{"alice":9500000000,"bob":9500000000,"carol":9500000000},"Proposals":null,"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null}}}] +>>>>>>> 24b0ef1b (fix: e2e trace format fails on slashthrottlesteps (#903))