From d8dcf54812a2f6f7bb536e5d1cd0d77781ffbb5d Mon Sep 17 00:00:00 2001 From: Philip Offtermatt Date: Tue, 19 Sep 2023 10:32:07 +0200 Subject: [PATCH 01/32] Add json marshal/unmarshal for test traces --- tests/e2e/action_rapid_test.go | 485 ++++++++++++++++++ tests/e2e/json_marshal_test.go | 189 +++++++ tests/e2e/json_parser.go | 35 ++ tests/e2e/json_utils.go | 448 ++++++++++++++++ tests/e2e/json_writer.go | 30 ++ tests/e2e/state_rapid_test.go | 232 +++++++++ tests/e2e/step_rapid_test.go | 51 ++ tests/e2e/trace_handlers_test.go | 242 +++++++++ .../e2e/tracehandler_testdata/changeover.json | 1 + .../e2e/tracehandler_testdata/democracy.json | 1 + .../e2e/tracehandler_testdata/happyPath.json | 1 + .../multipleConsumers.json | 1 + .../rewardDenomConsumer.json | 1 + .../e2e/tracehandler_testdata/shorthappy.json | 1 + .../tracehandler_testdata/slashThrottle.json | 1 + .../slashThrottleSteps.json | 1 + .../start_provider_chain.json | 1 + 17 files changed, 1721 insertions(+) create mode 100644 tests/e2e/action_rapid_test.go create mode 100644 tests/e2e/json_marshal_test.go create mode 100644 tests/e2e/json_parser.go create mode 100644 tests/e2e/json_utils.go create mode 100644 tests/e2e/json_writer.go create mode 100644 tests/e2e/state_rapid_test.go create mode 100644 tests/e2e/step_rapid_test.go create mode 100644 tests/e2e/trace_handlers_test.go create mode 100644 tests/e2e/tracehandler_testdata/changeover.json create mode 100644 tests/e2e/tracehandler_testdata/democracy.json create mode 100644 tests/e2e/tracehandler_testdata/happyPath.json create mode 100644 tests/e2e/tracehandler_testdata/multipleConsumers.json create mode 100644 tests/e2e/tracehandler_testdata/rewardDenomConsumer.json create mode 100644 tests/e2e/tracehandler_testdata/shorthappy.json create mode 100644 tests/e2e/tracehandler_testdata/slashThrottle.json create mode 100644 tests/e2e/tracehandler_testdata/slashThrottleSteps.json create mode 100644 tests/e2e/tracehandler_testdata/start_provider_chain.json diff --git a/tests/e2e/action_rapid_test.go b/tests/e2e/action_rapid_test.go new file mode 100644 index 0000000000..d50cae72d0 --- /dev/null +++ b/tests/e2e/action_rapid_test.go @@ -0,0 +1,485 @@ +package main + +import ( + "encoding/json" + "fmt" + "testing" + "time" + + "github.com/google/go-cmp/cmp" + "github.com/stretchr/testify/require" + "pgregory.net/rapid" +) + +func TestActionMarshalling(t *testing.T) { + rapid.Check(t, func(t *rapid.T) { + action := GetActionGen().Draw(t, "Action") + err := MarshalAndUnmarshalAction(action) + if err != nil { + t.Fatalf("error marshalling and unmarshalling action: %v", err) + } + }) +} + +func MarshalAndUnmarshalAction(action interface{}) error { + // wraps the action with a step, since it needs custom unmarshalling that is called by the step unmarshaller + step := Step{ + Action: action, + } + jsonobj, err := json.Marshal(step) + if err != nil { + return fmt.Errorf("error marshalling action inside step: %v", err) + } + + var got Step + err = json.Unmarshal(jsonobj, &got) + if err != nil { + return fmt.Errorf("error unmarshalling action inside step: %v", err) + } + + diff := cmp.Diff(step, got) + if diff != "" { + return fmt.Errorf("got (-), want (+): %v", diff) + } + + return nil +} + +// This needs to be adjusted manually when new actions are added and should +// include generators for all actions that are mentioned in main.go/runStep. +func GetActionGen() *rapid.Generator[any] { + return rapid.OneOf( + GetStartSovereignChainActionGen().AsAny(), + GetSubmitLegacyUpgradeProposalActionGen().AsAny(), + GetWaitUntilBlockActionGen().AsAny(), + GetChangeoverChainActionGen().AsAny(), + GetSendTokensActionGen().AsAny(), + GetStartChainActionGen().AsAny(), + GetSubmitTextProposalActionGen().AsAny(), + GetSubmitConsumerAdditionProposalActionGen().AsAny(), + GetSubmitConsumerRemovalProposalActionGen().AsAny(), + GetSubmitParamChangeProposalActionGen().AsAny(), + GetSubmitEquivocationProposalActionGen().AsAny(), + GetVoteGovProposalActionGen().AsAny(), + GetStartConsumerChainActionGen().AsAny(), + GetAddChainToRelayerActionGen().AsAny(), + GetAddIbcConnectionActionGen().AsAny(), + GetAddIbcChannelActionGen().AsAny(), + GetStartRelayerActionGen().AsAny(), + GetTransferChannelCompleteActionGen().AsAny(), + GetRelayPacketsActionGen().AsAny(), + GetRelayRewardPacketsToProviderActionGen().AsAny(), + GetDelegateTokensActionGen().AsAny(), + GetUnbondTokensActionGen().AsAny(), + GetRedelegateTokensActionGen().AsAny(), + GetDowntimeSlashActionGen().AsAny(), + GetUnjailValidatorActionGen().AsAny(), + GetRegisterRepresentativeActionGen().AsAny(), + GetDoublesignSlashActionGen().AsAny(), + GetAssignConsumerPubKeyActionGen().AsAny(), + GetSlashThrottleDequeueGen().AsAny(), + GetCreateIbcClientsActionGen().AsAny(), + CreateCancelUnbondTokensActionGen().AsAny(), + CreateLightClientEquivocationAttackActionGen().AsAny(), + CreateLightClientAmnesiaAttackActionGen().AsAny(), + CreateLightClientLunaticAttackActionGen().AsAny(), + ) +} + +func CreateLightClientEquivocationAttackActionGen() *rapid.Generator[lightClientEquivocationAttackAction] { + return rapid.Custom(func(t *rapid.T) lightClientEquivocationAttackAction { + return lightClientEquivocationAttackAction{ + Validator: GetValidatorIDGen().Draw(t, "Validator"), + Chain: GetChainIDGen().Draw(t, "Chain"), + } + }) +} + +func CreateLightClientAmnesiaAttackActionGen() *rapid.Generator[lightClientAmnesiaAttackAction] { + return rapid.Custom(func(t *rapid.T) lightClientAmnesiaAttackAction { + return lightClientAmnesiaAttackAction{ + Validator: GetValidatorIDGen().Draw(t, "Validator"), + Chain: GetChainIDGen().Draw(t, "Chain"), + } + }) +} + +func CreateLightClientLunaticAttackActionGen() *rapid.Generator[lightClientLunaticAttackAction] { + return rapid.Custom(func(t *rapid.T) lightClientLunaticAttackAction { + return lightClientLunaticAttackAction{ + Validator: GetValidatorIDGen().Draw(t, "Validator"), + Chain: GetChainIDGen().Draw(t, "Chain"), + } + }) +} + +func CreateCancelUnbondTokensActionGen() *rapid.Generator[cancelUnbondTokensAction] { + return rapid.Custom(func(t *rapid.T) cancelUnbondTokensAction { + return cancelUnbondTokensAction{ + Chain: GetChainIDGen().Draw(t, "Chain"), + Amount: rapid.Uint().Draw(t, "Amount"), + Delegator: GetValidatorIDGen().Draw(t, "Delegator"), + Validator: GetValidatorIDGen().Draw(t, "Validator"), + } + }) +} + +func GetCreateIbcClientsActionGen() *rapid.Generator[createIbcClientsAction] { + return rapid.Custom(func(t *rapid.T) createIbcClientsAction { + return createIbcClientsAction{ + ChainA: GetChainIDGen().Draw(t, "ChainA"), + ChainB: GetChainIDGen().Draw(t, "ChainB"), + } + }) +} + +func GetStartSovereignChainActionGen() *rapid.Generator[StartSovereignChainAction] { + return rapid.Custom(func(t *rapid.T) StartSovereignChainAction { + return StartSovereignChainAction{ + Chain: GetChainIDGen().Draw(t, "Chain"), + Validators: GetStartChainValidatorsGen().Draw(t, "Validators"), + GenesisChanges: rapid.String().Draw(t, "GenesisChanges"), + } + }) +} + +func GetSubmitLegacyUpgradeProposalActionGen() *rapid.Generator[LegacyUpgradeProposalAction] { + return rapid.Custom(func(t *rapid.T) LegacyUpgradeProposalAction { + return LegacyUpgradeProposalAction{ + ChainID: GetChainIDGen().Draw(t, "ChainID"), + UpgradeTitle: rapid.String().Draw(t, "UpgradeTitle"), + Proposer: GetValidatorIDGen().Draw(t, "Proposer"), + UpgradeHeight: rapid.Uint64().Draw(t, "UpgradeHeight"), + } + }) +} + +func GetWaitUntilBlockActionGen() *rapid.Generator[waitUntilBlockAction] { + return rapid.Custom(func(t *rapid.T) waitUntilBlockAction { + return waitUntilBlockAction{ + Chain: GetChainIDGen().Draw(t, "Chain"), + Block: rapid.Uint().Draw(t, "Block"), + } + }) +} + +func GetChangeoverChainActionGen() *rapid.Generator[ChangeoverChainAction] { + return rapid.Custom(func(t *rapid.T) ChangeoverChainAction { + return ChangeoverChainAction{ + SovereignChain: GetChainIDGen().Draw(t, "SovereignChain"), + ProviderChain: GetChainIDGen().Draw(t, "ProviderChain"), + Validators: GetStartChainValidatorsGen().Draw(t, "Validators"), + GenesisChanges: rapid.String().Draw(t, "GenesisChanges"), + } + }) +} + +func GetSendTokensActionGen() *rapid.Generator[SendTokensAction] { + return rapid.Custom(func(t *rapid.T) SendTokensAction { + return SendTokensAction{ + Amount: rapid.Uint().Draw(t, "Amount"), + Chain: GetChainIDGen().Draw(t, "Chain"), + From: GetValidatorIDGen().Draw(t, "From"), + To: GetValidatorIDGen().Draw(t, "To"), + } + }) +} + +func GetStartChainActionGen() *rapid.Generator[StartChainAction] { + return rapid.Custom(func(t *rapid.T) StartChainAction { + return StartChainAction{ + Chain: GetChainIDGen().Draw(t, "Chain"), + Validators: GetStartChainValidatorsGen().Draw(t, "Validators"), + GenesisChanges: rapid.String().Draw(t, "GenesisChanges"), + SkipGentx: rapid.Bool().Draw(t, "SkipGentx"), + } + }) +} + +func GetStartChainValidatorsGen() *rapid.Generator[[]StartChainValidator] { + return rapid.Custom(func(t *rapid.T) []StartChainValidator { + return rapid.SliceOf(GetStartChainValidatorGen()).Draw(t, "StartChainValidators") + }) +} + +func GetStartChainValidatorGen() *rapid.Generator[StartChainValidator] { + return rapid.Custom(func(t *rapid.T) StartChainValidator { + return StartChainValidator{ + Id: GetValidatorIDGen().Draw(t, "Id"), + Allocation: rapid.Uint().Draw(t, "Allocation"), + Stake: rapid.Uint().Draw(t, "Stake"), + } + }) +} + +func GetSubmitTextProposalActionGen() *rapid.Generator[submitTextProposalAction] { + return rapid.Custom(func(t *rapid.T) submitTextProposalAction { + return submitTextProposalAction{ + Chain: GetChainIDGen().Draw(t, "Chain"), + From: GetValidatorIDGen().Draw(t, "From"), + Deposit: rapid.Uint().Draw(t, "Deposit"), + PropType: rapid.String().Draw(t, "PropType"), + Title: rapid.String().Draw(t, "Title"), + Description: rapid.String().Draw(t, "Description"), + } + }) +} + +func GetSubmitConsumerAdditionProposalActionGen() *rapid.Generator[submitConsumerAdditionProposalAction] { + return rapid.Custom(func(t *rapid.T) submitConsumerAdditionProposalAction { + return submitConsumerAdditionProposalAction{ + Chain: GetChainIDGen().Draw(t, "Chain"), + From: GetValidatorIDGen().Draw(t, "From"), + Deposit: rapid.Uint().Draw(t, "Deposit"), + ConsumerChain: GetChainIDGen().Draw(t, "ConsumerChain"), + SpawnTime: rapid.Uint().Draw(t, "SpawnTime"), + InitialHeight: GetHeightGen().Draw(t, "InitialHeight"), + } + }) +} + +func GetSubmitConsumerRemovalProposalActionGen() *rapid.Generator[submitConsumerRemovalProposalAction] { + return rapid.Custom(func(t *rapid.T) submitConsumerRemovalProposalAction { + return submitConsumerRemovalProposalAction{ + Chain: GetChainIDGen().Draw(t, "Chain"), + From: GetValidatorIDGen().Draw(t, "From"), + Deposit: rapid.Uint().Draw(t, "Deposit"), + ConsumerChain: GetChainIDGen().Draw(t, "ConsumerChain"), + StopTimeOffset: time.Duration(rapid.Int64().Draw(t, "StopTimeOffset")), + } + }) +} + +func GetSubmitParamChangeProposalActionGen() *rapid.Generator[submitParamChangeLegacyProposalAction] { + return rapid.Custom(func(t *rapid.T) submitParamChangeLegacyProposalAction { + return submitParamChangeLegacyProposalAction{ + Chain: GetChainIDGen().Draw(t, "Chain"), + From: GetValidatorIDGen().Draw(t, "From"), + Deposit: rapid.Uint().Draw(t, "Deposit"), + Subspace: rapid.String().Draw(t, "Subspace"), + Key: rapid.String().Draw(t, "Key"), + Value: rapid.String().Draw(t, "Value"), // TODO: make this more generic + } + }) +} + +func GetSubmitEquivocationProposalActionGen() *rapid.Generator[submitEquivocationProposalAction] { + return rapid.Custom(func(t *rapid.T) submitEquivocationProposalAction { + return submitEquivocationProposalAction{ + Chain: GetChainIDGen().Draw(t, "Chain"), + From: GetValidatorIDGen().Draw(t, "From"), + Deposit: rapid.Uint().Draw(t, "Deposit"), + Height: rapid.Int64().Draw(t, "Height"), + Time: GetTimeGen().Draw(t, "Time"), + Power: rapid.Int64().Draw(t, "Power"), + } + }) +} + +func TestMarshalAndUnmarshalTime(t *testing.T) { + rapid.Check(t, func(t *rapid.T) { + time1 := GetTimeGen().Draw(t, "time") + data, err := time1.MarshalJSON() + require.NoError(t, err) + var time2 time.Time + err = time2.UnmarshalJSON(data) + require.NoError(t, err) + require.True(t, time1.Equal(time2)) + }) +} + +func GetTimeGen() *rapid.Generator[time.Time] { + return rapid.Custom(func(t *rapid.T) time.Time { + return time.Unix(rapid.Int64Range(-5.9959e+10, 1.5779e+11).Draw(t, "unix time"), 0).UTC() + }) +} + +func GetVoteGovProposalActionGen() *rapid.Generator[voteGovProposalAction] { + return rapid.Custom(func(t *rapid.T) voteGovProposalAction { + return voteGovProposalAction{ + Chain: GetChainIDGen().Draw(t, "Chain"), + From: rapid.SliceOf(GetValidatorIDGen()).Draw(t, "From"), + Vote: rapid.SliceOf(rapid.String()).Draw(t, "Vote"), + PropNumber: rapid.Uint().Draw(t, "PropNumber"), + } + }) +} + +func GetStartConsumerChainActionGen() *rapid.Generator[startConsumerChainAction] { + return rapid.Custom(func(t *rapid.T) startConsumerChainAction { + return startConsumerChainAction{ + ConsumerChain: GetChainIDGen().Draw(t, "ConsumerChain"), + ProviderChain: GetChainIDGen().Draw(t, "ProviderChain"), + Validators: GetStartChainValidatorsGen().Draw(t, "Validators"), + GenesisChanges: rapid.String().Draw(t, "GenesisChanges"), + } + }) +} + +func GetAddChainToRelayerActionGen() *rapid.Generator[addChainToRelayerAction] { + return rapid.Custom(func(t *rapid.T) addChainToRelayerAction { + return addChainToRelayerAction{ + Chain: GetChainIDGen().Draw(t, "Chain"), + Validator: GetValidatorIDGen().Draw(t, "Validator"), + } + }) +} + +func GetAddIbcConnectionActionGen() *rapid.Generator[addIbcConnectionAction] { + return rapid.Custom(func(t *rapid.T) addIbcConnectionAction { + return addIbcConnectionAction{ + ChainA: GetChainIDGen().Draw(t, "ChainA"), + ChainB: GetChainIDGen().Draw(t, "ChainB"), + ClientA: rapid.Uint().Draw(t, "ClientA"), + ClientB: rapid.Uint().Draw(t, "ClientB"), + } + }) +} + +func GetAddIbcChannelActionGen() *rapid.Generator[addIbcChannelAction] { + return rapid.Custom(func(t *rapid.T) addIbcChannelAction { + return addIbcChannelAction{ + ChainA: GetChainIDGen().Draw(t, "ChainA"), + ChainB: GetChainIDGen().Draw(t, "ChainB"), + ConnectionA: rapid.Uint().Draw(t, "ConnectionA"), + PortA: rapid.String().Draw(t, "PortA"), + PortB: rapid.String().Draw(t, "PortB"), + Order: rapid.String().Draw(t, "Order"), + } + }) +} + +func GetStartRelayerActionGen() *rapid.Generator[startRelayerAction] { + return rapid.Just(startRelayerAction{}) +} + +func GetTransferChannelCompleteActionGen() *rapid.Generator[transferChannelCompleteAction] { + return rapid.Custom(func(t *rapid.T) transferChannelCompleteAction { + return transferChannelCompleteAction{ + ChainA: GetChainIDGen().Draw(t, "ChainA"), + ChainB: GetChainIDGen().Draw(t, "ChainB"), + ConnectionA: rapid.Uint().Draw(t, "ConnectionA"), + PortA: rapid.String().Draw(t, "PortA"), + PortB: rapid.String().Draw(t, "PortB"), + Order: rapid.String().Draw(t, "Order"), + ChannelA: rapid.Uint().Draw(t, "ChannelA"), + ChannelB: rapid.Uint().Draw(t, "ChannelB"), + } + }) +} + +func GetRelayPacketsActionGen() *rapid.Generator[relayPacketsAction] { + return rapid.Custom(func(t *rapid.T) relayPacketsAction { + return relayPacketsAction{ + ChainA: GetChainIDGen().Draw(t, "Chain"), + ChainB: GetChainIDGen().Draw(t, "Chain"), + Port: rapid.String().Draw(t, "Port"), + Channel: rapid.Uint().Draw(t, "Channel"), + } + }) +} + +func GetRelayRewardPacketsToProviderActionGen() *rapid.Generator[relayRewardPacketsToProviderAction] { + return rapid.Custom(func(t *rapid.T) relayRewardPacketsToProviderAction { + return relayRewardPacketsToProviderAction{ + ConsumerChain: GetChainIDGen().Draw(t, "ConsumerChain"), + ProviderChain: GetChainIDGen().Draw(t, "ProviderChain"), + Port: rapid.String().Draw(t, "Port"), + Channel: rapid.Uint().Draw(t, "Channel"), + } + }) +} + +func GetDelegateTokensActionGen() *rapid.Generator[delegateTokensAction] { + return rapid.Custom(func(t *rapid.T) delegateTokensAction { + return delegateTokensAction{ + Chain: GetChainIDGen().Draw(t, "Chain"), + Amount: rapid.Uint().Draw(t, "Amount"), + From: GetValidatorIDGen().Draw(t, "From"), + To: GetValidatorIDGen().Draw(t, "To"), + } + }) +} + +func GetUnbondTokensActionGen() *rapid.Generator[unbondTokensAction] { + return rapid.Custom(func(t *rapid.T) unbondTokensAction { + return unbondTokensAction{ + Chain: GetChainIDGen().Draw(t, "Chain"), + Amount: rapid.Uint().Draw(t, "Amount"), + Sender: GetValidatorIDGen().Draw(t, "Sender"), + UnbondFrom: GetValidatorIDGen().Draw(t, "UnbondFrom"), + } + }) +} + +func GetRedelegateTokensActionGen() *rapid.Generator[redelegateTokensAction] { + return rapid.Custom(func(t *rapid.T) redelegateTokensAction { + return redelegateTokensAction{ + Chain: GetChainIDGen().Draw(t, "Chain"), + Amount: rapid.Uint().Draw(t, "Amount"), + Src: GetValidatorIDGen().Draw(t, "Src"), + Dst: GetValidatorIDGen().Draw(t, "Dst"), + TxSender: GetValidatorIDGen().Draw(t, "TxSender"), + } + }) +} + +func GetDowntimeSlashActionGen() *rapid.Generator[downtimeSlashAction] { + return rapid.Custom(func(t *rapid.T) downtimeSlashAction { + return downtimeSlashAction{ + Chain: GetChainIDGen().Draw(t, "Chain"), + Validator: GetValidatorIDGen().Draw(t, "Validator"), + } + }) +} + +func GetUnjailValidatorActionGen() *rapid.Generator[unjailValidatorAction] { + return rapid.Custom(func(t *rapid.T) unjailValidatorAction { + return unjailValidatorAction{ + Validator: GetValidatorIDGen().Draw(t, "Validator"), + Provider: GetChainIDGen().Draw(t, "Provider"), + } + }) +} + +func GetRegisterRepresentativeActionGen() *rapid.Generator[registerRepresentativeAction] { + return rapid.Custom(func(t *rapid.T) registerRepresentativeAction { + return registerRepresentativeAction{ + Chain: GetChainIDGen().Draw(t, "Chain"), + Representatives: rapid.SliceOf(GetValidatorIDGen()).Draw(t, "Representatives"), + Stakes: rapid.SliceOf(rapid.Uint()).Draw(t, "Stakes"), + } + }) +} + +func GetDoublesignSlashActionGen() *rapid.Generator[doublesignSlashAction] { + return rapid.Custom(func(t *rapid.T) doublesignSlashAction { + return doublesignSlashAction{ + Chain: GetChainIDGen().Draw(t, "Chain"), + Validator: GetValidatorIDGen().Draw(t, "Validator"), + } + }) +} + +func GetAssignConsumerPubKeyActionGen() *rapid.Generator[assignConsumerPubKeyAction] { + return rapid.Custom(func(t *rapid.T) assignConsumerPubKeyAction { + return assignConsumerPubKeyAction{ + Chain: GetChainIDGen().Draw(t, "Chain"), + Validator: GetValidatorIDGen().Draw(t, "Validator"), + ConsumerPubkey: rapid.String().Draw(t, "ConsumerPubkey"), + ReconfigureNode: rapid.Bool().Draw(t, "ReconfigureNode"), + ExpectError: rapid.Bool().Draw(t, "ExpectError"), + } + }) +} + +func GetSlashThrottleDequeueGen() *rapid.Generator[slashThrottleDequeue] { + return rapid.Custom(func(t *rapid.T) slashThrottleDequeue { + return slashThrottleDequeue{ + Chain: GetChainIDGen().Draw(t, "Chain"), + CurrentQueueSize: rapid.Int().Draw(t, "CurrentQueueSize"), + NextQueueSize: rapid.Int().Draw(t, "NextQueueSize"), + Timeout: time.Duration(rapid.Int().Draw(t, "Timeout")) * time.Millisecond, + } + }) +} diff --git a/tests/e2e/json_marshal_test.go b/tests/e2e/json_marshal_test.go new file mode 100644 index 0000000000..5ee91dcb66 --- /dev/null +++ b/tests/e2e/json_marshal_test.go @@ -0,0 +1,189 @@ +package main + +import ( + "encoding/json" + "reflect" + "strings" + "testing" + + clienttypes "github.com/cosmos/ibc-go/v7/modules/core/02-client/types" + "github.com/davecgh/go-spew/spew" +) + +func TestProposalUnmarshal(t *testing.T) { + proposalAndTypeString := `{ + "Type": "main.ConsumerAdditionProposal", + "RawProposal": { + "Deposit": 10000001, + "Chain": "consu", + "SpawnTime": 0, + "InitialHeight": { + "revision_height": 1 + }, + "Status": "PROPOSAL_STATUS_PASSED" + } + }` + + expectedProposal := ConsumerAdditionProposal{ + Deposit: 10000001, + Chain: ChainID("consu"), + SpawnTime: 0, + InitialHeight: clienttypes.Height{RevisionNumber: 0, RevisionHeight: 1}, + Status: "PROPOSAL_STATUS_PASSED", + } + + type ProposalAndType struct { + RawProposal json.RawMessage + Type string + } + + propAndType := &ProposalAndType{} + err := json.Unmarshal([]byte(proposalAndTypeString), propAndType) + if err != nil { + t.Errorf("Unexpected error while unmarshalling: %v", err) + } + + actualProposal, err := UnmarshalProposalWithType(propAndType.RawProposal, propAndType.Type) + if err != nil { + t.Errorf("Unexpected error while unmarshalling\n error: %v\n Raw proposal: %v\n Type: %v", err, spew.Sdump(propAndType.RawProposal), propAndType.Type) + } + + if !reflect.DeepEqual(actualProposal, expectedProposal) { + t.Errorf("Expected proposal: %v, but got: %v", spew.Sdump(expectedProposal), spew.Sdump(actualProposal)) + } +} + +type ChainStateTestCase struct { + name string + jsonBytes []byte + chainState ChainState + expectedUnmarshalErrorText string +} + +var testCases = []ChainStateTestCase{ + { + name: "valid JSON with proposals", + jsonBytes: []byte(`{ + "ValBalances": { + "alice": 9500000000, + "bob": 9500000000, + "carol": 9500000000 + }, + "Proposals": { + "1": { + "Type": "main.ConsumerAdditionProposal", + "RawProposal": { + "Deposit": 10000001, + "Chain": "consu", + "SpawnTime": 0, + "InitialHeight": { + "revision_height": 1 + }, + "Status": "PROPOSAL_STATUS_PASSED" + } + } + } + }`), + chainState: ChainState{ + ValBalances: &map[ValidatorID]uint{ + ValidatorID("alice"): 9500000000, + ValidatorID("bob"): 9500000000, + ValidatorID("carol"): 9500000000, + }, + Proposals: &map[uint]Proposal{ + 1: ConsumerAdditionProposal{ + Deposit: 10000001, + Chain: ChainID("consu"), + SpawnTime: 0, + InitialHeight: clienttypes.Height{RevisionNumber: 0, RevisionHeight: 1}, + Status: "PROPOSAL_STATUS_PASSED", + }, + }, + }, + expectedUnmarshalErrorText: "", + }, + { + name: "invalid JSON", + jsonBytes: []byte(`thisisnotagoodjsonstring`), + expectedUnmarshalErrorText: "invalid json", + }, + { + name: "unknown proposal type", + jsonBytes: []byte(`{ + "ValBalances": { + "alice": 9500000000, + "bob": 9500000000, + "carol": 9500000000 + }, + "Proposals": { + "1": { + "Type": "main.NotAProposalTypeProposal", + "RawProposal": { + "Deposit": 10000001, + "Chain": "consu", + "SpawnTime": 0, + "InitialHeight": { + "revision_height": 1 + }, + "Status": "PROPOSAL_STATUS_PASSED" + } + } + }, + }`), + expectedUnmarshalErrorText: "not a known proposal type", + }, +} + +func TestUnmarshalJSON(t *testing.T) { + for _, tc := range testCases { + t.Run(tc.name, func(t *testing.T) { + var result ChainState + err := result.UnmarshalJSON(tc.jsonBytes) + if err != nil && tc.expectedUnmarshalErrorText == "" { + t.Errorf("Test case %v: Unexpected error: %v", tc.name, err) + } + + if err == nil && tc.expectedUnmarshalErrorText != "" { + t.Errorf("Test case %v: Expected error to contain: %v, but got no error", tc.name, tc.expectedUnmarshalErrorText) + } + + if err != nil && tc.expectedUnmarshalErrorText != "" && strings.Contains(err.Error(), tc.expectedUnmarshalErrorText) { + t.Errorf("Test case %v: Expected error to contain: %v, but got: %v", tc.name, tc.expectedUnmarshalErrorText, err) + } + + if !reflect.DeepEqual(result, tc.chainState) { + t.Errorf("Test case %v: Expected ChainState: %v, but got: %v", tc.name, tc.chainState, result) + } + }) + } +} + +func TestMarshalJSON(t *testing.T) { + // checks that marshalling and unmarshalling is the identity + // would optimally check that the marshalled JSON is the same as the expected JSON, + // but the marshalled JSON will specifically list null fields + for _, tc := range testCases { + t.Run(tc.name, func(t *testing.T) { + result, err := tc.chainState.MarshalJSON() + if err != nil { + t.Errorf("Test case %v: Unexpected error while marshalling: %v", tc.name, err) + } + + if tc.expectedUnmarshalErrorText != "" { + // unmarshalling to compare does not make sense, since we expect it to + // fail, so just test that marshalling works and continue + return + } + + unmarshalledResult := ChainState{} + err = unmarshalledResult.UnmarshalJSON(result) + if err != nil { + t.Errorf("Test case %v: Unexpected error while unmarshalling: %v", tc.name, err) + } + + if !reflect.DeepEqual(unmarshalledResult, tc.chainState) { + t.Errorf("Test case %v: Expected: %v, but got: %v", tc.name, string(tc.jsonBytes), string(result)) + } + }) + } +} diff --git a/tests/e2e/json_parser.go b/tests/e2e/json_parser.go new file mode 100644 index 0000000000..9dfcbb494b --- /dev/null +++ b/tests/e2e/json_parser.go @@ -0,0 +1,35 @@ +package main + +import ( + "encoding/json" + "os" + "path/filepath" +) + +// TraceParser provides an interface for parsers that read sequences of Steps from files. +type TraceParser interface { + ReadTraceFromFile(filepath string) ([]Step, error) +} + +// JSONParser is a simple parser that reads steps by unmarshalling from a file. +type JSONParser struct{} + +var GlobalJSONParser = JSONParser{} + +func (parser JSONParser) ReadTraceFromFile(path string) ([]Step, error) { + // Open the JSON file and read into a bite array + jsonData, err := os.ReadFile(filepath.Clean(path)) + if err != nil { + return nil, err + } + + // Unmarshal the JSON into a slice of Step structs + var steps []Step + + err = json.Unmarshal(jsonData, &steps) + if err != nil { + return nil, err + } + + return steps, nil +} diff --git a/tests/e2e/json_utils.go b/tests/e2e/json_utils.go new file mode 100644 index 0000000000..77304dda9c --- /dev/null +++ b/tests/e2e/json_utils.go @@ -0,0 +1,448 @@ +package main + +import ( + "encoding/json" + "fmt" + "reflect" +) + +// MarshalJSON marshals a step into JSON while including the type of the action. +func (step Step) MarshalJSON() ([]byte, error) { + actionType := reflect.TypeOf(step.Action) + + result := struct { + ActionType string + Action interface{} + State State + }{ + ActionType: actionType.String(), + 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 +} + +// UnmarshalMapToActionType takes a JSON object and an action type and marshals into an object of the corresponding action. +func UnmarshalMapToActionType(rawAction json.RawMessage, actionTypeString string) (interface{}, error) { + switch actionTypeString { + case "main.submitConsumerAdditionProposalAction": + var a submitConsumerAdditionProposalAction + err := json.Unmarshal(rawAction, &a) + if err != nil { + return nil, err + } + return a, nil + case "main.SendTokensAction": + var a SendTokensAction + err := json.Unmarshal(rawAction, &a) + if err != nil { + return nil, err + } + return a, nil + case "main.StartChainAction": + var a StartChainAction + err := json.Unmarshal(rawAction, &a) + if err != nil { + return nil, err + } + return a, nil + case "main.submitTextProposalAction": + var a submitTextProposalAction + err := json.Unmarshal(rawAction, &a) + if err != nil { + return nil, err + } + return a, nil + case "main.submitConsumerRemovalProposalAction": + var a submitConsumerRemovalProposalAction + err := json.Unmarshal(rawAction, &a) + if err != nil { + return nil, err + } + return a, nil + case "main.submitEquivocationProposalAction": + var a submitEquivocationProposalAction + err := json.Unmarshal(rawAction, &a) + if err != nil { + return nil, err + } + return a, nil + case "main.submitParamChangeLegacyProposalAction": + var a submitParamChangeLegacyProposalAction + err := json.Unmarshal(rawAction, &a) + if err != nil { + return nil, err + } + return a, nil + case "main.voteGovProposalAction": + var a voteGovProposalAction + err := json.Unmarshal(rawAction, &a) + if err != nil { + return nil, err + } + return a, nil + case "main.startConsumerChainAction": + var a startConsumerChainAction + err := json.Unmarshal(rawAction, &a) + if err != nil { + return nil, err + } + return a, nil + case "main.addChainToRelayerAction": + var a addChainToRelayerAction + err := json.Unmarshal(rawAction, &a) + if err != nil { + return nil, err + } + return a, nil + case "main.addIbcConnectionAction": + var a addIbcConnectionAction + err := json.Unmarshal(rawAction, &a) + if err != nil { + return nil, err + } + return a, nil + case "main.addIbcChannelAction": + var a addIbcChannelAction + err := json.Unmarshal(rawAction, &a) + if err != nil { + return nil, err + } + return a, nil + case "main.transferChannelCompleteAction": + var a transferChannelCompleteAction + err := json.Unmarshal(rawAction, &a) + if err != nil { + return nil, err + } + return a, nil + case "main.unjailValidatorAction": + var a unjailValidatorAction + err := json.Unmarshal(rawAction, &a) + if err != nil { + return nil, err + } + return a, nil + case "main.assignConsumerPubKeyAction": + var a assignConsumerPubKeyAction + err := json.Unmarshal(rawAction, &a) + if err != nil { + return nil, err + } + return a, nil + case "main.delegateTokensAction": + var a delegateTokensAction + err := json.Unmarshal(rawAction, &a) + if err != nil { + return nil, err + } + return a, nil + case "main.relayPacketsAction": + var a relayPacketsAction + err := json.Unmarshal(rawAction, &a) + if err != nil { + return nil, err + } + return a, nil + case "main.registerRepresentativeAction": + var a registerRepresentativeAction + err := json.Unmarshal(rawAction, &a) + if err != nil { + return nil, err + } + return a, nil + case "main.relayRewardPacketsToProviderAction": + var a relayRewardPacketsToProviderAction + err := json.Unmarshal(rawAction, &a) + if err != nil { + return nil, err + } + return a, nil + case "main.submitChangeRewardDenomsProposalAction": + var a submitChangeRewardDenomsProposalAction + err := json.Unmarshal(rawAction, &a) + if err != nil { + return nil, err + } + return a, nil + case "main.downtimeSlashAction": + var a downtimeSlashAction + err := json.Unmarshal(rawAction, &a) + if err != nil { + return nil, err + } + return a, nil + case "main.unbondTokensAction": + var a unbondTokensAction + err := json.Unmarshal(rawAction, &a) + if err != nil { + return nil, err + } + return a, nil + case "main.cancelUnbondTokensAction": + var a cancelUnbondTokensAction + err := json.Unmarshal(rawAction, &a) + if err != nil { + return nil, err + } + return a, nil + case "main.redelegateTokensAction": + var a redelegateTokensAction + err := json.Unmarshal(rawAction, &a) + if err != nil { + return nil, err + } + return a, nil + case "main.doublesignSlashAction": + var a doublesignSlashAction + err := json.Unmarshal(rawAction, &a) + if err != nil { + return nil, err + } + return a, nil + case "main.startRelayerAction": + var a startRelayerAction + err := json.Unmarshal(rawAction, &a) + if err != nil { + return nil, err + } + return a, nil + case "main.slashThrottleDequeue": + var a slashThrottleDequeue + err := json.Unmarshal(rawAction, &a) + if err != nil { + return nil, err + } + return a, nil + case "main.createIbcClientsAction": + var a createIbcClientsAction + err := json.Unmarshal(rawAction, &a) + if err != nil { + return nil, err + } + return a, nil + case "main.LegacyUpgradeProposalAction": + var a LegacyUpgradeProposalAction + err := json.Unmarshal(rawAction, &a) + if err != nil { + return nil, err + } + return a, nil + case "main.waitUntilBlockAction": + var a waitUntilBlockAction + err := json.Unmarshal(rawAction, &a) + if err != nil { + return nil, err + } + return a, nil + case "main.ChangeoverChainAction": + var a ChangeoverChainAction + err := json.Unmarshal(rawAction, &a) + if err != nil { + return nil, err + } + return a, nil + case "main.StartSovereignChainAction": + var a StartSovereignChainAction + err := json.Unmarshal(rawAction, &a) + if err != nil { + return nil, err + } + return a, nil + case "main.lightClientEquivocationAttackAction": + var a lightClientEquivocationAttackAction + err := json.Unmarshal(rawAction, &a) + if err != nil { + return nil, err + } + return a, nil + case "main.lightClientAmnesiaAttackAction": + var a lightClientAmnesiaAttackAction + err := json.Unmarshal(rawAction, &a) + if err != nil { + return nil, err + } + return a, nil + case "main.lightClientLunaticAttackAction": + var a lightClientLunaticAttackAction + err := json.Unmarshal(rawAction, &a) + if err != nil { + return nil, err + } + return a, nil + default: + return nil, fmt.Errorf("unknown action name: %s", actionTypeString) + } +} + +// custom marshal and unmarshal functions for the chainstate that convert proposals to/from the auxiliary type with type info + +// transform the ChainState into a ChainStateWithProposalTypes by adding type info to the proposals +func (c ChainState) MarshalJSON() ([]byte, error) { + type ProposalAndType struct { + RawProposal interface{} + Type string + } + + type ChainStateWithProposalTypes struct { + ValBalances *map[ValidatorID]uint + ValPowers *map[ValidatorID]uint + RepresentativePowers *map[ValidatorID]uint + Params *[]Param + Rewards *Rewards + ConsumerChains *map[ChainID]bool + AssignedKeys *map[ValidatorID]string + ProviderKeys *map[ValidatorID]string + ConsumerChainQueueSizes *map[ChainID]uint + GlobalSlashQueueSize *uint + RegisteredConsumerRewardDenoms *[]string + Proposals *map[uint]ProposalAndType // the only thing changed from the real ChainState + } + + chainStateWithProposalTypes := ChainStateWithProposalTypes{ + ValBalances: c.ValBalances, + ValPowers: c.ValPowers, + RepresentativePowers: c.RepresentativePowers, + Params: c.Params, + Rewards: c.Rewards, + ConsumerChains: c.ConsumerChains, + AssignedKeys: c.AssignedKeys, + ProviderKeys: c.ProviderKeys, + ConsumerChainQueueSizes: c.ConsumerChainQueueSizes, + GlobalSlashQueueSize: c.GlobalSlashQueueSize, + RegisteredConsumerRewardDenoms: c.RegisteredConsumerRewardDenoms, + } + if c.Proposals != nil { + proposalsWithTypes := make(map[uint]ProposalAndType) + for k, v := range *c.Proposals { + proposalsWithTypes[k] = ProposalAndType{v, reflect.TypeOf(v).String()} + } + chainStateWithProposalTypes.Proposals = &proposalsWithTypes + } + return json.Marshal(chainStateWithProposalTypes) +} + +// unmarshal the ChainStateWithProposalTypes into a ChainState by removing the type info from the proposals and getting back standard proposals +func (c *ChainState) UnmarshalJSON(data []byte) error { + type ProposalAndType struct { + RawProposal json.RawMessage + Type string + } + + type ChainStateWithProposalTypes struct { + ValBalances *map[ValidatorID]uint + ValPowers *map[ValidatorID]uint + RepresentativePowers *map[ValidatorID]uint + Params *[]Param + Rewards *Rewards + ConsumerChains *map[ChainID]bool + AssignedKeys *map[ValidatorID]string + ProviderKeys *map[ValidatorID]string + ConsumerChainQueueSizes *map[ChainID]uint + GlobalSlashQueueSize *uint + RegisteredConsumerRewardDenoms *[]string + Proposals *map[uint]ProposalAndType // the only thing changed from the real ChainState + } + + chainStateWithProposalTypes := ChainStateWithProposalTypes{} + err := json.Unmarshal(data, &chainStateWithProposalTypes) + if err != nil { + return err + } + c.ValBalances = chainStateWithProposalTypes.ValBalances + c.ValPowers = chainStateWithProposalTypes.ValPowers + c.RepresentativePowers = chainStateWithProposalTypes.RepresentativePowers + c.Params = chainStateWithProposalTypes.Params + c.Rewards = chainStateWithProposalTypes.Rewards + c.ConsumerChains = chainStateWithProposalTypes.ConsumerChains + c.AssignedKeys = chainStateWithProposalTypes.AssignedKeys + c.ProviderKeys = chainStateWithProposalTypes.ProviderKeys + c.ConsumerChainQueueSizes = chainStateWithProposalTypes.ConsumerChainQueueSizes + c.GlobalSlashQueueSize = chainStateWithProposalTypes.GlobalSlashQueueSize + c.RegisteredConsumerRewardDenoms = chainStateWithProposalTypes.RegisteredConsumerRewardDenoms + + if chainStateWithProposalTypes.Proposals != nil { + proposals := make(map[uint]Proposal) + for k, v := range *chainStateWithProposalTypes.Proposals { + proposal, err := UnmarshalProposalWithType(v.RawProposal, v.Type) + if err != nil { + return err + } + proposals[k] = proposal + } + c.Proposals = &proposals + } + return nil +} + +// UnmarshalProposalWithType takes a JSON object and a proposal type and marshals into an object of the corresponding proposal. +func UnmarshalProposalWithType(inputMap json.RawMessage, proposalType string) (Proposal, error) { + switch proposalType { + case "main.TextProposal": + prop := TextProposal{} + err := json.Unmarshal(inputMap, &prop) + if err != nil { + return nil, err + } + return prop, nil + case "main.ConsumerAdditionProposal": + prop := ConsumerAdditionProposal{} + err := json.Unmarshal(inputMap, &prop) + if err != nil { + return nil, err + } + return prop, nil + case "main.UpgradeProposal": + prop := UpgradeProposal{} + err := json.Unmarshal(inputMap, &prop) + if err != nil { + return nil, err + } + return prop, nil + case "main.ConsumerRemovalProposal": + prop := ConsumerRemovalProposal{} + err := json.Unmarshal(inputMap, &prop) + if err != nil { + return nil, err + } + return prop, nil + case "main.EquivocationProposal": + prop := EquivocationProposal{} + err := json.Unmarshal(inputMap, &prop) + if err != nil { + return nil, err + } + return prop, nil + case "main.ParamsProposal": + prop := ParamsProposal{} + err := json.Unmarshal(inputMap, &prop) + if err != nil { + return nil, err + } + return prop, nil + default: + return nil, fmt.Errorf("%s is not a known proposal type", proposalType) + } +} diff --git a/tests/e2e/json_writer.go b/tests/e2e/json_writer.go new file mode 100644 index 0000000000..97a01a47cd --- /dev/null +++ b/tests/e2e/json_writer.go @@ -0,0 +1,30 @@ +package main + +import ( + "encoding/json" + "os" +) + +// TraceWriter is an interface for writers that write steps to files. +type TraceWriter interface { + WriteTraceToFile(filepath string, trace []Step) error +} + +// JSONWriter is a simple writer that simply marshals the array of Step objects. +// To identify which type of action is being used, we add a field to the Step struct. +type JSONWriter struct{} + +var GlobalJSONWriter = JSONWriter{} + +func (writer JSONWriter) WriteTraceToFile(filepath string, trace []Step) error { + // collect missing action types, if any. this way, we can provide a more helpful error message. + + // workaround: we would keep a set, but go doesn't have sets. + jsonobj, err := json.Marshal(trace) + if err != nil { + panic(err) + } + + err = os.WriteFile(filepath, jsonobj, 0o600) + return err +} diff --git a/tests/e2e/state_rapid_test.go b/tests/e2e/state_rapid_test.go new file mode 100644 index 0000000000..d8bb33c121 --- /dev/null +++ b/tests/e2e/state_rapid_test.go @@ -0,0 +1,232 @@ +package main + +import ( + "testing" + + clienttypes "github.com/cosmos/ibc-go/v7/modules/core/02-client/types" + "pgregory.net/rapid" +) + +func TestChainStateMarshalling(t *testing.T) { + rapid.Check(t, func(t *rapid.T) { + chainState := GetChainStateGen().Draw(t, "ChainState") + err := MarshalAndUnmarshalChainState(chainState) + if err != nil { + t.Fatalf("error marshalling and unmarshalling chain state: %v", err) + } + }) +} + +func GetStateGen() *rapid.Generator[State] { + return rapid.Custom(func(t *rapid.T) State { + return rapid.MapOf(GetChainIDGen(), GetChainStateGen()).Draw(t, "State") + }) +} + +func GetChainStateGen() *rapid.Generator[ChainState] { + return rapid.Custom( + func(t *rapid.T) ChainState { + valBalances := GetValBalancesGen().Draw(t, "ValBalances") + proposals := GetProposalsGen().Draw(t, "Proposals") + valPowers := GetValPowersGen().Draw(t, "ValPowers") + representativePowers := GetRepresentativePowersGen().Draw(t, "RepresentativePowers") + params := GetParamsGen().Draw(t, "Params") + rewards := GetRewardsGen().Draw(t, "Rewards") + consumerChains := GetConsumerChainsGen().Draw(t, "ConsumerChains") + assignedKeys := GetAssignedKeysGen().Draw(t, "AssignedKeys") + providerKeys := GetProviderKeysGen().Draw(t, "ProviderKeys") + consumerChainQueueSizes := GetConsumerChainQueueSizesGen().Draw(t, "ConsumerChainQueueSizes") + globalSlashQueueSize := rapid.Uint().Draw(t, "GlobalSlashQueueSize") + + return ChainState{ + ValBalances: &valBalances, + Proposals: &proposals, + ValPowers: &valPowers, + RepresentativePowers: &representativePowers, + Params: ¶ms, + Rewards: &rewards, + ConsumerChains: &consumerChains, + AssignedKeys: &assignedKeys, + ProviderKeys: &providerKeys, + ConsumerChainQueueSizes: &consumerChainQueueSizes, + GlobalSlashQueueSize: &globalSlashQueueSize, + } + }) +} + +func GetConsumerChainQueueSizesGen() *rapid.Generator[map[ChainID]uint] { + return rapid.Custom(func(t *rapid.T) map[ChainID]uint { + return rapid.MapOf(GetChainIDGen(), rapid.Uint()).Draw(t, "ConsumerChainQueueSizes") + }) +} + +func GetProviderKeysGen() *rapid.Generator[map[ValidatorID]string] { + return rapid.Custom(func(t *rapid.T) map[ValidatorID]string { + return rapid.MapOf(GetValidatorIDGen(), rapid.String()).Draw(t, "ProviderKeys") + }) +} + +func GetAssignedKeysGen() *rapid.Generator[map[ValidatorID]string] { + return rapid.Custom(func(t *rapid.T) map[ValidatorID]string { + return rapid.MapOf(GetValidatorIDGen(), rapid.String()).Draw(t, "AssignedKeys") + }) +} + +func GetChainIDGen() *rapid.Generator[ChainID] { + return rapid.Custom(func(t *rapid.T) ChainID { + return ChainID(rapid.String().Draw(t, "ChainID")) + }) +} + +func GetConsumerChainsGen() *rapid.Generator[map[ChainID]bool] { + return rapid.Custom(func(t *rapid.T) map[ChainID]bool { + return rapid.MapOf(GetChainIDGen(), rapid.Bool()).Draw(t, "ConsumerChains") + }) +} + +func GetRewardsGen() *rapid.Generator[Rewards] { + return rapid.Custom(func(t *rapid.T) Rewards { + return Rewards{ + IsIncrementalReward: rapid.Bool().Draw(t, "IsIncrementalReward"), + IsNativeDenom: rapid.Bool().Draw(t, "IsNativeDenom"), + IsRewarded: rapid.MapOf(GetValidatorIDGen(), rapid.Bool()).Draw(t, "IsRewarded"), + } + }) +} + +func GetParamsGen() *rapid.Generator[[]Param] { + return rapid.Custom(func(t *rapid.T) []Param { + return rapid.SliceOf(GetParamGen()).Draw(t, "Params") + }) +} + +func GetParamGen() *rapid.Generator[Param] { + return rapid.Custom(func(t *rapid.T) Param { + return Param{ + Key: rapid.String().Draw(t, "Key"), + Value: rapid.String().Draw(t, "Value"), + } + }) +} + +func GetRepresentativePowersGen() *rapid.Generator[map[ValidatorID]uint] { + return rapid.Custom(func(t *rapid.T) map[ValidatorID]uint { + return rapid.MapOf( + GetValidatorIDGen(), + rapid.Uint(), + ).Draw(t, "RepresentativePowers") + }) +} + +func GetValPowersGen() *rapid.Generator[map[ValidatorID]uint] { + return rapid.Custom(func(t *rapid.T) map[ValidatorID]uint { + return rapid.MapOf( + GetValidatorIDGen(), + rapid.Uint(), + ).Draw(t, "ValPowers") + }) +} + +func GetValBalancesGen() *rapid.Generator[map[ValidatorID]uint] { + return rapid.Custom(func(t *rapid.T) map[ValidatorID]uint { + return rapid.MapOf( + GetValidatorIDGen(), + rapid.Uint(), + ).Draw(t, "ValBalances") + }) +} + +func GetValidatorIDGen() *rapid.Generator[ValidatorID] { + return rapid.Custom(func(t *rapid.T) ValidatorID { + return ValidatorID(rapid.String().Draw(t, "ValidatorID")) + }) +} + +func GetProposalsGen() *rapid.Generator[map[uint]Proposal] { + return rapid.Custom(func(t *rapid.T) map[uint]Proposal { + return rapid.MapOf( + rapid.Uint(), + GetProposalGen(), + ).Draw(t, "Proposals") + }) +} + +func GetProposalGen() *rapid.Generator[Proposal] { + return rapid.Custom(func(t *rapid.T) Proposal { + gen := rapid.OneOf( + GetConsumerAdditionProposalGen().AsAny(), + GetConsumerRemovalProposalGen().AsAny(), + GetEquivocationProposalGen().AsAny(), + GetTextProposalGen().AsAny(), + GetParamsProposalGen().AsAny(), + ) + return gen.Draw(t, "Proposal").(Proposal) + }) +} + +func GetConsumerAdditionProposalGen() *rapid.Generator[ConsumerAdditionProposal] { + return rapid.Custom(func(t *rapid.T) ConsumerAdditionProposal { + return ConsumerAdditionProposal{ + Deposit: rapid.Uint().Draw(t, "Deposit"), + Chain: GetChainIDGen().Draw(t, "Chain"), + SpawnTime: rapid.Int().Draw(t, "SpawnTime"), + InitialHeight: GetHeightGen().Draw(t, "InitialHeight"), + Status: rapid.String().Draw(t, "Status"), + } + }) +} + +func GetConsumerRemovalProposalGen() *rapid.Generator[ConsumerRemovalProposal] { + return rapid.Custom(func(t *rapid.T) ConsumerRemovalProposal { + return ConsumerRemovalProposal{ + Deposit: rapid.Uint().Draw(t, "Deposit"), + Chain: GetChainIDGen().Draw(t, "Chain"), + StopTime: rapid.Int().Draw(t, "StopTime"), + Status: rapid.String().Draw(t, "Status"), + } + }) +} + +func GetEquivocationProposalGen() *rapid.Generator[EquivocationProposal] { + return rapid.Custom(func(t *rapid.T) EquivocationProposal { + return EquivocationProposal{ + Power: rapid.Uint().Draw(t, "Power"), + Height: rapid.Uint().Draw(t, "Height"), + ConsensusAddress: rapid.String().Draw(t, "ConesnsuAddress"), + Deposit: rapid.Uint().Draw(t, "Deposit"), + Status: rapid.String().Draw(t, "Status"), + } + }) +} + +func GetTextProposalGen() *rapid.Generator[TextProposal] { + return rapid.Custom(func(t *rapid.T) TextProposal { + return TextProposal{ + Title: rapid.String().Draw(t, "Title"), + Description: rapid.String().Draw(t, "Description"), + Deposit: rapid.Uint().Draw(t, "Deposit"), + Status: rapid.String().Draw(t, "Status"), + } + }) +} + +func GetParamsProposalGen() *rapid.Generator[ParamsProposal] { + return rapid.Custom(func(t *rapid.T) ParamsProposal { + return ParamsProposal{ + Subspace: rapid.String().Draw(t, "Subspace"), + Key: rapid.String().Draw(t, "Key"), + Value: rapid.String().Draw(t, "Value"), + Deposit: rapid.Uint().Draw(t, "Deposit"), + Status: rapid.String().Draw(t, "Status"), + } + }) +} + +func GetHeightGen() *rapid.Generator[clienttypes.Height] { + return rapid.Custom(func(t *rapid.T) clienttypes.Height { + return clienttypes.Height{ + RevisionNumber: rapid.Uint64().Draw(t, "RevisionNumber"), + RevisionHeight: rapid.Uint64().Draw(t, "RevisionHeight"), + } + }) +} diff --git a/tests/e2e/step_rapid_test.go b/tests/e2e/step_rapid_test.go new file mode 100644 index 0000000000..dde5f2f465 --- /dev/null +++ b/tests/e2e/step_rapid_test.go @@ -0,0 +1,51 @@ +package main + +import ( + "log" + "os" + "path/filepath" + "testing" + + "pgregory.net/rapid" +) + +// TestReadAndWriteTrace uses rapid to do property based testing +// of reading and writing traces. +// It generates a random trace, writes it to a file, then reads it back. +// It then compares the original trace to the read trace. +// If the traces are not equal, rapid will generate a minimal example +// that causes the test to fail. +func TestReadAndWriteTrace(t *testing.T) { + parser := JSONParser{} + writer := JSONWriter{} + + dir, err := os.MkdirTemp("", "example") + if err != nil { + log.Fatal(err) + } + defer os.RemoveAll(dir) // clean up + + rapid.Check(t, func(t *rapid.T) { + trace := GetTraceGen().Draw(t, "Trace") + filename := filepath.Join(dir, "trace.json") + err := WriteAndReadTrace(parser, writer, trace, filename) + if err != nil { + t.Fatalf("error writing and reading trace: %v", err) + } + }) +} + +// This can be used to test writing and parsing traces, but does not make much sense +// for testing trace execution, since the generated traces are almost guaranteed to be nonsensical. +func GetTraceGen() *rapid.Generator[[]Step] { + return rapid.SliceOf(GetStepGen()) +} + +func GetStepGen() *rapid.Generator[Step] { + return rapid.Custom(func(t *rapid.T) Step { + return Step{ + Action: GetActionGen().Draw(t, "Action"), + State: GetStateGen().Draw(t, "State"), + } + }) +} diff --git a/tests/e2e/trace_handlers_test.go b/tests/e2e/trace_handlers_test.go new file mode 100644 index 0000000000..cb568b1ecc --- /dev/null +++ b/tests/e2e/trace_handlers_test.go @@ -0,0 +1,242 @@ +package main + +import ( + "encoding/json" + "fmt" + "log" + "os" + "path/filepath" + "testing" + + clienttypes "github.com/cosmos/ibc-go/v7/modules/core/02-client/types" + "github.com/google/go-cmp/cmp" +) + +// an isolated test case for a proposal submission +var proposalSubmissionSteps = []Step{ + {submitTextProposalAction{Title: "Proposal 1", Description: "Description 1"}, State{}}, +} + +// an isolated test case for a state check involving a proposal +var proposalInStateSteps = []Step{ + { + Action: submitConsumerRemovalProposalAction{}, + State: State{ + ChainID("provi"): ChainState{ + Proposals: &map[uint]Proposal{ + 1: ConsumerRemovalProposal{ + Deposit: 10000001, + Chain: ChainID("foo"), + StopTime: 0, + Status: "PROPOSAL_STATUS_VOTING_PERIOD", + }, + }, + }, + }, + }, +} + +// Checks that writing, then parsing a trace results in the same trace. +func TestWriterThenParser(t *testing.T) { + tests := map[string]struct { + trace []Step + }{ + "proposalSubmission": {proposalSubmissionSteps}, + "proposalInState": {proposalInStateSteps}, + "start_provider_chain": {stepStartProviderChain()}, + "happyPath": {happyPathSteps}, + "democracy": {democracySteps}, + "slashThrottle": {slashThrottleSteps}, + "multipleConsumers": {multipleConsumers}, + "shorthappy": {shortHappyPathSteps}, + "democracyRewardsSteps": {democracyRewardsSteps}, + "changeover": {changeoverSteps}, + } + + dir, err := os.MkdirTemp("", "example") + if err != nil { + log.Fatal(err) + } + defer os.RemoveAll(dir) // clean up + + for name, tc := range tests { + t.Run(name, func(t *testing.T) { + filename := filepath.Join(dir, "trace.json") + err := WriteAndReadTrace(GlobalJSONParser, GlobalJSONWriter, tc.trace, filename) + if err != nil { + t.Fatalf("in testcase %v, got error writing trace to file: %v", name, err) + } + + got, err := GlobalJSONParser.ReadTraceFromFile(filename) + if err != nil { + t.Fatalf("in testcase %v, got error reading trace from file: %v", name, err) + } + diff := cmp.Diff(tc.trace, got, cmp.AllowUnexported(Step{})) + if diff != "" { + t.Log("Got a difference for testcase " + name) + t.Errorf("(-want +got):\n%s", diff) + } + }) + } +} + +// Checks that writing a trace does not result in an error. +func TestWriteExamples(t *testing.T) { + tests := map[string]struct { + trace []Step + }{ + "start_provider_chain": {stepStartProviderChain()}, + "happyPath": {happyPathSteps}, + "democracy": {democracySteps}, + "slashThrottle": {slashThrottleSteps}, + "multipleConsumers": {multipleConsumers}, + "shorthappy": {shortHappyPathSteps}, + "democracyRewardsSteps": {democracyRewardsSteps}, + "changeover": {changeoverSteps}, + } + + dir := "tracehandler_testdata" + + for name, tc := range tests { + t.Run(name, func(t *testing.T) { + filename := filepath.Join(dir, name+".json") + err := GlobalJSONWriter.WriteTraceToFile(filename, tc.trace) + if err != nil { + t.Fatalf("error writing trace to file: %v", err) + } + }) + } +} + +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) { + err := MarshalAndUnmarshalChainState(tc.chainState) + if err != nil { + t.Fatalf(err.Error()) + } + }) + } +} + +func MarshalAndUnmarshalChainState(chainState ChainState) error { + jsonobj, err := json.Marshal(chainState) + if err != nil { + return fmt.Errorf("error marshalling chain state: %v", err) + } + + var got *ChainState + err = json.Unmarshal(jsonobj, &got) + if err != nil { + return fmt.Errorf("error unmarshalling chain state: %v", err) + } + + diff := cmp.Diff(chainState, *got) + if diff != "" { + log.Print(string(jsonobj)) + return fmt.Errorf(diff) + } + + return nil +} + +func WriteAndReadTrace(parser TraceParser, writer TraceWriter, trace []Step, tmp_filepath string) error { + err := writer.WriteTraceToFile(tmp_filepath, trace) + if err != nil { + return fmt.Errorf("error writing trace to file: %v", err) + } + + got, err := parser.ReadTraceFromFile(tmp_filepath) + if err != nil { + return fmt.Errorf("error reading trace from file: %v", err) + } + + diff := cmp.Diff(trace, got, cmp.AllowUnexported(Step{})) + if diff != "" { + return fmt.Errorf(diff) + } + + return nil +} diff --git a/tests/e2e/tracehandler_testdata/changeover.json b/tests/e2e/tracehandler_testdata/changeover.json new file mode 100644 index 0000000000..83cf264bfc --- /dev/null +++ b/tests/e2e/tracehandler_testdata/changeover.json @@ -0,0 +1 @@ +[{"ActionType":"main.StartSovereignChainAction","Action":{"Chain":"sover","Validators":[{"Id":"alice","Allocation":10000000000,"Stake":500000000}],"GenesisChanges":""},"State":{"sover":{"ValBalances":{"alice":9500000000},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.delegateTokensAction","Action":{"Chain":"sover","From":"alice","To":"alice","Amount":11000000},"State":{"sover":{"ValBalances":null,"ValPowers":{"alice":511,"bob":0,"carol":0},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"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},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.createIbcClientsAction","Action":{"ChainA":"sover","ChainB":"provi"},"State":{}},{"ActionType":"main.addIbcChannelAction","Action":{"ChainA":"sover","ChainB":"provi","ConnectionA":0,"PortA":"transfer","PortB":"transfer","Order":"unordered","Version":"ics20-1"},"State":{}},{"ActionType":"main.LegacyUpgradeProposalAction","Action":{"ChainID":"sover","UpgradeTitle":"sovereign-changeover","Proposer":"alice","UpgradeHeight":110},"State":{"sover":{"ValBalances":null,"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"1":{"RawProposal":{"Title":"sovereign-changeover","Description":"","UpgradeHeight":110,"Type":"/cosmos.upgrade.v1beta1.SoftwareUpgradeProposal","Deposit":10000000,"Status":"PROPOSAL_STATUS_VOTING_PERIOD"},"Type":"main.UpgradeProposal"}}}}},{"ActionType":"main.voteGovProposalAction","Action":{"Chain":"sover","From":["alice"],"Vote":["yes"],"PropNumber":1},"State":{"sover":{"ValBalances":null,"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"1":{"RawProposal":{"Title":"sovereign-changeover","Description":"","UpgradeHeight":110,"Type":"/cosmos.upgrade.v1beta1.SoftwareUpgradeProposal","Deposit":10000000,"Status":"PROPOSAL_STATUS_PASSED"},"Type":"main.UpgradeProposal"}}}}},{"ActionType":"main.waitUntilBlockAction","Action":{"Block":110,"Chain":"sover"},"State":{}},{"ActionType":"main.submitConsumerAdditionProposalAction","Action":{"PreCCV":true,"Chain":"provi","From":"alice","Deposit":10000001,"ConsumerChain":"sover","SpawnTime":0,"InitialHeight":{"revision_height":111},"DistributionChannel":"channel-0"},"State":{"provi":{"ValBalances":{"alice":9489999999,"bob":9500000000},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"1":{"RawProposal":{"Deposit":10000001,"Chain":"sover","SpawnTime":0,"InitialHeight":{"revision_height":111},"Status":"PROPOSAL_STATUS_VOTING_PERIOD"},"Type":"main.ConsumerAdditionProposal"}}}}},{"ActionType":"main.voteGovProposalAction","Action":{"Chain":"provi","From":["alice","bob","carol"],"Vote":["yes","yes","yes"],"PropNumber":1},"State":{"provi":{"ValBalances":{"alice":9500000000,"bob":9500000000},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"1":{"RawProposal":{"Deposit":10000001,"Chain":"sover","SpawnTime":0,"InitialHeight":{"revision_height":111},"Status":"PROPOSAL_STATUS_PASSED"},"Type":"main.ConsumerAdditionProposal"}}}}},{"ActionType":"main.ChangeoverChainAction","Action":{"SovereignChain":"sover","ProviderChain":"provi","Validators":[{"Id":"alice","Allocation":10000000000,"Stake":500000000},{"Id":"bob","Allocation":10000000000,"Stake":500000000},{"Id":"carol","Allocation":10000000000,"Stake":500000000}],"GenesisChanges":".app_state.ccvconsumer.params.soft_opt_out_threshold = \"0.05\""},"State":{"provi":{"ValBalances":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,"Proposals":null},"sover":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.addIbcConnectionAction","Action":{"ChainA":"sover","ChainB":"provi","ClientA":1,"ClientB":1},"State":{}},{"ActionType":"main.addIbcChannelAction","Action":{"ChainA":"sover","ChainB":"provi","ConnectionA":1,"PortA":"consumer","PortB":"provider","Order":"ordered","Version":""},"State":{}},{"ActionType":"main.SendTokensAction","Action":{"Chain":"sover","From":"alice","To":"bob","Amount":100},"State":{"sover":{"ValBalances":{"bob":0},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.delegateTokensAction","Action":{"Chain":"provi","From":"alice","To":"alice","Amount":11000000},"State":{"provi":{"ValBalances":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,"Proposals":null},"sover":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"sover","Port":"provider","Channel":1},"State":{"sover":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.SendTokensAction","Action":{"Chain":"sover","From":"alice","To":"bob","Amount":100},"State":{"sover":{"ValBalances":{"bob":100},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.unbondTokensAction","Action":{"Chain":"provi","Sender":"alice","UnbondFrom":"alice","Amount":1000000},"State":{"provi":{"ValBalances":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,"Proposals":null},"sover":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"sover","Port":"provider","Channel":1},"State":{"sover":{"ValBalances":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,"Proposals":null}}}] \ No newline at end of file diff --git a/tests/e2e/tracehandler_testdata/democracy.json b/tests/e2e/tracehandler_testdata/democracy.json new file mode 100644 index 0000000000..b078d6f87e --- /dev/null +++ b/tests/e2e/tracehandler_testdata/democracy.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},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.submitConsumerAdditionProposalAction","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},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"1":{"RawProposal":{"Deposit":10000001,"Chain":"democ","SpawnTime":0,"InitialHeight":{"revision_height":1},"Status":"PROPOSAL_STATUS_VOTING_PERIOD"},"Type":"main.ConsumerAdditionProposal"}}}}},{"ActionType":"main.assignConsumerPubKeyAction","Action":{"Chain":"democ","Validator":"carol","ConsumerPubkey":"{\"@type\":\"/cosmos.crypto.ed25519.PubKey\",\"key\":\"Ui5Gf1+mtWUdH8u3xlmzdKID+F3PK0sfXZ73GZ6q6is=\"}","ReconfigureNode":false,"ExpectError":false,"ExpectedError":""},"State":{"democ":{"ValBalances":null,"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":{"carol":"cosmosvalcons1kswr5sq599365kcjmhgufevfps9njf43e4lwdk"},"ProviderKeys":{"carol":"cosmosvalcons1ezyrq65s3gshhx5585w6mpusq3xsj3ayzf4uv6"},"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":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,"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":{"bob":"","carol":"cosmosvalcons1kswr5sq599365kcjmhgufevfps9njf43e4lwdk"},"ProviderKeys":{"carol":"cosmosvalcons1ezyrq65s3gshhx5585w6mpusq3xsj3ayzf4uv6"},"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.voteGovProposalAction","Action":{"Chain":"provi","From":["alice","bob","carol"],"Vote":["yes","yes","yes"],"PropNumber":1},"State":{"provi":{"ValBalances":{"alice":9500000000,"bob":9500000000},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"1":{"RawProposal":{"Deposit":10000001,"Chain":"democ","SpawnTime":0,"InitialHeight":{"revision_height":1},"Status":"PROPOSAL_STATUS_PASSED"},"Type":"main.ConsumerAdditionProposal"}}}}},{"ActionType":"main.startConsumerChainAction","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},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null},"provi":{"ValBalances":{"alice":9500000000,"bob":9500000000,"carol":9500000000},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.addIbcConnectionAction","Action":{"ChainA":"democ","ChainB":"provi","ClientA":0,"ClientB":0},"State":{}},{"ActionType":"main.addIbcChannelAction","Action":{"ChainA":"democ","ChainB":"provi","ConnectionA":0,"PortA":"consumer","PortB":"provider","Order":"ordered","Version":""},"State":{}},{"ActionType":"main.transferChannelCompleteAction","Action":{"ChainA":"democ","ChainB":"provi","ConnectionA":0,"PortA":"transfer","PortB":"transfer","Order":"unordered","ChannelA":1,"ChannelB":1},"State":{}},{"ActionType":"main.delegateTokensAction","Action":{"Chain":"provi","From":"alice","To":"alice","Amount":11000000},"State":{"democ":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.SendTokensAction","Action":{"Chain":"democ","From":"alice","To":"bob","Amount":1},"State":{"democ":{"ValBalances":{"alice":10000000000,"bob":10000000000},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"democ","Port":"provider","Channel":0},"State":{"democ":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.SendTokensAction","Action":{"Chain":"democ","From":"alice","To":"bob","Amount":1},"State":{"democ":{"ValBalances":{"alice":9999999999,"bob":10000000001},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.registerRepresentativeAction","Action":{"Chain":"democ","Representatives":["alice","bob"],"Stakes":[100000000,40000000]},"State":{"democ":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.delegateTokensAction","Action":{"Chain":"democ","From":"carol","To":"alice","Amount":500000},"State":{"democ":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.submitParamChangeLegacyProposalAction","Action":{"Chain":"democ","From":"alice","Deposit":10000001,"Subspace":"transfer","Key":"SendEnabled","Value":true},"State":{"democ":{"ValBalances":{"alice":9889999998,"bob":9960000001},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"1":{"RawProposal":{"Deposit":10000001,"Status":"PROPOSAL_STATUS_VOTING_PERIOD","Subspace":"transfer","Key":"SendEnabled","Value":"true"},"Type":"main.ParamsProposal"}}}}},{"ActionType":"main.voteGovProposalAction","Action":{"Chain":"democ","From":["alice","bob"],"Vote":["yes","no"],"PropNumber":1},"State":{"democ":{"ValBalances":{"alice":9889999998,"bob":9960000001},"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,"Proposals":null}}},{"ActionType":"main.relayRewardPacketsToProviderAction","Action":{"ConsumerChain":"democ","ProviderChain":"provi","Port":"transfer","Channel":1},"State":{"provi":{"ValBalances":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":[],"Proposals":null}}},{"ActionType":"main.submitChangeRewardDenomsProposalAction","Action":{"Denom":"ibc/3C3D7B3BE4ECC85A0E5B52A3AEC3B7DFC2AA9CA47C37821E57020D6807043BE9","Deposit":10000001,"From":"bob"},"State":{"provi":{"ValBalances":null,"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":[],"Proposals":null}}},{"ActionType":"main.voteGovProposalAction","Action":{"Chain":"provi","From":["alice","bob","carol"],"Vote":["yes","yes","yes"],"PropNumber":2},"State":{"provi":{"ValBalances":null,"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":["ibc/3C3D7B3BE4ECC85A0E5B52A3AEC3B7DFC2AA9CA47C37821E57020D6807043BE9"],"Proposals":null}}},{"ActionType":"main.relayRewardPacketsToProviderAction","Action":{"ConsumerChain":"democ","ProviderChain":"provi","Port":"transfer","Channel":1},"State":{"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.downtimeSlashAction","Action":{"Chain":"democ","Validator":"bob"},"State":{"democ":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"democ","Port":"provider","Channel":0},"State":{"democ":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"democ","Port":"provider","Channel":0},"State":{"democ":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.unjailValidatorAction","Action":{"Provider":"provi","Validator":"bob"},"State":{"democ":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"democ","Port":"provider","Channel":0},"State":{"democ":{"ValBalances":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,"Proposals":null}}}] \ No newline at end of file diff --git a/tests/e2e/tracehandler_testdata/happyPath.json b/tests/e2e/tracehandler_testdata/happyPath.json new file mode 100644 index 0000000000..dd33a2a98c --- /dev/null +++ b/tests/e2e/tracehandler_testdata/happyPath.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},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.submitConsumerAdditionProposalAction","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},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"1":{"RawProposal":{"Deposit":10000001,"Chain":"consu","SpawnTime":0,"InitialHeight":{"revision_height":1},"Status":"PROPOSAL_STATUS_VOTING_PERIOD"},"Type":"main.ConsumerAdditionProposal"}}}}},{"ActionType":"main.assignConsumerPubKeyAction","Action":{"Chain":"consu","Validator":"carol","ConsumerPubkey":"{\"@type\":\"/cosmos.crypto.ed25519.PubKey\",\"key\":\"Ui5Gf1+mtWUdH8u3xlmzdKID+F3PK0sfXZ73GZ6q6is=\"}","ReconfigureNode":false,"ExpectError":false,"ExpectedError":""},"State":{"consu":{"ValBalances":null,"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":{"carol":"cosmosvalcons1kswr5sq599365kcjmhgufevfps9njf43e4lwdk"},"ProviderKeys":{"carol":"cosmosvalcons1ezyrq65s3gshhx5585w6mpusq3xsj3ayzf4uv6"},"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":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,"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":{"bob":"","carol":"cosmosvalcons1kswr5sq599365kcjmhgufevfps9njf43e4lwdk"},"ProviderKeys":{"carol":"cosmosvalcons1ezyrq65s3gshhx5585w6mpusq3xsj3ayzf4uv6"},"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.voteGovProposalAction","Action":{"Chain":"provi","From":["alice","bob","carol"],"Vote":["yes","yes","yes"],"PropNumber":1},"State":{"provi":{"ValBalances":{"alice":9500000000,"bob":9500000000},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"1":{"RawProposal":{"Deposit":10000001,"Chain":"consu","SpawnTime":0,"InitialHeight":{"revision_height":1},"Status":"PROPOSAL_STATUS_PASSED"},"Type":"main.ConsumerAdditionProposal"}}}}},{"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},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null},"provi":{"ValBalances":{"alice":9500000000,"bob":9500000000,"carol":9500000000},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":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","Version":""},"State":{}},{"ActionType":"main.delegateTokensAction","Action":{"Chain":"provi","From":"alice","To":"alice","Amount":11000000},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.SendTokensAction","Action":{"Chain":"consu","From":"alice","To":"bob","Amount":1},"State":{"consu":{"ValBalances":{"alice":10000000000,"bob":10000000000},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.SendTokensAction","Action":{"Chain":"consu","From":"alice","To":"bob","Amount":1},"State":{"consu":{"ValBalances":{"alice":9999999999,"bob":10000000001},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.assignConsumerPubKeyAction","Action":{"Chain":"consu","Validator":"bob","ConsumerPubkey":"{\"@type\":\"/cosmos.crypto.ed25519.PubKey\",\"key\":\"QlG+iYe6AyYpvY1z9RNJKCVlH14Q/qSz4EjGdGCru3o=\"}","ReconfigureNode":true,"ExpectError":false,"ExpectedError":""},"State":{"consu":{"ValBalances":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,"RegisteredConsumerRewardDenoms":null,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"RegisteredConsumerRewardDenoms":null,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.unbondTokensAction","Action":{"Chain":"provi","Sender":"alice","UnbondFrom":"alice","Amount":1000000},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.unbondTokensAction","Action":{"Chain":"provi","Sender":"alice","UnbondFrom":"alice","Amount":1000000},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":null,"ValPowers":{"alice":509,"bob":500,"carol":500},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":null,"ValPowers":{"alice":509,"bob":500,"carol":500},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.cancelUnbondTokensAction","Action":{"Chain":"provi","Delegator":"alice","Validator":"alice","Amount":1000000},"State":{"consu":{"ValBalances":null,"ValPowers":{"alice":509,"bob":500,"carol":500},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.redelegateTokensAction","Action":{"Chain":"provi","Src":"alice","Dst":"carol","TxSender":"alice","Amount":450000000},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":null,"ValPowers":{"alice":60,"bob":500,"carol":950},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":null,"ValPowers":{"alice":60,"bob":500,"carol":950},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.downtimeSlashAction","Action":{"Chain":"consu","Validator":"alice"},"State":{"consu":{"ValBalances":null,"ValPowers":{"alice":60,"bob":500,"carol":950},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null},"provi":{"ValBalances":null,"ValPowers":{"alice":60,"bob":500,"carol":950},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":null,"ValPowers":{"alice":60,"bob":500,"carol":950},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null},"provi":{"ValBalances":null,"ValPowers":{"alice":60,"bob":500,"carol":950},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.redelegateTokensAction","Action":{"Chain":"provi","Src":"carol","Dst":"alice","TxSender":"carol","Amount":449000000},"State":{"consu":{"ValBalances":null,"ValPowers":{"alice":60,"bob":500,"carol":950},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.downtimeSlashAction","Action":{"Chain":"consu","Validator":"bob"},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.unjailValidatorAction","Action":{"Provider":"provi","Validator":"bob"},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.downtimeSlashAction","Action":{"Chain":"provi","Validator":"carol"},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.unjailValidatorAction","Action":{"Provider":"provi","Validator":"carol"},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.submitEquivocationProposalAction","Action":{"Chain":"consu","Height":10,"Time":"2023-09-13T15:21:09.858003+02:00","Power":500,"Validator":"bob","Deposit":10000001,"From":"bob"},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":{"bob":9500000000},"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,"Proposals":{"2":{"RawProposal":{"Title":"","Description":"","Deposit":0,"Status":""},"Type":"main.TextProposal"}}}}},{"ActionType":"main.doublesignSlashAction","Action":{"Validator":"carol","Chain":"provi"},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.doublesignSlashAction","Action":{"Validator":"bob","Chain":"consu"},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.submitEquivocationProposalAction","Action":{"Chain":"consu","Height":10,"Time":"2023-09-13T15:21:09.858006+02:00","Power":500,"Validator":"bob","Deposit":10000001,"From":"bob"},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":{"bob":9489999999},"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,"Proposals":{"2":{"RawProposal":{"Height":10,"Power":500,"ConsensusAddress":"cosmosvalcons1nx7n5uh0ztxsynn4sje6eyq2ud6rc6klc96w39","Deposit":10000001,"Status":"PROPOSAL_STATUS_VOTING_PERIOD"},"Type":"main.EquivocationProposal"}}}}},{"ActionType":"main.voteGovProposalAction","Action":{"Chain":"provi","From":["alice","bob","carol"],"Vote":["yes","yes","yes"],"PropNumber":2},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":null,"ValPowers":{"alice":509,"bob":0,"carol":0},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"2":{"RawProposal":{"Height":10,"Power":500,"ConsensusAddress":"cosmosvalcons1nx7n5uh0ztxsynn4sje6eyq2ud6rc6klc96w39","Deposit":10000001,"Status":"PROPOSAL_STATUS_PASSED"},"Type":"main.EquivocationProposal"}}}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":null,"ValPowers":{"alice":509,"bob":0,"carol":0},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null},"provi":{"ValBalances":null,"ValPowers":{"alice":509,"bob":0,"carol":0},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.startRelayerAction","Action":{},"State":{}},{"ActionType":"main.submitConsumerRemovalProposalAction","Action":{"Chain":"provi","From":"bob","Deposit":10000001,"ConsumerChain":"consu","StopTimeOffset":0},"State":{"provi":{"ValBalances":{"bob":9489999999},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":{"consu":true},"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"3":{"RawProposal":{"Deposit":10000001,"Chain":"consu","StopTime":0,"Status":"PROPOSAL_STATUS_VOTING_PERIOD"},"Type":"main.ConsumerRemovalProposal"}}}}},{"ActionType":"main.voteGovProposalAction","Action":{"Chain":"provi","From":["alice","bob","carol"],"Vote":["no","no","no"],"PropNumber":3},"State":{"provi":{"ValBalances":{"bob":9500000000},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":{"consu":true},"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"3":{"RawProposal":{"Deposit":10000001,"Chain":"consu","StopTime":0,"Status":"PROPOSAL_STATUS_REJECTED"},"Type":"main.ConsumerRemovalProposal"}}}}},{"ActionType":"main.submitConsumerRemovalProposalAction","Action":{"Chain":"provi","From":"bob","Deposit":10000001,"ConsumerChain":"consu","StopTimeOffset":0},"State":{"provi":{"ValBalances":{"bob":9489999999},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":{"consu":true},"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"4":{"RawProposal":{"Deposit":10000001,"Chain":"consu","StopTime":0,"Status":"PROPOSAL_STATUS_VOTING_PERIOD"},"Type":"main.ConsumerRemovalProposal"}}}}},{"ActionType":"main.voteGovProposalAction","Action":{"Chain":"provi","From":["alice","bob","carol"],"Vote":["yes","yes","yes"],"PropNumber":4},"State":{"provi":{"ValBalances":{"bob":9500000000},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":{},"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"4":{"RawProposal":{"Deposit":10000001,"Chain":"consu","StopTime":0,"Status":"PROPOSAL_STATUS_PASSED"},"Type":"main.ConsumerRemovalProposal"}}}}}] \ No newline at end of file diff --git a/tests/e2e/tracehandler_testdata/multipleConsumers.json b/tests/e2e/tracehandler_testdata/multipleConsumers.json new file mode 100644 index 0000000000..ebdc4a673a --- /dev/null +++ b/tests/e2e/tracehandler_testdata/multipleConsumers.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},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.submitConsumerAdditionProposalAction","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},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"1":{"RawProposal":{"Deposit":10000001,"Chain":"consu","SpawnTime":0,"InitialHeight":{"revision_height":1},"Status":"PROPOSAL_STATUS_VOTING_PERIOD"},"Type":"main.ConsumerAdditionProposal"}}}}},{"ActionType":"main.assignConsumerPubKeyAction","Action":{"Chain":"consu","Validator":"carol","ConsumerPubkey":"{\"@type\":\"/cosmos.crypto.ed25519.PubKey\",\"key\":\"Ui5Gf1+mtWUdH8u3xlmzdKID+F3PK0sfXZ73GZ6q6is=\"}","ReconfigureNode":false,"ExpectError":false,"ExpectedError":""},"State":{"consu":{"ValBalances":null,"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":{"carol":"cosmosvalcons1kswr5sq599365kcjmhgufevfps9njf43e4lwdk"},"ProviderKeys":{"carol":"cosmosvalcons1ezyrq65s3gshhx5585w6mpusq3xsj3ayzf4uv6"},"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":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,"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":{"bob":"","carol":"cosmosvalcons1kswr5sq599365kcjmhgufevfps9njf43e4lwdk"},"ProviderKeys":{"carol":"cosmosvalcons1ezyrq65s3gshhx5585w6mpusq3xsj3ayzf4uv6"},"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.voteGovProposalAction","Action":{"Chain":"provi","From":["alice","bob","carol"],"Vote":["yes","yes","yes"],"PropNumber":1},"State":{"provi":{"ValBalances":{"alice":9500000000,"bob":9500000000},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"1":{"RawProposal":{"Deposit":10000001,"Chain":"consu","SpawnTime":0,"InitialHeight":{"revision_height":1},"Status":"PROPOSAL_STATUS_PASSED"},"Type":"main.ConsumerAdditionProposal"}}}}},{"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},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null},"provi":{"ValBalances":{"alice":9500000000,"bob":9500000000,"carol":9500000000},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":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","Version":""},"State":{}},{"ActionType":"main.submitConsumerAdditionProposalAction","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},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"2":{"RawProposal":{"Deposit":10000001,"Chain":"densu","SpawnTime":0,"InitialHeight":{"revision_height":1},"Status":"PROPOSAL_STATUS_VOTING_PERIOD"},"Type":"main.ConsumerAdditionProposal"}}}}},{"ActionType":"main.assignConsumerPubKeyAction","Action":{"Chain":"densu","Validator":"carol","ConsumerPubkey":"{\"@type\":\"/cosmos.crypto.ed25519.PubKey\",\"key\":\"Ui5Gf1+mtWUdH8u3xlmzdKID+F3PK0sfXZ73GZ6q6is=\"}","ReconfigureNode":false,"ExpectError":false,"ExpectedError":""},"State":{"densu":{"ValBalances":null,"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":{"carol":"cosmosvalcons1kswr5sq599365kcjmhgufevfps9njf43e4lwdk"},"ProviderKeys":{"carol":"cosmosvalcons1ezyrq65s3gshhx5585w6mpusq3xsj3ayzf4uv6"},"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":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,"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":{"bob":"","carol":"cosmosvalcons1kswr5sq599365kcjmhgufevfps9njf43e4lwdk"},"ProviderKeys":{"carol":"cosmosvalcons1ezyrq65s3gshhx5585w6mpusq3xsj3ayzf4uv6"},"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.voteGovProposalAction","Action":{"Chain":"provi","From":["alice","bob","carol"],"Vote":["yes","yes","yes"],"PropNumber":2},"State":{"provi":{"ValBalances":{"alice":9500000000,"bob":9500000000},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"2":{"RawProposal":{"Deposit":10000001,"Chain":"densu","SpawnTime":0,"InitialHeight":{"revision_height":1},"Status":"PROPOSAL_STATUS_PASSED"},"Type":"main.ConsumerAdditionProposal"}}}}},{"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},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null},"provi":{"ValBalances":{"alice":9500000000,"bob":9500000000,"carol":9500000000},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":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","Version":""},"State":{}},{"ActionType":"main.delegateTokensAction","Action":{"Chain":"provi","From":"alice","To":"alice","Amount":11000000},"State":{"consu":{"ValBalances":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,"Proposals":null},"densu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null},"densu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"densu","Port":"provider","Channel":1},"State":{"consu":{"ValBalances":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,"Proposals":null},"densu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.unbondTokensAction","Action":{"Chain":"provi","Sender":"alice","UnbondFrom":"alice","Amount":1000000},"State":{"consu":{"ValBalances":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,"Proposals":null},"densu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null},"densu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"densu","Port":"provider","Channel":1},"State":{"consu":{"ValBalances":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,"Proposals":null},"densu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.redelegateTokensAction","Action":{"Chain":"provi","Src":"alice","Dst":"carol","TxSender":"alice","Amount":1000000},"State":{"consu":{"ValBalances":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,"Proposals":null},"densu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null},"densu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"densu","Port":"provider","Channel":1},"State":{"consu":{"ValBalances":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,"Proposals":null},"densu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.downtimeSlashAction","Action":{"Chain":"consu","Validator":"bob"},"State":{"consu":{"ValBalances":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,"Proposals":null},"densu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null},"densu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null},"densu":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"densu","Port":"provider","Channel":1},"State":{"consu":{"ValBalances":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,"Proposals":null},"densu":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.unjailValidatorAction","Action":{"Provider":"provi","Validator":"bob"},"State":{"consu":{"ValBalances":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,"Proposals":null},"densu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null},"densu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"densu","Port":"provider","Channel":1},"State":{"consu":{"ValBalances":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,"Proposals":null},"densu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.downtimeSlashAction","Action":{"Chain":"provi","Validator":"carol"},"State":{"consu":{"ValBalances":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,"Proposals":null},"densu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null},"densu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"densu","Port":"provider","Channel":1},"State":{"consu":{"ValBalances":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,"Proposals":null},"densu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.unjailValidatorAction","Action":{"Provider":"provi","Validator":"carol"},"State":{"consu":{"ValBalances":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,"Proposals":null},"densu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null},"densu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"densu","Port":"provider","Channel":1},"State":{"consu":{"ValBalances":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,"Proposals":null},"densu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.doublesignSlashAction","Action":{"Validator":"carol","Chain":"provi"},"State":{"consu":{"ValBalances":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,"Proposals":null},"densu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null},"densu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"densu","Port":"provider","Channel":1},"State":{"consu":{"ValBalances":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,"Proposals":null},"densu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.doublesignSlashAction","Action":{"Validator":"bob","Chain":"consu"},"State":{"consu":{"ValBalances":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,"Proposals":null},"densu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null},"densu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null},"densu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"densu","Port":"provider","Channel":1},"State":{"consu":{"ValBalances":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,"Proposals":null},"densu":{"ValBalances":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,"Proposals":null}}}] \ No newline at end of file diff --git a/tests/e2e/tracehandler_testdata/rewardDenomConsumer.json b/tests/e2e/tracehandler_testdata/rewardDenomConsumer.json new file mode 100644 index 0000000000..62f242418a --- /dev/null +++ b/tests/e2e/tracehandler_testdata/rewardDenomConsumer.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},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.submitConsumerAdditionProposalAction","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},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"1":{"RawProposal":{"Deposit":10000001,"Chain":"democ","SpawnTime":0,"InitialHeight":{"revision_height":1},"Status":"PROPOSAL_STATUS_VOTING_PERIOD"},"Type":"main.ConsumerAdditionProposal"}}}}},{"ActionType":"main.assignConsumerPubKeyAction","Action":{"Chain":"democ","Validator":"carol","ConsumerPubkey":"{\"@type\":\"/cosmos.crypto.ed25519.PubKey\",\"key\":\"Ui5Gf1+mtWUdH8u3xlmzdKID+F3PK0sfXZ73GZ6q6is=\"}","ReconfigureNode":false,"ExpectError":false,"ExpectedError":""},"State":{"democ":{"ValBalances":null,"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":{"carol":"cosmosvalcons1kswr5sq599365kcjmhgufevfps9njf43e4lwdk"},"ProviderKeys":{"carol":"cosmosvalcons1ezyrq65s3gshhx5585w6mpusq3xsj3ayzf4uv6"},"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":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,"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":{"bob":"","carol":"cosmosvalcons1kswr5sq599365kcjmhgufevfps9njf43e4lwdk"},"ProviderKeys":{"carol":"cosmosvalcons1ezyrq65s3gshhx5585w6mpusq3xsj3ayzf4uv6"},"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.voteGovProposalAction","Action":{"Chain":"provi","From":["alice","bob","carol"],"Vote":["yes","yes","yes"],"PropNumber":1},"State":{"provi":{"ValBalances":{"alice":9500000000,"bob":9500000000},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"1":{"RawProposal":{"Deposit":10000001,"Chain":"democ","SpawnTime":0,"InitialHeight":{"revision_height":1},"Status":"PROPOSAL_STATUS_PASSED"},"Type":"main.ConsumerAdditionProposal"}}}}},{"ActionType":"main.startConsumerChainAction","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},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null},"provi":{"ValBalances":{"alice":9500000000,"bob":9500000000,"carol":9500000000},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.addIbcConnectionAction","Action":{"ChainA":"democ","ChainB":"provi","ClientA":0,"ClientB":0},"State":{}},{"ActionType":"main.addIbcChannelAction","Action":{"ChainA":"democ","ChainB":"provi","ConnectionA":0,"PortA":"consumer","PortB":"provider","Order":"ordered","Version":""},"State":{}},{"ActionType":"main.transferChannelCompleteAction","Action":{"ChainA":"democ","ChainB":"provi","ConnectionA":0,"PortA":"transfer","PortB":"transfer","Order":"unordered","ChannelA":1,"ChannelB":1},"State":{}},{"ActionType":"main.delegateTokensAction","Action":{"Chain":"provi","From":"alice","To":"alice","Amount":11000000},"State":{"democ":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.SendTokensAction","Action":{"Chain":"democ","From":"alice","To":"bob","Amount":1},"State":{"democ":{"ValBalances":{"alice":10000000000,"bob":10000000000},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"democ","Port":"provider","Channel":0},"State":{"democ":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.SendTokensAction","Action":{"Chain":"democ","From":"alice","To":"bob","Amount":1},"State":{"democ":{"ValBalances":{"alice":9999999999,"bob":10000000001},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.registerRepresentativeAction","Action":{"Chain":"democ","Representatives":["alice","bob"],"Stakes":[100000000,40000000]},"State":{"democ":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.delegateTokensAction","Action":{"Chain":"democ","From":"carol","To":"alice","Amount":500000},"State":{"democ":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.submitParamChangeLegacyProposalAction","Action":{"Chain":"democ","From":"alice","Deposit":10000001,"Subspace":"transfer","Key":"SendEnabled","Value":true},"State":{"democ":{"ValBalances":{"alice":9889999998,"bob":9960000001},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"1":{"RawProposal":{"Deposit":10000001,"Status":"PROPOSAL_STATUS_VOTING_PERIOD","Subspace":"transfer","Key":"SendEnabled","Value":"true"},"Type":"main.ParamsProposal"}}}}},{"ActionType":"main.voteGovProposalAction","Action":{"Chain":"democ","From":["alice","bob"],"Vote":["yes","no"],"PropNumber":1},"State":{"democ":{"ValBalances":{"alice":9889999998,"bob":9960000001},"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,"Proposals":null}}},{"ActionType":"main.relayRewardPacketsToProviderAction","Action":{"ConsumerChain":"democ","ProviderChain":"provi","Port":"transfer","Channel":1},"State":{"provi":{"ValBalances":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":[],"Proposals":null}}},{"ActionType":"main.submitChangeRewardDenomsProposalAction","Action":{"Denom":"ibc/3C3D7B3BE4ECC85A0E5B52A3AEC3B7DFC2AA9CA47C37821E57020D6807043BE9","Deposit":10000001,"From":"bob"},"State":{"provi":{"ValBalances":null,"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":[],"Proposals":null}}},{"ActionType":"main.voteGovProposalAction","Action":{"Chain":"provi","From":["alice","bob","carol"],"Vote":["yes","yes","yes"],"PropNumber":2},"State":{"provi":{"ValBalances":null,"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":["ibc/3C3D7B3BE4ECC85A0E5B52A3AEC3B7DFC2AA9CA47C37821E57020D6807043BE9"],"Proposals":null}}},{"ActionType":"main.relayRewardPacketsToProviderAction","Action":{"ConsumerChain":"democ","ProviderChain":"provi","Port":"transfer","Channel":1},"State":{"provi":{"ValBalances":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":null,"Proposals":null}}},{"ActionType":"main.downtimeSlashAction","Action":{"Chain":"democ","Validator":"bob"},"State":{"democ":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"democ","Port":"provider","Channel":0},"State":{"democ":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"democ","Port":"provider","Channel":0},"State":{"democ":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.unjailValidatorAction","Action":{"Provider":"provi","Validator":"bob"},"State":{"democ":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"democ","Port":"provider","Channel":0},"State":{"democ":{"ValBalances":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,"Proposals":null}}}] \ No newline at end of file diff --git a/tests/e2e/tracehandler_testdata/shorthappy.json b/tests/e2e/tracehandler_testdata/shorthappy.json new file mode 100644 index 0000000000..43f0372a73 --- /dev/null +++ b/tests/e2e/tracehandler_testdata/shorthappy.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},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.submitConsumerAdditionProposalAction","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},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"1":{"RawProposal":{"Deposit":10000001,"Chain":"consu","SpawnTime":0,"InitialHeight":{"revision_height":1},"Status":"PROPOSAL_STATUS_VOTING_PERIOD"},"Type":"main.ConsumerAdditionProposal"}}}}},{"ActionType":"main.assignConsumerPubKeyAction","Action":{"Chain":"consu","Validator":"carol","ConsumerPubkey":"{\"@type\":\"/cosmos.crypto.ed25519.PubKey\",\"key\":\"Ui5Gf1+mtWUdH8u3xlmzdKID+F3PK0sfXZ73GZ6q6is=\"}","ReconfigureNode":false,"ExpectError":false,"ExpectedError":""},"State":{"consu":{"ValBalances":null,"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":{"carol":"cosmosvalcons1kswr5sq599365kcjmhgufevfps9njf43e4lwdk"},"ProviderKeys":{"carol":"cosmosvalcons1ezyrq65s3gshhx5585w6mpusq3xsj3ayzf4uv6"},"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":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,"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":{"bob":"","carol":"cosmosvalcons1kswr5sq599365kcjmhgufevfps9njf43e4lwdk"},"ProviderKeys":{"carol":"cosmosvalcons1ezyrq65s3gshhx5585w6mpusq3xsj3ayzf4uv6"},"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.voteGovProposalAction","Action":{"Chain":"provi","From":["alice","bob","carol"],"Vote":["yes","yes","yes"],"PropNumber":1},"State":{"provi":{"ValBalances":{"alice":9500000000,"bob":9500000000},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"1":{"RawProposal":{"Deposit":10000001,"Chain":"consu","SpawnTime":0,"InitialHeight":{"revision_height":1},"Status":"PROPOSAL_STATUS_PASSED"},"Type":"main.ConsumerAdditionProposal"}}}}},{"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},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null},"provi":{"ValBalances":{"alice":9500000000,"bob":9500000000,"carol":9500000000},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":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","Version":""},"State":{}},{"ActionType":"main.delegateTokensAction","Action":{"Chain":"provi","From":"alice","To":"alice","Amount":11000000},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.SendTokensAction","Action":{"Chain":"consu","From":"alice","To":"bob","Amount":1},"State":{"consu":{"ValBalances":{"alice":10000000000,"bob":10000000000},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.SendTokensAction","Action":{"Chain":"consu","From":"alice","To":"bob","Amount":1},"State":{"consu":{"ValBalances":{"alice":9999999999,"bob":10000000001},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.unbondTokensAction","Action":{"Chain":"provi","Sender":"alice","UnbondFrom":"alice","Amount":1000000},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.redelegateTokensAction","Action":{"Chain":"provi","Src":"alice","Dst":"carol","TxSender":"alice","Amount":1000000},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.downtimeSlashAction","Action":{"Chain":"consu","Validator":"bob"},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.unjailValidatorAction","Action":{"Provider":"provi","Validator":"bob"},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.downtimeSlashAction","Action":{"Chain":"provi","Validator":"carol"},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.unjailValidatorAction","Action":{"Provider":"provi","Validator":"carol"},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.submitEquivocationProposalAction","Action":{"Chain":"consu","Height":10,"Time":"2023-09-13T15:21:09.858029+02:00","Power":500,"Validator":"bob","Deposit":10000001,"From":"bob"},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":{"bob":9500000000},"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,"Proposals":{"2":{"RawProposal":{"Title":"","Description":"","Deposit":0,"Status":""},"Type":"main.TextProposal"}}}}},{"ActionType":"main.doublesignSlashAction","Action":{"Validator":"carol","Chain":"provi"},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.doublesignSlashAction","Action":{"Validator":"bob","Chain":"consu"},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.submitEquivocationProposalAction","Action":{"Chain":"consu","Height":10,"Time":"2023-09-13T15:21:09.858031+02:00","Power":500,"Validator":"bob","Deposit":10000001,"From":"bob"},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":{"bob":9489999999},"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,"Proposals":{"2":{"RawProposal":{"Height":10,"Power":500,"ConsensusAddress":"cosmosvalcons1nx7n5uh0ztxsynn4sje6eyq2ud6rc6klc96w39","Deposit":10000001,"Status":"PROPOSAL_STATUS_VOTING_PERIOD"},"Type":"main.EquivocationProposal"}}}}},{"ActionType":"main.voteGovProposalAction","Action":{"Chain":"provi","From":["alice","bob","carol"],"Vote":["yes","yes","yes"],"PropNumber":2},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":null,"ValPowers":{"alice":509,"bob":0,"carol":0},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"2":{"RawProposal":{"Height":10,"Power":500,"ConsensusAddress":"cosmosvalcons1nx7n5uh0ztxsynn4sje6eyq2ud6rc6klc96w39","Deposit":10000001,"Status":"PROPOSAL_STATUS_PASSED"},"Type":"main.EquivocationProposal"}}}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":null,"ValPowers":{"alice":509,"bob":0,"carol":0},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null},"provi":{"ValBalances":null,"ValPowers":{"alice":509,"bob":0,"carol":0},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.startRelayerAction","Action":{},"State":{}},{"ActionType":"main.submitConsumerRemovalProposalAction","Action":{"Chain":"provi","From":"bob","Deposit":10000001,"ConsumerChain":"consu","StopTimeOffset":0},"State":{"provi":{"ValBalances":{"bob":9489999999},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":{"consu":true},"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"3":{"RawProposal":{"Deposit":10000001,"Chain":"consu","StopTime":0,"Status":"PROPOSAL_STATUS_VOTING_PERIOD"},"Type":"main.ConsumerRemovalProposal"}}}}},{"ActionType":"main.voteGovProposalAction","Action":{"Chain":"provi","From":["alice","bob","carol"],"Vote":["no","no","no"],"PropNumber":3},"State":{"provi":{"ValBalances":{"bob":9500000000},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":{"consu":true},"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"3":{"RawProposal":{"Deposit":10000001,"Chain":"consu","StopTime":0,"Status":"PROPOSAL_STATUS_REJECTED"},"Type":"main.ConsumerRemovalProposal"}}}}},{"ActionType":"main.submitConsumerRemovalProposalAction","Action":{"Chain":"provi","From":"bob","Deposit":10000001,"ConsumerChain":"consu","StopTimeOffset":0},"State":{"provi":{"ValBalances":{"bob":9489999999},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":{"consu":true},"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"4":{"RawProposal":{"Deposit":10000001,"Chain":"consu","StopTime":0,"Status":"PROPOSAL_STATUS_VOTING_PERIOD"},"Type":"main.ConsumerRemovalProposal"}}}}},{"ActionType":"main.voteGovProposalAction","Action":{"Chain":"provi","From":["alice","bob","carol"],"Vote":["yes","yes","yes"],"PropNumber":4},"State":{"provi":{"ValBalances":{"bob":9500000000},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":{},"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"4":{"RawProposal":{"Deposit":10000001,"Chain":"consu","StopTime":0,"Status":"PROPOSAL_STATUS_PASSED"},"Type":"main.ConsumerRemovalProposal"}}}}}] \ No newline at end of file diff --git a/tests/e2e/tracehandler_testdata/slashThrottle.json b/tests/e2e/tracehandler_testdata/slashThrottle.json new file mode 100644 index 0000000000..f44effb891 --- /dev/null +++ b/tests/e2e/tracehandler_testdata/slashThrottle.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},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.submitConsumerAdditionProposalAction","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},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"1":{"RawProposal":{"Deposit":10000001,"Chain":"consu","SpawnTime":0,"InitialHeight":{"revision_height":1},"Status":"PROPOSAL_STATUS_VOTING_PERIOD"},"Type":"main.ConsumerAdditionProposal"}}}}},{"ActionType":"main.assignConsumerPubKeyAction","Action":{"Chain":"consu","Validator":"carol","ConsumerPubkey":"{\"@type\":\"/cosmos.crypto.ed25519.PubKey\",\"key\":\"Ui5Gf1+mtWUdH8u3xlmzdKID+F3PK0sfXZ73GZ6q6is=\"}","ReconfigureNode":false,"ExpectError":false,"ExpectedError":""},"State":{"consu":{"ValBalances":null,"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":{"carol":"cosmosvalcons1kswr5sq599365kcjmhgufevfps9njf43e4lwdk"},"ProviderKeys":{"carol":"cosmosvalcons1ezyrq65s3gshhx5585w6mpusq3xsj3ayzf4uv6"},"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":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,"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":{"bob":"","carol":"cosmosvalcons1kswr5sq599365kcjmhgufevfps9njf43e4lwdk"},"ProviderKeys":{"carol":"cosmosvalcons1ezyrq65s3gshhx5585w6mpusq3xsj3ayzf4uv6"},"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.voteGovProposalAction","Action":{"Chain":"provi","From":["alice","bob","carol"],"Vote":["yes","yes","yes"],"PropNumber":1},"State":{"provi":{"ValBalances":{"alice":9500000000,"bob":9500000000},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"1":{"RawProposal":{"Deposit":10000001,"Chain":"consu","SpawnTime":0,"InitialHeight":{"revision_height":1},"Status":"PROPOSAL_STATUS_PASSED"},"Type":"main.ConsumerAdditionProposal"}}}}},{"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},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null},"provi":{"ValBalances":{"alice":9500000000,"bob":9500000000,"carol":9500000000},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":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","Version":""},"State":{}},{"ActionType":"main.delegateTokensAction","Action":{"Chain":"provi","From":"alice","To":"alice","Amount":11000000},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.SendTokensAction","Action":{"Chain":"consu","From":"alice","To":"bob","Amount":1},"State":{"consu":{"ValBalances":{"alice":10000000000,"bob":10000000000},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.SendTokensAction","Action":{"Chain":"consu","From":"alice","To":"bob","Amount":1},"State":{"consu":{"ValBalances":{"alice":9999999999,"bob":10000000001},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.downtimeSlashAction","Action":{"Chain":"consu","Validator":"bob"},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":null,"ValPowers":{"alice":511,"bob":0,"carol":500},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":{"consu":0},"GlobalSlashQueueSize":0,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.downtimeSlashAction","Action":{"Chain":"consu","Validator":"carol"},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.slashThrottleDequeue","Action":{"Chain":"consu","CurrentQueueSize":1,"NextQueueSize":0,"Timeout":80000000000},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":null,"ValPowers":{"alice":511,"bob":0,"carol":0},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null},"provi":{"ValBalances":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,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.submitConsumerRemovalProposalAction","Action":{"Chain":"provi","From":"bob","Deposit":10000001,"ConsumerChain":"consu","StopTimeOffset":0},"State":{"provi":{"ValBalances":{"bob":9489999999},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":{"consu":true},"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"2":{"RawProposal":{"Deposit":10000001,"Chain":"consu","StopTime":0,"Status":"PROPOSAL_STATUS_VOTING_PERIOD"},"Type":"main.ConsumerRemovalProposal"}}}}},{"ActionType":"main.voteGovProposalAction","Action":{"Chain":"provi","From":["alice","bob","carol"],"Vote":["yes","yes","yes"],"PropNumber":2},"State":{"provi":{"ValBalances":{"bob":9500000000},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":{},"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"2":{"RawProposal":{"Deposit":10000001,"Chain":"consu","StopTime":0,"Status":"PROPOSAL_STATUS_PASSED"},"Type":"main.ConsumerRemovalProposal"}}}}}] \ No newline at end of file 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 new file mode 100644 index 0000000000..7093324566 --- /dev/null +++ b/tests/e2e/tracehandler_testdata/start_provider_chain.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},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}}] \ No newline at end of file From 276e3474e89164cc163c0be42bcf7f562eb3ab18 Mon Sep 17 00:00:00 2001 From: Philip Offtermatt Date: Tue, 19 Sep 2023 12:25:42 +0200 Subject: [PATCH 02/32] Remove auto-generated trace files --- .gitignore | 2 + tests/e2e/trace_handlers_test.go | 54 ++++++++++++++----- .../e2e/tracehandler_testdata/changeover.json | 1 - .../e2e/tracehandler_testdata/democracy.json | 1 - .../e2e/tracehandler_testdata/happyPath.json | 1 - .../multipleConsumers.json | 1 - .../rewardDenomConsumer.json | 1 - .../e2e/tracehandler_testdata/shorthappy.json | 1 - .../tracehandler_testdata/slashThrottle.json | 1 - .../slashThrottleSteps.json | 1 - .../start_provider_chain.json | 1 - 11 files changed, 44 insertions(+), 21 deletions(-) delete mode 100644 tests/e2e/tracehandler_testdata/changeover.json delete mode 100644 tests/e2e/tracehandler_testdata/democracy.json delete mode 100644 tests/e2e/tracehandler_testdata/happyPath.json delete mode 100644 tests/e2e/tracehandler_testdata/multipleConsumers.json delete mode 100644 tests/e2e/tracehandler_testdata/rewardDenomConsumer.json delete mode 100644 tests/e2e/tracehandler_testdata/shorthappy.json delete mode 100644 tests/e2e/tracehandler_testdata/slashThrottle.json delete mode 100644 tests/e2e/tracehandler_testdata/slashThrottleSteps.json delete mode 100644 tests/e2e/tracehandler_testdata/start_provider_chain.json diff --git a/.gitignore b/.gitignore index e83a69a504..24aa47c88d 100644 --- a/.gitignore +++ b/.gitignore @@ -8,3 +8,5 @@ vendor/ build/ .vscode .idea +# to ignore testdata generated by trace_handlers_test.go +*/tracehandler_testdata diff --git a/tests/e2e/trace_handlers_test.go b/tests/e2e/trace_handlers_test.go index cb568b1ecc..e71b5311f7 100644 --- a/tests/e2e/trace_handlers_test.go +++ b/tests/e2e/trace_handlers_test.go @@ -10,6 +10,7 @@ import ( clienttypes "github.com/cosmos/ibc-go/v7/modules/core/02-client/types" "github.com/google/go-cmp/cmp" + "pgregory.net/rapid" ) // an isolated test case for a proposal submission @@ -62,24 +63,53 @@ func TestWriterThenParser(t *testing.T) { for name, tc := range tests { t.Run(name, func(t *testing.T) { filename := filepath.Join(dir, "trace.json") - err := WriteAndReadTrace(GlobalJSONParser, GlobalJSONWriter, tc.trace, filename) + err := WriteReadCompareTrace(tc.trace, filename, name) if err != nil { - t.Fatalf("in testcase %v, got error writing trace to file: %v", name, err) - } - - got, err := GlobalJSONParser.ReadTraceFromFile(filename) - if err != nil { - t.Fatalf("in testcase %v, got error reading trace from file: %v", name, err) - } - diff := cmp.Diff(tc.trace, got, cmp.AllowUnexported(Step{})) - if diff != "" { - t.Log("Got a difference for testcase " + name) - t.Errorf("(-want +got):\n%s", diff) + log.Fatal(err) } }) } } +func TestWriterThenParserWithRapid(t *testing.T) { + dir, err := os.MkdirTemp("", "example") + if err != nil { + log.Fatal(err) + } + + i := 0 + rapid.Check(t, func(t *rapid.T) { + i += 1 + trace := GetTraceGen().Draw(t, "trace") + filename := filepath.Join(dir, fmt.Sprintf("trace-%v.json", i)) + err := WriteReadCompareTrace(trace, filename, "rapid-trace") + if err != nil { + log.Fatal(err) + } + }) + + defer os.RemoveAll(dir) // clean up +} + +// Write a trace to a file, then reads it back and compares to the original. +func WriteReadCompareTrace(trace []Step, filename string, name string) error { + err := WriteAndReadTrace(GlobalJSONParser, GlobalJSONWriter, trace, filename) + if err != nil { + return fmt.Errorf("in testcase %v, got error writing trace to file: %v", name, err) + } + + got, err := GlobalJSONParser.ReadTraceFromFile(filename) + if err != nil { + return fmt.Errorf("in testcase %v, got error reading trace from file: %v", name, err) + } + diff := cmp.Diff(trace, got, cmp.AllowUnexported(Step{})) + if diff != "" { + return fmt.Errorf("Got a difference for testcase %s (-want +got):\n%s", name, diff) + } + + return nil +} + // Checks that writing a trace does not result in an error. func TestWriteExamples(t *testing.T) { tests := map[string]struct { diff --git a/tests/e2e/tracehandler_testdata/changeover.json b/tests/e2e/tracehandler_testdata/changeover.json deleted file mode 100644 index 83cf264bfc..0000000000 --- a/tests/e2e/tracehandler_testdata/changeover.json +++ /dev/null @@ -1 +0,0 @@ -[{"ActionType":"main.StartSovereignChainAction","Action":{"Chain":"sover","Validators":[{"Id":"alice","Allocation":10000000000,"Stake":500000000}],"GenesisChanges":""},"State":{"sover":{"ValBalances":{"alice":9500000000},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.delegateTokensAction","Action":{"Chain":"sover","From":"alice","To":"alice","Amount":11000000},"State":{"sover":{"ValBalances":null,"ValPowers":{"alice":511,"bob":0,"carol":0},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"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},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.createIbcClientsAction","Action":{"ChainA":"sover","ChainB":"provi"},"State":{}},{"ActionType":"main.addIbcChannelAction","Action":{"ChainA":"sover","ChainB":"provi","ConnectionA":0,"PortA":"transfer","PortB":"transfer","Order":"unordered","Version":"ics20-1"},"State":{}},{"ActionType":"main.LegacyUpgradeProposalAction","Action":{"ChainID":"sover","UpgradeTitle":"sovereign-changeover","Proposer":"alice","UpgradeHeight":110},"State":{"sover":{"ValBalances":null,"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"1":{"RawProposal":{"Title":"sovereign-changeover","Description":"","UpgradeHeight":110,"Type":"/cosmos.upgrade.v1beta1.SoftwareUpgradeProposal","Deposit":10000000,"Status":"PROPOSAL_STATUS_VOTING_PERIOD"},"Type":"main.UpgradeProposal"}}}}},{"ActionType":"main.voteGovProposalAction","Action":{"Chain":"sover","From":["alice"],"Vote":["yes"],"PropNumber":1},"State":{"sover":{"ValBalances":null,"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"1":{"RawProposal":{"Title":"sovereign-changeover","Description":"","UpgradeHeight":110,"Type":"/cosmos.upgrade.v1beta1.SoftwareUpgradeProposal","Deposit":10000000,"Status":"PROPOSAL_STATUS_PASSED"},"Type":"main.UpgradeProposal"}}}}},{"ActionType":"main.waitUntilBlockAction","Action":{"Block":110,"Chain":"sover"},"State":{}},{"ActionType":"main.submitConsumerAdditionProposalAction","Action":{"PreCCV":true,"Chain":"provi","From":"alice","Deposit":10000001,"ConsumerChain":"sover","SpawnTime":0,"InitialHeight":{"revision_height":111},"DistributionChannel":"channel-0"},"State":{"provi":{"ValBalances":{"alice":9489999999,"bob":9500000000},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"1":{"RawProposal":{"Deposit":10000001,"Chain":"sover","SpawnTime":0,"InitialHeight":{"revision_height":111},"Status":"PROPOSAL_STATUS_VOTING_PERIOD"},"Type":"main.ConsumerAdditionProposal"}}}}},{"ActionType":"main.voteGovProposalAction","Action":{"Chain":"provi","From":["alice","bob","carol"],"Vote":["yes","yes","yes"],"PropNumber":1},"State":{"provi":{"ValBalances":{"alice":9500000000,"bob":9500000000},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"1":{"RawProposal":{"Deposit":10000001,"Chain":"sover","SpawnTime":0,"InitialHeight":{"revision_height":111},"Status":"PROPOSAL_STATUS_PASSED"},"Type":"main.ConsumerAdditionProposal"}}}}},{"ActionType":"main.ChangeoverChainAction","Action":{"SovereignChain":"sover","ProviderChain":"provi","Validators":[{"Id":"alice","Allocation":10000000000,"Stake":500000000},{"Id":"bob","Allocation":10000000000,"Stake":500000000},{"Id":"carol","Allocation":10000000000,"Stake":500000000}],"GenesisChanges":".app_state.ccvconsumer.params.soft_opt_out_threshold = \"0.05\""},"State":{"provi":{"ValBalances":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,"Proposals":null},"sover":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.addIbcConnectionAction","Action":{"ChainA":"sover","ChainB":"provi","ClientA":1,"ClientB":1},"State":{}},{"ActionType":"main.addIbcChannelAction","Action":{"ChainA":"sover","ChainB":"provi","ConnectionA":1,"PortA":"consumer","PortB":"provider","Order":"ordered","Version":""},"State":{}},{"ActionType":"main.SendTokensAction","Action":{"Chain":"sover","From":"alice","To":"bob","Amount":100},"State":{"sover":{"ValBalances":{"bob":0},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.delegateTokensAction","Action":{"Chain":"provi","From":"alice","To":"alice","Amount":11000000},"State":{"provi":{"ValBalances":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,"Proposals":null},"sover":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"sover","Port":"provider","Channel":1},"State":{"sover":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.SendTokensAction","Action":{"Chain":"sover","From":"alice","To":"bob","Amount":100},"State":{"sover":{"ValBalances":{"bob":100},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.unbondTokensAction","Action":{"Chain":"provi","Sender":"alice","UnbondFrom":"alice","Amount":1000000},"State":{"provi":{"ValBalances":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,"Proposals":null},"sover":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"sover","Port":"provider","Channel":1},"State":{"sover":{"ValBalances":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,"Proposals":null}}}] \ No newline at end of file diff --git a/tests/e2e/tracehandler_testdata/democracy.json b/tests/e2e/tracehandler_testdata/democracy.json deleted file mode 100644 index b078d6f87e..0000000000 --- a/tests/e2e/tracehandler_testdata/democracy.json +++ /dev/null @@ -1 +0,0 @@ -[{"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},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.submitConsumerAdditionProposalAction","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},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"1":{"RawProposal":{"Deposit":10000001,"Chain":"democ","SpawnTime":0,"InitialHeight":{"revision_height":1},"Status":"PROPOSAL_STATUS_VOTING_PERIOD"},"Type":"main.ConsumerAdditionProposal"}}}}},{"ActionType":"main.assignConsumerPubKeyAction","Action":{"Chain":"democ","Validator":"carol","ConsumerPubkey":"{\"@type\":\"/cosmos.crypto.ed25519.PubKey\",\"key\":\"Ui5Gf1+mtWUdH8u3xlmzdKID+F3PK0sfXZ73GZ6q6is=\"}","ReconfigureNode":false,"ExpectError":false,"ExpectedError":""},"State":{"democ":{"ValBalances":null,"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":{"carol":"cosmosvalcons1kswr5sq599365kcjmhgufevfps9njf43e4lwdk"},"ProviderKeys":{"carol":"cosmosvalcons1ezyrq65s3gshhx5585w6mpusq3xsj3ayzf4uv6"},"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":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,"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":{"bob":"","carol":"cosmosvalcons1kswr5sq599365kcjmhgufevfps9njf43e4lwdk"},"ProviderKeys":{"carol":"cosmosvalcons1ezyrq65s3gshhx5585w6mpusq3xsj3ayzf4uv6"},"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.voteGovProposalAction","Action":{"Chain":"provi","From":["alice","bob","carol"],"Vote":["yes","yes","yes"],"PropNumber":1},"State":{"provi":{"ValBalances":{"alice":9500000000,"bob":9500000000},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"1":{"RawProposal":{"Deposit":10000001,"Chain":"democ","SpawnTime":0,"InitialHeight":{"revision_height":1},"Status":"PROPOSAL_STATUS_PASSED"},"Type":"main.ConsumerAdditionProposal"}}}}},{"ActionType":"main.startConsumerChainAction","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},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null},"provi":{"ValBalances":{"alice":9500000000,"bob":9500000000,"carol":9500000000},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.addIbcConnectionAction","Action":{"ChainA":"democ","ChainB":"provi","ClientA":0,"ClientB":0},"State":{}},{"ActionType":"main.addIbcChannelAction","Action":{"ChainA":"democ","ChainB":"provi","ConnectionA":0,"PortA":"consumer","PortB":"provider","Order":"ordered","Version":""},"State":{}},{"ActionType":"main.transferChannelCompleteAction","Action":{"ChainA":"democ","ChainB":"provi","ConnectionA":0,"PortA":"transfer","PortB":"transfer","Order":"unordered","ChannelA":1,"ChannelB":1},"State":{}},{"ActionType":"main.delegateTokensAction","Action":{"Chain":"provi","From":"alice","To":"alice","Amount":11000000},"State":{"democ":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.SendTokensAction","Action":{"Chain":"democ","From":"alice","To":"bob","Amount":1},"State":{"democ":{"ValBalances":{"alice":10000000000,"bob":10000000000},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"democ","Port":"provider","Channel":0},"State":{"democ":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.SendTokensAction","Action":{"Chain":"democ","From":"alice","To":"bob","Amount":1},"State":{"democ":{"ValBalances":{"alice":9999999999,"bob":10000000001},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.registerRepresentativeAction","Action":{"Chain":"democ","Representatives":["alice","bob"],"Stakes":[100000000,40000000]},"State":{"democ":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.delegateTokensAction","Action":{"Chain":"democ","From":"carol","To":"alice","Amount":500000},"State":{"democ":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.submitParamChangeLegacyProposalAction","Action":{"Chain":"democ","From":"alice","Deposit":10000001,"Subspace":"transfer","Key":"SendEnabled","Value":true},"State":{"democ":{"ValBalances":{"alice":9889999998,"bob":9960000001},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"1":{"RawProposal":{"Deposit":10000001,"Status":"PROPOSAL_STATUS_VOTING_PERIOD","Subspace":"transfer","Key":"SendEnabled","Value":"true"},"Type":"main.ParamsProposal"}}}}},{"ActionType":"main.voteGovProposalAction","Action":{"Chain":"democ","From":["alice","bob"],"Vote":["yes","no"],"PropNumber":1},"State":{"democ":{"ValBalances":{"alice":9889999998,"bob":9960000001},"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,"Proposals":null}}},{"ActionType":"main.relayRewardPacketsToProviderAction","Action":{"ConsumerChain":"democ","ProviderChain":"provi","Port":"transfer","Channel":1},"State":{"provi":{"ValBalances":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":[],"Proposals":null}}},{"ActionType":"main.submitChangeRewardDenomsProposalAction","Action":{"Denom":"ibc/3C3D7B3BE4ECC85A0E5B52A3AEC3B7DFC2AA9CA47C37821E57020D6807043BE9","Deposit":10000001,"From":"bob"},"State":{"provi":{"ValBalances":null,"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":[],"Proposals":null}}},{"ActionType":"main.voteGovProposalAction","Action":{"Chain":"provi","From":["alice","bob","carol"],"Vote":["yes","yes","yes"],"PropNumber":2},"State":{"provi":{"ValBalances":null,"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":["ibc/3C3D7B3BE4ECC85A0E5B52A3AEC3B7DFC2AA9CA47C37821E57020D6807043BE9"],"Proposals":null}}},{"ActionType":"main.relayRewardPacketsToProviderAction","Action":{"ConsumerChain":"democ","ProviderChain":"provi","Port":"transfer","Channel":1},"State":{"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.downtimeSlashAction","Action":{"Chain":"democ","Validator":"bob"},"State":{"democ":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"democ","Port":"provider","Channel":0},"State":{"democ":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"democ","Port":"provider","Channel":0},"State":{"democ":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.unjailValidatorAction","Action":{"Provider":"provi","Validator":"bob"},"State":{"democ":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"democ","Port":"provider","Channel":0},"State":{"democ":{"ValBalances":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,"Proposals":null}}}] \ No newline at end of file diff --git a/tests/e2e/tracehandler_testdata/happyPath.json b/tests/e2e/tracehandler_testdata/happyPath.json deleted file mode 100644 index dd33a2a98c..0000000000 --- a/tests/e2e/tracehandler_testdata/happyPath.json +++ /dev/null @@ -1 +0,0 @@ -[{"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},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.submitConsumerAdditionProposalAction","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},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"1":{"RawProposal":{"Deposit":10000001,"Chain":"consu","SpawnTime":0,"InitialHeight":{"revision_height":1},"Status":"PROPOSAL_STATUS_VOTING_PERIOD"},"Type":"main.ConsumerAdditionProposal"}}}}},{"ActionType":"main.assignConsumerPubKeyAction","Action":{"Chain":"consu","Validator":"carol","ConsumerPubkey":"{\"@type\":\"/cosmos.crypto.ed25519.PubKey\",\"key\":\"Ui5Gf1+mtWUdH8u3xlmzdKID+F3PK0sfXZ73GZ6q6is=\"}","ReconfigureNode":false,"ExpectError":false,"ExpectedError":""},"State":{"consu":{"ValBalances":null,"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":{"carol":"cosmosvalcons1kswr5sq599365kcjmhgufevfps9njf43e4lwdk"},"ProviderKeys":{"carol":"cosmosvalcons1ezyrq65s3gshhx5585w6mpusq3xsj3ayzf4uv6"},"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":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,"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":{"bob":"","carol":"cosmosvalcons1kswr5sq599365kcjmhgufevfps9njf43e4lwdk"},"ProviderKeys":{"carol":"cosmosvalcons1ezyrq65s3gshhx5585w6mpusq3xsj3ayzf4uv6"},"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.voteGovProposalAction","Action":{"Chain":"provi","From":["alice","bob","carol"],"Vote":["yes","yes","yes"],"PropNumber":1},"State":{"provi":{"ValBalances":{"alice":9500000000,"bob":9500000000},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"1":{"RawProposal":{"Deposit":10000001,"Chain":"consu","SpawnTime":0,"InitialHeight":{"revision_height":1},"Status":"PROPOSAL_STATUS_PASSED"},"Type":"main.ConsumerAdditionProposal"}}}}},{"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},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null},"provi":{"ValBalances":{"alice":9500000000,"bob":9500000000,"carol":9500000000},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":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","Version":""},"State":{}},{"ActionType":"main.delegateTokensAction","Action":{"Chain":"provi","From":"alice","To":"alice","Amount":11000000},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.SendTokensAction","Action":{"Chain":"consu","From":"alice","To":"bob","Amount":1},"State":{"consu":{"ValBalances":{"alice":10000000000,"bob":10000000000},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.SendTokensAction","Action":{"Chain":"consu","From":"alice","To":"bob","Amount":1},"State":{"consu":{"ValBalances":{"alice":9999999999,"bob":10000000001},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.assignConsumerPubKeyAction","Action":{"Chain":"consu","Validator":"bob","ConsumerPubkey":"{\"@type\":\"/cosmos.crypto.ed25519.PubKey\",\"key\":\"QlG+iYe6AyYpvY1z9RNJKCVlH14Q/qSz4EjGdGCru3o=\"}","ReconfigureNode":true,"ExpectError":false,"ExpectedError":""},"State":{"consu":{"ValBalances":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,"RegisteredConsumerRewardDenoms":null,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"RegisteredConsumerRewardDenoms":null,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.unbondTokensAction","Action":{"Chain":"provi","Sender":"alice","UnbondFrom":"alice","Amount":1000000},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.unbondTokensAction","Action":{"Chain":"provi","Sender":"alice","UnbondFrom":"alice","Amount":1000000},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":null,"ValPowers":{"alice":509,"bob":500,"carol":500},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":null,"ValPowers":{"alice":509,"bob":500,"carol":500},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.cancelUnbondTokensAction","Action":{"Chain":"provi","Delegator":"alice","Validator":"alice","Amount":1000000},"State":{"consu":{"ValBalances":null,"ValPowers":{"alice":509,"bob":500,"carol":500},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.redelegateTokensAction","Action":{"Chain":"provi","Src":"alice","Dst":"carol","TxSender":"alice","Amount":450000000},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":null,"ValPowers":{"alice":60,"bob":500,"carol":950},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":null,"ValPowers":{"alice":60,"bob":500,"carol":950},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.downtimeSlashAction","Action":{"Chain":"consu","Validator":"alice"},"State":{"consu":{"ValBalances":null,"ValPowers":{"alice":60,"bob":500,"carol":950},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null},"provi":{"ValBalances":null,"ValPowers":{"alice":60,"bob":500,"carol":950},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":null,"ValPowers":{"alice":60,"bob":500,"carol":950},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null},"provi":{"ValBalances":null,"ValPowers":{"alice":60,"bob":500,"carol":950},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.redelegateTokensAction","Action":{"Chain":"provi","Src":"carol","Dst":"alice","TxSender":"carol","Amount":449000000},"State":{"consu":{"ValBalances":null,"ValPowers":{"alice":60,"bob":500,"carol":950},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.downtimeSlashAction","Action":{"Chain":"consu","Validator":"bob"},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.unjailValidatorAction","Action":{"Provider":"provi","Validator":"bob"},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.downtimeSlashAction","Action":{"Chain":"provi","Validator":"carol"},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.unjailValidatorAction","Action":{"Provider":"provi","Validator":"carol"},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.submitEquivocationProposalAction","Action":{"Chain":"consu","Height":10,"Time":"2023-09-13T15:21:09.858003+02:00","Power":500,"Validator":"bob","Deposit":10000001,"From":"bob"},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":{"bob":9500000000},"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,"Proposals":{"2":{"RawProposal":{"Title":"","Description":"","Deposit":0,"Status":""},"Type":"main.TextProposal"}}}}},{"ActionType":"main.doublesignSlashAction","Action":{"Validator":"carol","Chain":"provi"},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.doublesignSlashAction","Action":{"Validator":"bob","Chain":"consu"},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.submitEquivocationProposalAction","Action":{"Chain":"consu","Height":10,"Time":"2023-09-13T15:21:09.858006+02:00","Power":500,"Validator":"bob","Deposit":10000001,"From":"bob"},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":{"bob":9489999999},"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,"Proposals":{"2":{"RawProposal":{"Height":10,"Power":500,"ConsensusAddress":"cosmosvalcons1nx7n5uh0ztxsynn4sje6eyq2ud6rc6klc96w39","Deposit":10000001,"Status":"PROPOSAL_STATUS_VOTING_PERIOD"},"Type":"main.EquivocationProposal"}}}}},{"ActionType":"main.voteGovProposalAction","Action":{"Chain":"provi","From":["alice","bob","carol"],"Vote":["yes","yes","yes"],"PropNumber":2},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":null,"ValPowers":{"alice":509,"bob":0,"carol":0},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"2":{"RawProposal":{"Height":10,"Power":500,"ConsensusAddress":"cosmosvalcons1nx7n5uh0ztxsynn4sje6eyq2ud6rc6klc96w39","Deposit":10000001,"Status":"PROPOSAL_STATUS_PASSED"},"Type":"main.EquivocationProposal"}}}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":null,"ValPowers":{"alice":509,"bob":0,"carol":0},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null},"provi":{"ValBalances":null,"ValPowers":{"alice":509,"bob":0,"carol":0},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.startRelayerAction","Action":{},"State":{}},{"ActionType":"main.submitConsumerRemovalProposalAction","Action":{"Chain":"provi","From":"bob","Deposit":10000001,"ConsumerChain":"consu","StopTimeOffset":0},"State":{"provi":{"ValBalances":{"bob":9489999999},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":{"consu":true},"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"3":{"RawProposal":{"Deposit":10000001,"Chain":"consu","StopTime":0,"Status":"PROPOSAL_STATUS_VOTING_PERIOD"},"Type":"main.ConsumerRemovalProposal"}}}}},{"ActionType":"main.voteGovProposalAction","Action":{"Chain":"provi","From":["alice","bob","carol"],"Vote":["no","no","no"],"PropNumber":3},"State":{"provi":{"ValBalances":{"bob":9500000000},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":{"consu":true},"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"3":{"RawProposal":{"Deposit":10000001,"Chain":"consu","StopTime":0,"Status":"PROPOSAL_STATUS_REJECTED"},"Type":"main.ConsumerRemovalProposal"}}}}},{"ActionType":"main.submitConsumerRemovalProposalAction","Action":{"Chain":"provi","From":"bob","Deposit":10000001,"ConsumerChain":"consu","StopTimeOffset":0},"State":{"provi":{"ValBalances":{"bob":9489999999},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":{"consu":true},"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"4":{"RawProposal":{"Deposit":10000001,"Chain":"consu","StopTime":0,"Status":"PROPOSAL_STATUS_VOTING_PERIOD"},"Type":"main.ConsumerRemovalProposal"}}}}},{"ActionType":"main.voteGovProposalAction","Action":{"Chain":"provi","From":["alice","bob","carol"],"Vote":["yes","yes","yes"],"PropNumber":4},"State":{"provi":{"ValBalances":{"bob":9500000000},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":{},"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"4":{"RawProposal":{"Deposit":10000001,"Chain":"consu","StopTime":0,"Status":"PROPOSAL_STATUS_PASSED"},"Type":"main.ConsumerRemovalProposal"}}}}}] \ No newline at end of file diff --git a/tests/e2e/tracehandler_testdata/multipleConsumers.json b/tests/e2e/tracehandler_testdata/multipleConsumers.json deleted file mode 100644 index ebdc4a673a..0000000000 --- a/tests/e2e/tracehandler_testdata/multipleConsumers.json +++ /dev/null @@ -1 +0,0 @@ -[{"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},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.submitConsumerAdditionProposalAction","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},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"1":{"RawProposal":{"Deposit":10000001,"Chain":"consu","SpawnTime":0,"InitialHeight":{"revision_height":1},"Status":"PROPOSAL_STATUS_VOTING_PERIOD"},"Type":"main.ConsumerAdditionProposal"}}}}},{"ActionType":"main.assignConsumerPubKeyAction","Action":{"Chain":"consu","Validator":"carol","ConsumerPubkey":"{\"@type\":\"/cosmos.crypto.ed25519.PubKey\",\"key\":\"Ui5Gf1+mtWUdH8u3xlmzdKID+F3PK0sfXZ73GZ6q6is=\"}","ReconfigureNode":false,"ExpectError":false,"ExpectedError":""},"State":{"consu":{"ValBalances":null,"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":{"carol":"cosmosvalcons1kswr5sq599365kcjmhgufevfps9njf43e4lwdk"},"ProviderKeys":{"carol":"cosmosvalcons1ezyrq65s3gshhx5585w6mpusq3xsj3ayzf4uv6"},"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":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,"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":{"bob":"","carol":"cosmosvalcons1kswr5sq599365kcjmhgufevfps9njf43e4lwdk"},"ProviderKeys":{"carol":"cosmosvalcons1ezyrq65s3gshhx5585w6mpusq3xsj3ayzf4uv6"},"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.voteGovProposalAction","Action":{"Chain":"provi","From":["alice","bob","carol"],"Vote":["yes","yes","yes"],"PropNumber":1},"State":{"provi":{"ValBalances":{"alice":9500000000,"bob":9500000000},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"1":{"RawProposal":{"Deposit":10000001,"Chain":"consu","SpawnTime":0,"InitialHeight":{"revision_height":1},"Status":"PROPOSAL_STATUS_PASSED"},"Type":"main.ConsumerAdditionProposal"}}}}},{"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},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null},"provi":{"ValBalances":{"alice":9500000000,"bob":9500000000,"carol":9500000000},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":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","Version":""},"State":{}},{"ActionType":"main.submitConsumerAdditionProposalAction","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},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"2":{"RawProposal":{"Deposit":10000001,"Chain":"densu","SpawnTime":0,"InitialHeight":{"revision_height":1},"Status":"PROPOSAL_STATUS_VOTING_PERIOD"},"Type":"main.ConsumerAdditionProposal"}}}}},{"ActionType":"main.assignConsumerPubKeyAction","Action":{"Chain":"densu","Validator":"carol","ConsumerPubkey":"{\"@type\":\"/cosmos.crypto.ed25519.PubKey\",\"key\":\"Ui5Gf1+mtWUdH8u3xlmzdKID+F3PK0sfXZ73GZ6q6is=\"}","ReconfigureNode":false,"ExpectError":false,"ExpectedError":""},"State":{"densu":{"ValBalances":null,"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":{"carol":"cosmosvalcons1kswr5sq599365kcjmhgufevfps9njf43e4lwdk"},"ProviderKeys":{"carol":"cosmosvalcons1ezyrq65s3gshhx5585w6mpusq3xsj3ayzf4uv6"},"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":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,"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":{"bob":"","carol":"cosmosvalcons1kswr5sq599365kcjmhgufevfps9njf43e4lwdk"},"ProviderKeys":{"carol":"cosmosvalcons1ezyrq65s3gshhx5585w6mpusq3xsj3ayzf4uv6"},"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.voteGovProposalAction","Action":{"Chain":"provi","From":["alice","bob","carol"],"Vote":["yes","yes","yes"],"PropNumber":2},"State":{"provi":{"ValBalances":{"alice":9500000000,"bob":9500000000},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"2":{"RawProposal":{"Deposit":10000001,"Chain":"densu","SpawnTime":0,"InitialHeight":{"revision_height":1},"Status":"PROPOSAL_STATUS_PASSED"},"Type":"main.ConsumerAdditionProposal"}}}}},{"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},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null},"provi":{"ValBalances":{"alice":9500000000,"bob":9500000000,"carol":9500000000},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":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","Version":""},"State":{}},{"ActionType":"main.delegateTokensAction","Action":{"Chain":"provi","From":"alice","To":"alice","Amount":11000000},"State":{"consu":{"ValBalances":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,"Proposals":null},"densu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null},"densu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"densu","Port":"provider","Channel":1},"State":{"consu":{"ValBalances":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,"Proposals":null},"densu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.unbondTokensAction","Action":{"Chain":"provi","Sender":"alice","UnbondFrom":"alice","Amount":1000000},"State":{"consu":{"ValBalances":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,"Proposals":null},"densu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null},"densu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"densu","Port":"provider","Channel":1},"State":{"consu":{"ValBalances":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,"Proposals":null},"densu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.redelegateTokensAction","Action":{"Chain":"provi","Src":"alice","Dst":"carol","TxSender":"alice","Amount":1000000},"State":{"consu":{"ValBalances":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,"Proposals":null},"densu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null},"densu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"densu","Port":"provider","Channel":1},"State":{"consu":{"ValBalances":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,"Proposals":null},"densu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.downtimeSlashAction","Action":{"Chain":"consu","Validator":"bob"},"State":{"consu":{"ValBalances":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,"Proposals":null},"densu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null},"densu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null},"densu":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"densu","Port":"provider","Channel":1},"State":{"consu":{"ValBalances":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,"Proposals":null},"densu":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.unjailValidatorAction","Action":{"Provider":"provi","Validator":"bob"},"State":{"consu":{"ValBalances":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,"Proposals":null},"densu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null},"densu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"densu","Port":"provider","Channel":1},"State":{"consu":{"ValBalances":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,"Proposals":null},"densu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.downtimeSlashAction","Action":{"Chain":"provi","Validator":"carol"},"State":{"consu":{"ValBalances":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,"Proposals":null},"densu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null},"densu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"densu","Port":"provider","Channel":1},"State":{"consu":{"ValBalances":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,"Proposals":null},"densu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.unjailValidatorAction","Action":{"Provider":"provi","Validator":"carol"},"State":{"consu":{"ValBalances":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,"Proposals":null},"densu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null},"densu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"densu","Port":"provider","Channel":1},"State":{"consu":{"ValBalances":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,"Proposals":null},"densu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.doublesignSlashAction","Action":{"Validator":"carol","Chain":"provi"},"State":{"consu":{"ValBalances":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,"Proposals":null},"densu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null},"densu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"densu","Port":"provider","Channel":1},"State":{"consu":{"ValBalances":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,"Proposals":null},"densu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.doublesignSlashAction","Action":{"Validator":"bob","Chain":"consu"},"State":{"consu":{"ValBalances":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,"Proposals":null},"densu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null},"densu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null},"densu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"densu","Port":"provider","Channel":1},"State":{"consu":{"ValBalances":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,"Proposals":null},"densu":{"ValBalances":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,"Proposals":null}}}] \ No newline at end of file diff --git a/tests/e2e/tracehandler_testdata/rewardDenomConsumer.json b/tests/e2e/tracehandler_testdata/rewardDenomConsumer.json deleted file mode 100644 index 62f242418a..0000000000 --- a/tests/e2e/tracehandler_testdata/rewardDenomConsumer.json +++ /dev/null @@ -1 +0,0 @@ -[{"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},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.submitConsumerAdditionProposalAction","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},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"1":{"RawProposal":{"Deposit":10000001,"Chain":"democ","SpawnTime":0,"InitialHeight":{"revision_height":1},"Status":"PROPOSAL_STATUS_VOTING_PERIOD"},"Type":"main.ConsumerAdditionProposal"}}}}},{"ActionType":"main.assignConsumerPubKeyAction","Action":{"Chain":"democ","Validator":"carol","ConsumerPubkey":"{\"@type\":\"/cosmos.crypto.ed25519.PubKey\",\"key\":\"Ui5Gf1+mtWUdH8u3xlmzdKID+F3PK0sfXZ73GZ6q6is=\"}","ReconfigureNode":false,"ExpectError":false,"ExpectedError":""},"State":{"democ":{"ValBalances":null,"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":{"carol":"cosmosvalcons1kswr5sq599365kcjmhgufevfps9njf43e4lwdk"},"ProviderKeys":{"carol":"cosmosvalcons1ezyrq65s3gshhx5585w6mpusq3xsj3ayzf4uv6"},"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":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,"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":{"bob":"","carol":"cosmosvalcons1kswr5sq599365kcjmhgufevfps9njf43e4lwdk"},"ProviderKeys":{"carol":"cosmosvalcons1ezyrq65s3gshhx5585w6mpusq3xsj3ayzf4uv6"},"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.voteGovProposalAction","Action":{"Chain":"provi","From":["alice","bob","carol"],"Vote":["yes","yes","yes"],"PropNumber":1},"State":{"provi":{"ValBalances":{"alice":9500000000,"bob":9500000000},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"1":{"RawProposal":{"Deposit":10000001,"Chain":"democ","SpawnTime":0,"InitialHeight":{"revision_height":1},"Status":"PROPOSAL_STATUS_PASSED"},"Type":"main.ConsumerAdditionProposal"}}}}},{"ActionType":"main.startConsumerChainAction","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},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null},"provi":{"ValBalances":{"alice":9500000000,"bob":9500000000,"carol":9500000000},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.addIbcConnectionAction","Action":{"ChainA":"democ","ChainB":"provi","ClientA":0,"ClientB":0},"State":{}},{"ActionType":"main.addIbcChannelAction","Action":{"ChainA":"democ","ChainB":"provi","ConnectionA":0,"PortA":"consumer","PortB":"provider","Order":"ordered","Version":""},"State":{}},{"ActionType":"main.transferChannelCompleteAction","Action":{"ChainA":"democ","ChainB":"provi","ConnectionA":0,"PortA":"transfer","PortB":"transfer","Order":"unordered","ChannelA":1,"ChannelB":1},"State":{}},{"ActionType":"main.delegateTokensAction","Action":{"Chain":"provi","From":"alice","To":"alice","Amount":11000000},"State":{"democ":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.SendTokensAction","Action":{"Chain":"democ","From":"alice","To":"bob","Amount":1},"State":{"democ":{"ValBalances":{"alice":10000000000,"bob":10000000000},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"democ","Port":"provider","Channel":0},"State":{"democ":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.SendTokensAction","Action":{"Chain":"democ","From":"alice","To":"bob","Amount":1},"State":{"democ":{"ValBalances":{"alice":9999999999,"bob":10000000001},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.registerRepresentativeAction","Action":{"Chain":"democ","Representatives":["alice","bob"],"Stakes":[100000000,40000000]},"State":{"democ":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.delegateTokensAction","Action":{"Chain":"democ","From":"carol","To":"alice","Amount":500000},"State":{"democ":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.submitParamChangeLegacyProposalAction","Action":{"Chain":"democ","From":"alice","Deposit":10000001,"Subspace":"transfer","Key":"SendEnabled","Value":true},"State":{"democ":{"ValBalances":{"alice":9889999998,"bob":9960000001},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"1":{"RawProposal":{"Deposit":10000001,"Status":"PROPOSAL_STATUS_VOTING_PERIOD","Subspace":"transfer","Key":"SendEnabled","Value":"true"},"Type":"main.ParamsProposal"}}}}},{"ActionType":"main.voteGovProposalAction","Action":{"Chain":"democ","From":["alice","bob"],"Vote":["yes","no"],"PropNumber":1},"State":{"democ":{"ValBalances":{"alice":9889999998,"bob":9960000001},"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,"Proposals":null}}},{"ActionType":"main.relayRewardPacketsToProviderAction","Action":{"ConsumerChain":"democ","ProviderChain":"provi","Port":"transfer","Channel":1},"State":{"provi":{"ValBalances":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":[],"Proposals":null}}},{"ActionType":"main.submitChangeRewardDenomsProposalAction","Action":{"Denom":"ibc/3C3D7B3BE4ECC85A0E5B52A3AEC3B7DFC2AA9CA47C37821E57020D6807043BE9","Deposit":10000001,"From":"bob"},"State":{"provi":{"ValBalances":null,"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":[],"Proposals":null}}},{"ActionType":"main.voteGovProposalAction","Action":{"Chain":"provi","From":["alice","bob","carol"],"Vote":["yes","yes","yes"],"PropNumber":2},"State":{"provi":{"ValBalances":null,"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":["ibc/3C3D7B3BE4ECC85A0E5B52A3AEC3B7DFC2AA9CA47C37821E57020D6807043BE9"],"Proposals":null}}},{"ActionType":"main.relayRewardPacketsToProviderAction","Action":{"ConsumerChain":"democ","ProviderChain":"provi","Port":"transfer","Channel":1},"State":{"provi":{"ValBalances":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":null,"Proposals":null}}},{"ActionType":"main.downtimeSlashAction","Action":{"Chain":"democ","Validator":"bob"},"State":{"democ":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"democ","Port":"provider","Channel":0},"State":{"democ":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"democ","Port":"provider","Channel":0},"State":{"democ":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.unjailValidatorAction","Action":{"Provider":"provi","Validator":"bob"},"State":{"democ":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"democ","Port":"provider","Channel":0},"State":{"democ":{"ValBalances":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,"Proposals":null}}}] \ No newline at end of file diff --git a/tests/e2e/tracehandler_testdata/shorthappy.json b/tests/e2e/tracehandler_testdata/shorthappy.json deleted file mode 100644 index 43f0372a73..0000000000 --- a/tests/e2e/tracehandler_testdata/shorthappy.json +++ /dev/null @@ -1 +0,0 @@ -[{"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},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.submitConsumerAdditionProposalAction","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},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"1":{"RawProposal":{"Deposit":10000001,"Chain":"consu","SpawnTime":0,"InitialHeight":{"revision_height":1},"Status":"PROPOSAL_STATUS_VOTING_PERIOD"},"Type":"main.ConsumerAdditionProposal"}}}}},{"ActionType":"main.assignConsumerPubKeyAction","Action":{"Chain":"consu","Validator":"carol","ConsumerPubkey":"{\"@type\":\"/cosmos.crypto.ed25519.PubKey\",\"key\":\"Ui5Gf1+mtWUdH8u3xlmzdKID+F3PK0sfXZ73GZ6q6is=\"}","ReconfigureNode":false,"ExpectError":false,"ExpectedError":""},"State":{"consu":{"ValBalances":null,"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":{"carol":"cosmosvalcons1kswr5sq599365kcjmhgufevfps9njf43e4lwdk"},"ProviderKeys":{"carol":"cosmosvalcons1ezyrq65s3gshhx5585w6mpusq3xsj3ayzf4uv6"},"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":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,"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":{"bob":"","carol":"cosmosvalcons1kswr5sq599365kcjmhgufevfps9njf43e4lwdk"},"ProviderKeys":{"carol":"cosmosvalcons1ezyrq65s3gshhx5585w6mpusq3xsj3ayzf4uv6"},"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.voteGovProposalAction","Action":{"Chain":"provi","From":["alice","bob","carol"],"Vote":["yes","yes","yes"],"PropNumber":1},"State":{"provi":{"ValBalances":{"alice":9500000000,"bob":9500000000},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"1":{"RawProposal":{"Deposit":10000001,"Chain":"consu","SpawnTime":0,"InitialHeight":{"revision_height":1},"Status":"PROPOSAL_STATUS_PASSED"},"Type":"main.ConsumerAdditionProposal"}}}}},{"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},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null},"provi":{"ValBalances":{"alice":9500000000,"bob":9500000000,"carol":9500000000},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":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","Version":""},"State":{}},{"ActionType":"main.delegateTokensAction","Action":{"Chain":"provi","From":"alice","To":"alice","Amount":11000000},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.SendTokensAction","Action":{"Chain":"consu","From":"alice","To":"bob","Amount":1},"State":{"consu":{"ValBalances":{"alice":10000000000,"bob":10000000000},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.SendTokensAction","Action":{"Chain":"consu","From":"alice","To":"bob","Amount":1},"State":{"consu":{"ValBalances":{"alice":9999999999,"bob":10000000001},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.unbondTokensAction","Action":{"Chain":"provi","Sender":"alice","UnbondFrom":"alice","Amount":1000000},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.redelegateTokensAction","Action":{"Chain":"provi","Src":"alice","Dst":"carol","TxSender":"alice","Amount":1000000},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.downtimeSlashAction","Action":{"Chain":"consu","Validator":"bob"},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.unjailValidatorAction","Action":{"Provider":"provi","Validator":"bob"},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.downtimeSlashAction","Action":{"Chain":"provi","Validator":"carol"},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.unjailValidatorAction","Action":{"Provider":"provi","Validator":"carol"},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.submitEquivocationProposalAction","Action":{"Chain":"consu","Height":10,"Time":"2023-09-13T15:21:09.858029+02:00","Power":500,"Validator":"bob","Deposit":10000001,"From":"bob"},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":{"bob":9500000000},"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,"Proposals":{"2":{"RawProposal":{"Title":"","Description":"","Deposit":0,"Status":""},"Type":"main.TextProposal"}}}}},{"ActionType":"main.doublesignSlashAction","Action":{"Validator":"carol","Chain":"provi"},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.doublesignSlashAction","Action":{"Validator":"bob","Chain":"consu"},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.submitEquivocationProposalAction","Action":{"Chain":"consu","Height":10,"Time":"2023-09-13T15:21:09.858031+02:00","Power":500,"Validator":"bob","Deposit":10000001,"From":"bob"},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":{"bob":9489999999},"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,"Proposals":{"2":{"RawProposal":{"Height":10,"Power":500,"ConsensusAddress":"cosmosvalcons1nx7n5uh0ztxsynn4sje6eyq2ud6rc6klc96w39","Deposit":10000001,"Status":"PROPOSAL_STATUS_VOTING_PERIOD"},"Type":"main.EquivocationProposal"}}}}},{"ActionType":"main.voteGovProposalAction","Action":{"Chain":"provi","From":["alice","bob","carol"],"Vote":["yes","yes","yes"],"PropNumber":2},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":null,"ValPowers":{"alice":509,"bob":0,"carol":0},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"2":{"RawProposal":{"Height":10,"Power":500,"ConsensusAddress":"cosmosvalcons1nx7n5uh0ztxsynn4sje6eyq2ud6rc6klc96w39","Deposit":10000001,"Status":"PROPOSAL_STATUS_PASSED"},"Type":"main.EquivocationProposal"}}}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":null,"ValPowers":{"alice":509,"bob":0,"carol":0},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null},"provi":{"ValBalances":null,"ValPowers":{"alice":509,"bob":0,"carol":0},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.startRelayerAction","Action":{},"State":{}},{"ActionType":"main.submitConsumerRemovalProposalAction","Action":{"Chain":"provi","From":"bob","Deposit":10000001,"ConsumerChain":"consu","StopTimeOffset":0},"State":{"provi":{"ValBalances":{"bob":9489999999},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":{"consu":true},"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"3":{"RawProposal":{"Deposit":10000001,"Chain":"consu","StopTime":0,"Status":"PROPOSAL_STATUS_VOTING_PERIOD"},"Type":"main.ConsumerRemovalProposal"}}}}},{"ActionType":"main.voteGovProposalAction","Action":{"Chain":"provi","From":["alice","bob","carol"],"Vote":["no","no","no"],"PropNumber":3},"State":{"provi":{"ValBalances":{"bob":9500000000},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":{"consu":true},"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"3":{"RawProposal":{"Deposit":10000001,"Chain":"consu","StopTime":0,"Status":"PROPOSAL_STATUS_REJECTED"},"Type":"main.ConsumerRemovalProposal"}}}}},{"ActionType":"main.submitConsumerRemovalProposalAction","Action":{"Chain":"provi","From":"bob","Deposit":10000001,"ConsumerChain":"consu","StopTimeOffset":0},"State":{"provi":{"ValBalances":{"bob":9489999999},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":{"consu":true},"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"4":{"RawProposal":{"Deposit":10000001,"Chain":"consu","StopTime":0,"Status":"PROPOSAL_STATUS_VOTING_PERIOD"},"Type":"main.ConsumerRemovalProposal"}}}}},{"ActionType":"main.voteGovProposalAction","Action":{"Chain":"provi","From":["alice","bob","carol"],"Vote":["yes","yes","yes"],"PropNumber":4},"State":{"provi":{"ValBalances":{"bob":9500000000},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":{},"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"4":{"RawProposal":{"Deposit":10000001,"Chain":"consu","StopTime":0,"Status":"PROPOSAL_STATUS_PASSED"},"Type":"main.ConsumerRemovalProposal"}}}}}] \ No newline at end of file diff --git a/tests/e2e/tracehandler_testdata/slashThrottle.json b/tests/e2e/tracehandler_testdata/slashThrottle.json deleted file mode 100644 index f44effb891..0000000000 --- a/tests/e2e/tracehandler_testdata/slashThrottle.json +++ /dev/null @@ -1 +0,0 @@ -[{"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},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.submitConsumerAdditionProposalAction","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},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"1":{"RawProposal":{"Deposit":10000001,"Chain":"consu","SpawnTime":0,"InitialHeight":{"revision_height":1},"Status":"PROPOSAL_STATUS_VOTING_PERIOD"},"Type":"main.ConsumerAdditionProposal"}}}}},{"ActionType":"main.assignConsumerPubKeyAction","Action":{"Chain":"consu","Validator":"carol","ConsumerPubkey":"{\"@type\":\"/cosmos.crypto.ed25519.PubKey\",\"key\":\"Ui5Gf1+mtWUdH8u3xlmzdKID+F3PK0sfXZ73GZ6q6is=\"}","ReconfigureNode":false,"ExpectError":false,"ExpectedError":""},"State":{"consu":{"ValBalances":null,"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":{"carol":"cosmosvalcons1kswr5sq599365kcjmhgufevfps9njf43e4lwdk"},"ProviderKeys":{"carol":"cosmosvalcons1ezyrq65s3gshhx5585w6mpusq3xsj3ayzf4uv6"},"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":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,"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":{"bob":"","carol":"cosmosvalcons1kswr5sq599365kcjmhgufevfps9njf43e4lwdk"},"ProviderKeys":{"carol":"cosmosvalcons1ezyrq65s3gshhx5585w6mpusq3xsj3ayzf4uv6"},"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.voteGovProposalAction","Action":{"Chain":"provi","From":["alice","bob","carol"],"Vote":["yes","yes","yes"],"PropNumber":1},"State":{"provi":{"ValBalances":{"alice":9500000000,"bob":9500000000},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"1":{"RawProposal":{"Deposit":10000001,"Chain":"consu","SpawnTime":0,"InitialHeight":{"revision_height":1},"Status":"PROPOSAL_STATUS_PASSED"},"Type":"main.ConsumerAdditionProposal"}}}}},{"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},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null},"provi":{"ValBalances":{"alice":9500000000,"bob":9500000000,"carol":9500000000},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":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","Version":""},"State":{}},{"ActionType":"main.delegateTokensAction","Action":{"Chain":"provi","From":"alice","To":"alice","Amount":11000000},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.SendTokensAction","Action":{"Chain":"consu","From":"alice","To":"bob","Amount":1},"State":{"consu":{"ValBalances":{"alice":10000000000,"bob":10000000000},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.SendTokensAction","Action":{"Chain":"consu","From":"alice","To":"bob","Amount":1},"State":{"consu":{"ValBalances":{"alice":9999999999,"bob":10000000001},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.downtimeSlashAction","Action":{"Chain":"consu","Validator":"bob"},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":null,"ValPowers":{"alice":511,"bob":0,"carol":500},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":{"consu":0},"GlobalSlashQueueSize":0,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.downtimeSlashAction","Action":{"Chain":"consu","Validator":"carol"},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.slashThrottleDequeue","Action":{"Chain":"consu","CurrentQueueSize":1,"NextQueueSize":0,"Timeout":80000000000},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":null,"ValPowers":{"alice":511,"bob":0,"carol":0},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null},"provi":{"ValBalances":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,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.submitConsumerRemovalProposalAction","Action":{"Chain":"provi","From":"bob","Deposit":10000001,"ConsumerChain":"consu","StopTimeOffset":0},"State":{"provi":{"ValBalances":{"bob":9489999999},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":{"consu":true},"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"2":{"RawProposal":{"Deposit":10000001,"Chain":"consu","StopTime":0,"Status":"PROPOSAL_STATUS_VOTING_PERIOD"},"Type":"main.ConsumerRemovalProposal"}}}}},{"ActionType":"main.voteGovProposalAction","Action":{"Chain":"provi","From":["alice","bob","carol"],"Vote":["yes","yes","yes"],"PropNumber":2},"State":{"provi":{"ValBalances":{"bob":9500000000},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":{},"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"2":{"RawProposal":{"Deposit":10000001,"Chain":"consu","StopTime":0,"Status":"PROPOSAL_STATUS_PASSED"},"Type":"main.ConsumerRemovalProposal"}}}}}] \ No newline at end of file diff --git a/tests/e2e/tracehandler_testdata/slashThrottleSteps.json b/tests/e2e/tracehandler_testdata/slashThrottleSteps.json deleted file mode 100644 index c06c4b4bb6..0000000000 --- a/tests/e2e/tracehandler_testdata/slashThrottleSteps.json +++ /dev/null @@ -1 +0,0 @@ -[{"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 deleted file mode 100644 index 7093324566..0000000000 --- a/tests/e2e/tracehandler_testdata/start_provider_chain.json +++ /dev/null @@ -1 +0,0 @@ -[{"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},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}}] \ No newline at end of file From 28eec4823a33fea5dffae27537163ff36f1b8085 Mon Sep 17 00:00:00 2001 From: Philip Offtermatt Date: Tue, 19 Sep 2023 12:27:07 +0200 Subject: [PATCH 03/32] Add an example trace to see the input format --- tests/e2e/example_trace.json | 935 +++++++++++++++++++++++++++++++++++ 1 file changed, 935 insertions(+) create mode 100644 tests/e2e/example_trace.json diff --git a/tests/e2e/example_trace.json b/tests/e2e/example_trace.json new file mode 100644 index 0000000000..5f57b7253a --- /dev/null +++ b/tests/e2e/example_trace.json @@ -0,0 +1,935 @@ +[ + { + "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 + }, + "ValPowers": null, + "RepresentativePowers": null, + "Params": null, + "Rewards": null, + "ConsumerChains": null, + "AssignedKeys": null, + "ProviderKeys": null, + "ConsumerChainQueueSizes": null, + "GlobalSlashQueueSize": null, + "RegisteredConsumerRewardDenoms": null, + "Proposals": null + } + } + }, + { + "ActionType": "main.submitConsumerAdditionProposalAction", + "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 + }, + "ValPowers": null, + "RepresentativePowers": null, + "Params": null, + "Rewards": null, + "ConsumerChains": null, + "AssignedKeys": null, + "ProviderKeys": null, + "ConsumerChainQueueSizes": null, + "GlobalSlashQueueSize": null, + "RegisteredConsumerRewardDenoms": null, + "Proposals": { + "1": { + "RawProposal": { + "Deposit": 10000001, + "Chain": "democ", + "SpawnTime": 0, + "InitialHeight": { + "revision_height": 1 + }, + "Status": "PROPOSAL_STATUS_VOTING_PERIOD" + }, + "Type": "main.ConsumerAdditionProposal" + } + } + } + } + }, + { + "ActionType": "main.assignConsumerPubKeyAction", + "Action": { + "Chain": "democ", + "Validator": "carol", + "ConsumerPubkey": "{\"@type\":\"/cosmos.crypto.ed25519.PubKey\",\"key\":\"Ui5Gf1+mtWUdH8u3xlmzdKID+F3PK0sfXZ73GZ6q6is=\"}", + "ReconfigureNode": false, + "ExpectError": false, + "ExpectedError": "" + }, + "State": { + "democ": { + "ValBalances": null, + "ValPowers": null, + "RepresentativePowers": null, + "Params": null, + "Rewards": null, + "ConsumerChains": null, + "AssignedKeys": { + "carol": "cosmosvalcons1kswr5sq599365kcjmhgufevfps9njf43e4lwdk" + }, + "ProviderKeys": { + "carol": "cosmosvalcons1ezyrq65s3gshhx5585w6mpusq3xsj3ayzf4uv6" + }, + "ConsumerChainQueueSizes": null, + "GlobalSlashQueueSize": null, + "RegisteredConsumerRewardDenoms": null, + "Proposals": 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, + "ValPowers": null, + "RepresentativePowers": null, + "Params": null, + "Rewards": null, + "ConsumerChains": null, + "AssignedKeys": { + "bob": "", + "carol": "cosmosvalcons1kswr5sq599365kcjmhgufevfps9njf43e4lwdk" + }, + "ProviderKeys": { + "carol": "cosmosvalcons1ezyrq65s3gshhx5585w6mpusq3xsj3ayzf4uv6" + }, + "ConsumerChainQueueSizes": null, + "GlobalSlashQueueSize": null, + "RegisteredConsumerRewardDenoms": null, + "Proposals": null + } + } + }, + { + "ActionType": "main.voteGovProposalAction", + "Action": { + "Chain": "provi", + "From": [ + "alice", + "bob", + "carol" + ], + "Vote": [ + "yes", + "yes", + "yes" + ], + "PropNumber": 1 + }, + "State": { + "provi": { + "ValBalances": { + "alice": 9500000000, + "bob": 9500000000 + }, + "ValPowers": null, + "RepresentativePowers": null, + "Params": null, + "Rewards": null, + "ConsumerChains": null, + "AssignedKeys": null, + "ProviderKeys": null, + "ConsumerChainQueueSizes": null, + "GlobalSlashQueueSize": null, + "RegisteredConsumerRewardDenoms": null, + "Proposals": { + "1": { + "RawProposal": { + "Deposit": 10000001, + "Chain": "democ", + "SpawnTime": 0, + "InitialHeight": { + "revision_height": 1 + }, + "Status": "PROPOSAL_STATUS_PASSED" + }, + "Type": "main.ConsumerAdditionProposal" + } + } + } + } + }, + { + "ActionType": "main.startConsumerChainAction", + "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 + }, + "ValPowers": null, + "RepresentativePowers": null, + "Params": null, + "Rewards": null, + "ConsumerChains": null, + "AssignedKeys": null, + "ProviderKeys": null, + "ConsumerChainQueueSizes": null, + "GlobalSlashQueueSize": null, + "RegisteredConsumerRewardDenoms": null, + "Proposals": null + }, + "provi": { + "ValBalances": { + "alice": 9500000000, + "bob": 9500000000, + "carol": 9500000000 + }, + "ValPowers": null, + "RepresentativePowers": null, + "Params": null, + "Rewards": null, + "ConsumerChains": null, + "AssignedKeys": null, + "ProviderKeys": null, + "ConsumerChainQueueSizes": null, + "GlobalSlashQueueSize": null, + "RegisteredConsumerRewardDenoms": null, + "Proposals": null + } + } + }, + { + "ActionType": "main.addIbcConnectionAction", + "Action": { + "ChainA": "democ", + "ChainB": "provi", + "ClientA": 0, + "ClientB": 0 + }, + "State": {} + }, + { + "ActionType": "main.addIbcChannelAction", + "Action": { + "ChainA": "democ", + "ChainB": "provi", + "ConnectionA": 0, + "PortA": "consumer", + "PortB": "provider", + "Order": "ordered", + "Version": "" + }, + "State": {} + }, + { + "ActionType": "main.transferChannelCompleteAction", + "Action": { + "ChainA": "democ", + "ChainB": "provi", + "ConnectionA": 0, + "PortA": "transfer", + "PortB": "transfer", + "Order": "unordered", + "ChannelA": 1, + "ChannelB": 1 + }, + "State": {} + }, + { + "ActionType": "main.delegateTokensAction", + "Action": { + "Chain": "provi", + "From": "alice", + "To": "alice", + "Amount": 11000000 + }, + "State": { + "democ": { + "ValBalances": 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, + "Proposals": null + }, + "provi": { + "ValBalances": 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, + "Proposals": null + } + } + }, + { + "ActionType": "main.SendTokensAction", + "Action": { + "Chain": "democ", + "From": "alice", + "To": "bob", + "Amount": 1 + }, + "State": { + "democ": { + "ValBalances": { + "alice": 10000000000, + "bob": 10000000000 + }, + "ValPowers": null, + "RepresentativePowers": null, + "Params": null, + "Rewards": null, + "ConsumerChains": null, + "AssignedKeys": null, + "ProviderKeys": null, + "ConsumerChainQueueSizes": null, + "GlobalSlashQueueSize": null, + "RegisteredConsumerRewardDenoms": null, + "Proposals": null + } + } + }, + { + "ActionType": "main.relayPacketsAction", + "Action": { + "ChainA": "provi", + "ChainB": "democ", + "Port": "provider", + "Channel": 0 + }, + "State": { + "democ": { + "ValBalances": 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, + "Proposals": null + } + } + }, + { + "ActionType": "main.SendTokensAction", + "Action": { + "Chain": "democ", + "From": "alice", + "To": "bob", + "Amount": 1 + }, + "State": { + "democ": { + "ValBalances": { + "alice": 9999999999, + "bob": 10000000001 + }, + "ValPowers": null, + "RepresentativePowers": null, + "Params": null, + "Rewards": null, + "ConsumerChains": null, + "AssignedKeys": null, + "ProviderKeys": null, + "ConsumerChainQueueSizes": null, + "GlobalSlashQueueSize": null, + "RegisteredConsumerRewardDenoms": null, + "Proposals": null + } + } + }, + { + "ActionType": "main.registerRepresentativeAction", + "Action": { + "Chain": "democ", + "Representatives": [ + "alice", + "bob" + ], + "Stakes": [ + 100000000, + 40000000 + ] + }, + "State": { + "democ": { + "ValBalances": 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, + "Proposals": null + } + } + }, + { + "ActionType": "main.delegateTokensAction", + "Action": { + "Chain": "democ", + "From": "carol", + "To": "alice", + "Amount": 500000 + }, + "State": { + "democ": { + "ValBalances": 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, + "Proposals": null + } + } + }, + { + "ActionType": "main.submitParamChangeLegacyProposalAction", + "Action": { + "Chain": "democ", + "From": "alice", + "Deposit": 10000001, + "Subspace": "transfer", + "Key": "SendEnabled", + "Value": true + }, + "State": { + "democ": { + "ValBalances": { + "alice": 9889999998, + "bob": 9960000001 + }, + "ValPowers": null, + "RepresentativePowers": null, + "Params": null, + "Rewards": null, + "ConsumerChains": null, + "AssignedKeys": null, + "ProviderKeys": null, + "ConsumerChainQueueSizes": null, + "GlobalSlashQueueSize": null, + "RegisteredConsumerRewardDenoms": null, + "Proposals": { + "1": { + "RawProposal": { + "Deposit": 10000001, + "Status": "PROPOSAL_STATUS_VOTING_PERIOD", + "Subspace": "transfer", + "Key": "SendEnabled", + "Value": "true" + }, + "Type": "main.ParamsProposal" + } + } + } + } + }, + { + "ActionType": "main.voteGovProposalAction", + "Action": { + "Chain": "democ", + "From": [ + "alice", + "bob" + ], + "Vote": [ + "yes", + "no" + ], + "PropNumber": 1 + }, + "State": { + "democ": { + "ValBalances": { + "alice": 9889999998, + "bob": 9960000001 + }, + "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, + "Proposals": null + } + } + }, + { + "ActionType": "main.relayRewardPacketsToProviderAction", + "Action": { + "ConsumerChain": "democ", + "ProviderChain": "provi", + "Port": "transfer", + "Channel": 1 + }, + "State": { + "provi": { + "ValBalances": 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": [], + "Proposals": null + } + } + }, + { + "ActionType": "main.submitChangeRewardDenomsProposalAction", + "Action": { + "Denom": "ibc/3C3D7B3BE4ECC85A0E5B52A3AEC3B7DFC2AA9CA47C37821E57020D6807043BE9", + "Deposit": 10000001, + "From": "bob" + }, + "State": { + "provi": { + "ValBalances": null, + "ValPowers": null, + "RepresentativePowers": null, + "Params": null, + "Rewards": null, + "ConsumerChains": null, + "AssignedKeys": null, + "ProviderKeys": null, + "ConsumerChainQueueSizes": null, + "GlobalSlashQueueSize": null, + "RegisteredConsumerRewardDenoms": [], + "Proposals": null + } + } + }, + { + "ActionType": "main.voteGovProposalAction", + "Action": { + "Chain": "provi", + "From": [ + "alice", + "bob", + "carol" + ], + "Vote": [ + "yes", + "yes", + "yes" + ], + "PropNumber": 2 + }, + "State": { + "provi": { + "ValBalances": null, + "ValPowers": null, + "RepresentativePowers": null, + "Params": null, + "Rewards": null, + "ConsumerChains": null, + "AssignedKeys": null, + "ProviderKeys": null, + "ConsumerChainQueueSizes": null, + "GlobalSlashQueueSize": null, + "RegisteredConsumerRewardDenoms": [ + "ibc/3C3D7B3BE4ECC85A0E5B52A3AEC3B7DFC2AA9CA47C37821E57020D6807043BE9" + ], + "Proposals": null + } + } + }, + { + "ActionType": "main.relayRewardPacketsToProviderAction", + "Action": { + "ConsumerChain": "democ", + "ProviderChain": "provi", + "Port": "transfer", + "Channel": 1 + }, + "State": { + "provi": { + "ValBalances": 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, + "Proposals": null + } + } + }, + { + "ActionType": "main.downtimeSlashAction", + "Action": { + "Chain": "democ", + "Validator": "bob" + }, + "State": { + "democ": { + "ValBalances": 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, + "Proposals": null + }, + "provi": { + "ValBalances": 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, + "Proposals": null + } + } + }, + { + "ActionType": "main.relayPacketsAction", + "Action": { + "ChainA": "provi", + "ChainB": "democ", + "Port": "provider", + "Channel": 0 + }, + "State": { + "democ": { + "ValBalances": 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, + "Proposals": null + }, + "provi": { + "ValBalances": 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, + "Proposals": null + } + } + }, + { + "ActionType": "main.relayPacketsAction", + "Action": { + "ChainA": "provi", + "ChainB": "democ", + "Port": "provider", + "Channel": 0 + }, + "State": { + "democ": { + "ValBalances": 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, + "Proposals": null + } + } + }, + { + "ActionType": "main.unjailValidatorAction", + "Action": { + "Provider": "provi", + "Validator": "bob" + }, + "State": { + "democ": { + "ValBalances": 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, + "Proposals": null + }, + "provi": { + "ValBalances": 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, + "Proposals": null + } + } + }, + { + "ActionType": "main.relayPacketsAction", + "Action": { + "ChainA": "provi", + "ChainB": "democ", + "Port": "provider", + "Channel": 0 + }, + "State": { + "democ": { + "ValBalances": 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, + "Proposals": null + } + } + } +] \ No newline at end of file From ae67d357da0e8f61b7e0aa591cf85c1911f50a7e Mon Sep 17 00:00:00 2001 From: Philip Offtermatt Date: Tue, 19 Sep 2023 13:05:51 +0200 Subject: [PATCH 04/32] Add comment in rapid test --- tests/e2e/state_rapid_test.go | 3 +++ 1 file changed, 3 insertions(+) diff --git a/tests/e2e/state_rapid_test.go b/tests/e2e/state_rapid_test.go index d8bb33c121..f9ce7fcadb 100644 --- a/tests/e2e/state_rapid_test.go +++ b/tests/e2e/state_rapid_test.go @@ -17,6 +17,9 @@ func TestChainStateMarshalling(t *testing.T) { }) } +// Below this are utility functions for Rapid that define generators for the various structs that can appear in testing. +// These are used in the rapid tests and generate arbitrary test traces for fuzzing. +// These traces will not in general be useful to execute as e2e tests, since they are filled with essentially completely random values. func GetStateGen() *rapid.Generator[State] { return rapid.Custom(func(t *rapid.T) State { return rapid.MapOf(GetChainIDGen(), GetChainStateGen()).Draw(t, "State") From 5d894e6223d6118de66425444088256bafdf0c32 Mon Sep 17 00:00:00 2001 From: Philip Offtermatt Date: Tue, 19 Sep 2023 13:06:07 +0200 Subject: [PATCH 05/32] Remove duplicated test case --- tests/e2e/trace_handlers_test.go | 21 --------------------- 1 file changed, 21 deletions(-) diff --git a/tests/e2e/trace_handlers_test.go b/tests/e2e/trace_handlers_test.go index e71b5311f7..66243c1df8 100644 --- a/tests/e2e/trace_handlers_test.go +++ b/tests/e2e/trace_handlers_test.go @@ -10,7 +10,6 @@ import ( clienttypes "github.com/cosmos/ibc-go/v7/modules/core/02-client/types" "github.com/google/go-cmp/cmp" - "pgregory.net/rapid" ) // an isolated test case for a proposal submission @@ -71,26 +70,6 @@ func TestWriterThenParser(t *testing.T) { } } -func TestWriterThenParserWithRapid(t *testing.T) { - dir, err := os.MkdirTemp("", "example") - if err != nil { - log.Fatal(err) - } - - i := 0 - rapid.Check(t, func(t *rapid.T) { - i += 1 - trace := GetTraceGen().Draw(t, "trace") - filename := filepath.Join(dir, fmt.Sprintf("trace-%v.json", i)) - err := WriteReadCompareTrace(trace, filename, "rapid-trace") - if err != nil { - log.Fatal(err) - } - }) - - defer os.RemoveAll(dir) // clean up -} - // Write a trace to a file, then reads it back and compares to the original. func WriteReadCompareTrace(trace []Step, filename string, name string) error { err := WriteAndReadTrace(GlobalJSONParser, GlobalJSONWriter, trace, filename) From 5dfb63bcf46652e4aad1e3638791f107be22ff25 Mon Sep 17 00:00:00 2001 From: Philip Offtermatt Date: Tue, 19 Sep 2023 13:06:29 +0200 Subject: [PATCH 06/32] Remove TODO in favor of comment --- tests/e2e/action_rapid_test.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/e2e/action_rapid_test.go b/tests/e2e/action_rapid_test.go index d50cae72d0..a59a0ba2aa 100644 --- a/tests/e2e/action_rapid_test.go +++ b/tests/e2e/action_rapid_test.go @@ -258,7 +258,7 @@ func GetSubmitParamChangeProposalActionGen() *rapid.Generator[submitParamChangeL Deposit: rapid.Uint().Draw(t, "Deposit"), Subspace: rapid.String().Draw(t, "Subspace"), Key: rapid.String().Draw(t, "Key"), - Value: rapid.String().Draw(t, "Value"), // TODO: make this more generic + Value: rapid.String().Draw(t, "Value"), // could make this more generic in the future, since Value takes interfaces } }) } From 0948b05ae26173daa0e27580d0b80159659d717a Mon Sep 17 00:00:00 2001 From: Philip Offtermatt Date: Tue, 19 Sep 2023 13:06:39 +0200 Subject: [PATCH 07/32] Reduce code duplication --- tests/e2e/json_utils.go | 212 +++++++++++++++++----------------------- 1 file changed, 88 insertions(+), 124 deletions(-) diff --git a/tests/e2e/json_utils.go b/tests/e2e/json_utils.go index 77304dda9c..62e6882735 100644 --- a/tests/e2e/json_utils.go +++ b/tests/e2e/json_utils.go @@ -46,255 +46,222 @@ func (step *Step) UnmarshalJSON(data []byte) error { // UnmarshalMapToActionType takes a JSON object and an action type and marshals into an object of the corresponding action. func UnmarshalMapToActionType(rawAction json.RawMessage, actionTypeString string) (interface{}, error) { + var err error switch actionTypeString { case "main.submitConsumerAdditionProposalAction": var a submitConsumerAdditionProposalAction - err := json.Unmarshal(rawAction, &a) - if err != nil { - return nil, err + err = json.Unmarshal(rawAction, &a) + if err == nil { + return a, nil } - return a, nil case "main.SendTokensAction": var a SendTokensAction err := json.Unmarshal(rawAction, &a) - if err != nil { - return nil, err + if err == nil { + return a, nil } - return a, nil case "main.StartChainAction": var a StartChainAction err := json.Unmarshal(rawAction, &a) - if err != nil { - return nil, err + if err == nil { + return a, nil } - return a, nil case "main.submitTextProposalAction": var a submitTextProposalAction err := json.Unmarshal(rawAction, &a) - if err != nil { - return nil, err + if err == nil { + return a, nil } - return a, nil case "main.submitConsumerRemovalProposalAction": var a submitConsumerRemovalProposalAction err := json.Unmarshal(rawAction, &a) - if err != nil { - return nil, err + if err == nil { + return a, nil } - return a, nil case "main.submitEquivocationProposalAction": var a submitEquivocationProposalAction err := json.Unmarshal(rawAction, &a) - if err != nil { - return nil, err + if err == nil { + return a, nil } - return a, nil case "main.submitParamChangeLegacyProposalAction": var a submitParamChangeLegacyProposalAction err := json.Unmarshal(rawAction, &a) - if err != nil { - return nil, err + if err == nil { + return a, nil } - return a, nil case "main.voteGovProposalAction": var a voteGovProposalAction err := json.Unmarshal(rawAction, &a) - if err != nil { - return nil, err + if err == nil { + return a, nil } - return a, nil case "main.startConsumerChainAction": var a startConsumerChainAction err := json.Unmarshal(rawAction, &a) - if err != nil { - return nil, err + if err == nil { + return a, nil } - return a, nil case "main.addChainToRelayerAction": var a addChainToRelayerAction err := json.Unmarshal(rawAction, &a) - if err != nil { - return nil, err + if err == nil { + return a, nil } - return a, nil case "main.addIbcConnectionAction": var a addIbcConnectionAction err := json.Unmarshal(rawAction, &a) - if err != nil { - return nil, err + if err == nil { + return a, nil } - return a, nil case "main.addIbcChannelAction": var a addIbcChannelAction err := json.Unmarshal(rawAction, &a) - if err != nil { - return nil, err + if err == nil { + return a, nil } - return a, nil case "main.transferChannelCompleteAction": var a transferChannelCompleteAction err := json.Unmarshal(rawAction, &a) - if err != nil { - return nil, err + if err == nil { + return a, nil } - return a, nil case "main.unjailValidatorAction": var a unjailValidatorAction err := json.Unmarshal(rawAction, &a) - if err != nil { - return nil, err + if err == nil { + return a, nil } - return a, nil case "main.assignConsumerPubKeyAction": var a assignConsumerPubKeyAction err := json.Unmarshal(rawAction, &a) - if err != nil { - return nil, err + if err == nil { + return a, nil } - return a, nil case "main.delegateTokensAction": var a delegateTokensAction err := json.Unmarshal(rawAction, &a) - if err != nil { - return nil, err + if err == nil { + return a, nil } - return a, nil case "main.relayPacketsAction": var a relayPacketsAction err := json.Unmarshal(rawAction, &a) - if err != nil { - return nil, err + if err == nil { + return a, nil } - return a, nil case "main.registerRepresentativeAction": var a registerRepresentativeAction err := json.Unmarshal(rawAction, &a) - if err != nil { - return nil, err + if err == nil { + return a, nil } - return a, nil case "main.relayRewardPacketsToProviderAction": var a relayRewardPacketsToProviderAction err := json.Unmarshal(rawAction, &a) - if err != nil { - return nil, err + if err == nil { + return a, nil } - return a, nil case "main.submitChangeRewardDenomsProposalAction": var a submitChangeRewardDenomsProposalAction err := json.Unmarshal(rawAction, &a) - if err != nil { - return nil, err + if err == nil { + return a, nil } - return a, nil case "main.downtimeSlashAction": var a downtimeSlashAction err := json.Unmarshal(rawAction, &a) - if err != nil { - return nil, err + if err == nil { + return a, nil } - return a, nil case "main.unbondTokensAction": var a unbondTokensAction err := json.Unmarshal(rawAction, &a) - if err != nil { - return nil, err + if err == nil { + return a, nil } - return a, nil case "main.cancelUnbondTokensAction": var a cancelUnbondTokensAction err := json.Unmarshal(rawAction, &a) - if err != nil { - return nil, err + if err == nil { + return a, nil } - return a, nil case "main.redelegateTokensAction": var a redelegateTokensAction err := json.Unmarshal(rawAction, &a) - if err != nil { - return nil, err + if err == nil { + return a, nil } - return a, nil case "main.doublesignSlashAction": var a doublesignSlashAction err := json.Unmarshal(rawAction, &a) - if err != nil { - return nil, err + if err == nil { + return a, nil } - return a, nil case "main.startRelayerAction": var a startRelayerAction err := json.Unmarshal(rawAction, &a) - if err != nil { - return nil, err + if err == nil { + return a, nil } - return a, nil case "main.slashThrottleDequeue": var a slashThrottleDequeue err := json.Unmarshal(rawAction, &a) - if err != nil { - return nil, err + if err == nil { + return a, nil } - return a, nil case "main.createIbcClientsAction": var a createIbcClientsAction err := json.Unmarshal(rawAction, &a) - if err != nil { - return nil, err + if err == nil { + return a, nil } - return a, nil case "main.LegacyUpgradeProposalAction": var a LegacyUpgradeProposalAction err := json.Unmarshal(rawAction, &a) - if err != nil { - return nil, err + if err == nil { + return a, nil } - return a, nil case "main.waitUntilBlockAction": var a waitUntilBlockAction err := json.Unmarshal(rawAction, &a) - if err != nil { - return nil, err + if err == nil { + return a, nil } - return a, nil case "main.ChangeoverChainAction": var a ChangeoverChainAction err := json.Unmarshal(rawAction, &a) - if err != nil { - return nil, err + if err == nil { + return a, nil } - return a, nil case "main.StartSovereignChainAction": var a StartSovereignChainAction err := json.Unmarshal(rawAction, &a) - if err != nil { - return nil, err + if err == nil { + return a, nil } - return a, nil case "main.lightClientEquivocationAttackAction": var a lightClientEquivocationAttackAction err := json.Unmarshal(rawAction, &a) - if err != nil { - return nil, err + if err == nil { + return a, nil } - return a, nil case "main.lightClientAmnesiaAttackAction": var a lightClientAmnesiaAttackAction err := json.Unmarshal(rawAction, &a) - if err != nil { - return nil, err + if err == nil { + return a, nil } - return a, nil case "main.lightClientLunaticAttackAction": var a lightClientLunaticAttackAction err := json.Unmarshal(rawAction, &a) - if err != nil { - return nil, err + if err == nil { + return a, nil } - return a, nil default: return nil, fmt.Errorf("unknown action name: %s", actionTypeString) } + return nil, err } // custom marshal and unmarshal functions for the chainstate that convert proposals to/from the auxiliary type with type info @@ -399,50 +366,47 @@ func (c *ChainState) UnmarshalJSON(data []byte) error { // UnmarshalProposalWithType takes a JSON object and a proposal type and marshals into an object of the corresponding proposal. func UnmarshalProposalWithType(inputMap json.RawMessage, proposalType string) (Proposal, error) { + var err error switch proposalType { case "main.TextProposal": prop := TextProposal{} err := json.Unmarshal(inputMap, &prop) - if err != nil { - return nil, err + if err == nil { + return prop, nil } - return prop, nil case "main.ConsumerAdditionProposal": prop := ConsumerAdditionProposal{} err := json.Unmarshal(inputMap, &prop) - if err != nil { - return nil, err + if err == nil { + return prop, nil } - return prop, nil case "main.UpgradeProposal": prop := UpgradeProposal{} err := json.Unmarshal(inputMap, &prop) - if err != nil { - return nil, err + if err == nil { + return prop, nil } - return prop, nil case "main.ConsumerRemovalProposal": prop := ConsumerRemovalProposal{} err := json.Unmarshal(inputMap, &prop) - if err != nil { - return nil, err + if err == nil { + return prop, nil } - return prop, nil case "main.EquivocationProposal": prop := EquivocationProposal{} err := json.Unmarshal(inputMap, &prop) - if err != nil { - return nil, err + if err == nil { + return prop, nil } - return prop, nil case "main.ParamsProposal": prop := ParamsProposal{} err := json.Unmarshal(inputMap, &prop) - if err != nil { - return nil, err + if err == nil { + return prop, nil } - return prop, nil default: return nil, fmt.Errorf("%s is not a known proposal type", proposalType) } + + return nil, err } From e3e3e84387f77067d22b8509d6f74260e80e87d7 Mon Sep 17 00:00:00 2001 From: Philip Offtermatt Date: Tue, 19 Sep 2023 13:10:18 +0200 Subject: [PATCH 08/32] Run go mod tidy and make format --- go.mod | 6 +++--- tests/e2e/trace_handlers_test.go | 2 +- tests/e2e/tracehandler_testdata/changeover.json | 1 + tests/e2e/tracehandler_testdata/democracy.json | 1 + tests/e2e/tracehandler_testdata/democracyRewardsSteps.json | 1 + tests/e2e/tracehandler_testdata/happyPath.json | 1 + tests/e2e/tracehandler_testdata/multipleConsumers.json | 1 + tests/e2e/tracehandler_testdata/rewardDenomConsumer.json | 1 + tests/e2e/tracehandler_testdata/shorthappy.json | 1 + tests/e2e/tracehandler_testdata/slashThrottle.json | 1 + tests/e2e/tracehandler_testdata/slashThrottleSteps.json | 1 + tests/e2e/tracehandler_testdata/start_provider_chain.json | 1 + 12 files changed, 14 insertions(+), 4 deletions(-) create mode 100644 tests/e2e/tracehandler_testdata/changeover.json create mode 100644 tests/e2e/tracehandler_testdata/democracy.json create mode 100644 tests/e2e/tracehandler_testdata/democracyRewardsSteps.json create mode 100644 tests/e2e/tracehandler_testdata/happyPath.json create mode 100644 tests/e2e/tracehandler_testdata/multipleConsumers.json create mode 100644 tests/e2e/tracehandler_testdata/rewardDenomConsumer.json create mode 100644 tests/e2e/tracehandler_testdata/shorthappy.json create mode 100644 tests/e2e/tracehandler_testdata/slashThrottle.json create mode 100644 tests/e2e/tracehandler_testdata/slashThrottleSteps.json create mode 100644 tests/e2e/tracehandler_testdata/start_provider_chain.json diff --git a/go.mod b/go.mod index 1f05100cd2..5f869f97db 100644 --- a/go.mod +++ b/go.mod @@ -68,7 +68,7 @@ require ( github.com/cosmos/rosetta-sdk-go v0.10.0 // indirect github.com/creachadair/taskgroup v0.4.2 // indirect github.com/danieljoos/wincred v1.1.2 // indirect - github.com/davecgh/go-spew v1.1.1 // indirect + github.com/davecgh/go-spew v1.1.1 github.com/decred/dcrd/dcrec/secp256k1/v4 v4.1.0 // indirect github.com/desertbit/timer v0.0.0-20180107155436-c41aec40b27f // indirect github.com/dgraph-io/badger/v2 v2.2007.4 // indirect @@ -88,7 +88,7 @@ require ( github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect github.com/golang/snappy v0.0.4 // indirect github.com/google/btree v1.1.2 // indirect - github.com/google/go-cmp v0.5.9 // indirect + github.com/google/go-cmp v0.5.9 github.com/google/orderedcode v0.0.1 // indirect github.com/google/uuid v1.3.0 // indirect github.com/googleapis/enterprise-certificate-proxy v0.2.3 // indirect @@ -161,7 +161,7 @@ require ( gopkg.in/ini.v1 v1.67.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect nhooyr.io/websocket v1.8.6 // indirect - pgregory.net/rapid v0.5.5 // indirect + pgregory.net/rapid v0.5.5 sigs.k8s.io/yaml v1.3.0 // indirect ) diff --git a/tests/e2e/trace_handlers_test.go b/tests/e2e/trace_handlers_test.go index 66243c1df8..834b0a07c7 100644 --- a/tests/e2e/trace_handlers_test.go +++ b/tests/e2e/trace_handlers_test.go @@ -71,7 +71,7 @@ func TestWriterThenParser(t *testing.T) { } // Write a trace to a file, then reads it back and compares to the original. -func WriteReadCompareTrace(trace []Step, filename string, name string) error { +func WriteReadCompareTrace(trace []Step, filename, name string) error { err := WriteAndReadTrace(GlobalJSONParser, GlobalJSONWriter, trace, filename) if err != nil { return fmt.Errorf("in testcase %v, got error writing trace to file: %v", name, err) diff --git a/tests/e2e/tracehandler_testdata/changeover.json b/tests/e2e/tracehandler_testdata/changeover.json new file mode 100644 index 0000000000..83cf264bfc --- /dev/null +++ b/tests/e2e/tracehandler_testdata/changeover.json @@ -0,0 +1 @@ +[{"ActionType":"main.StartSovereignChainAction","Action":{"Chain":"sover","Validators":[{"Id":"alice","Allocation":10000000000,"Stake":500000000}],"GenesisChanges":""},"State":{"sover":{"ValBalances":{"alice":9500000000},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.delegateTokensAction","Action":{"Chain":"sover","From":"alice","To":"alice","Amount":11000000},"State":{"sover":{"ValBalances":null,"ValPowers":{"alice":511,"bob":0,"carol":0},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"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},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.createIbcClientsAction","Action":{"ChainA":"sover","ChainB":"provi"},"State":{}},{"ActionType":"main.addIbcChannelAction","Action":{"ChainA":"sover","ChainB":"provi","ConnectionA":0,"PortA":"transfer","PortB":"transfer","Order":"unordered","Version":"ics20-1"},"State":{}},{"ActionType":"main.LegacyUpgradeProposalAction","Action":{"ChainID":"sover","UpgradeTitle":"sovereign-changeover","Proposer":"alice","UpgradeHeight":110},"State":{"sover":{"ValBalances":null,"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"1":{"RawProposal":{"Title":"sovereign-changeover","Description":"","UpgradeHeight":110,"Type":"/cosmos.upgrade.v1beta1.SoftwareUpgradeProposal","Deposit":10000000,"Status":"PROPOSAL_STATUS_VOTING_PERIOD"},"Type":"main.UpgradeProposal"}}}}},{"ActionType":"main.voteGovProposalAction","Action":{"Chain":"sover","From":["alice"],"Vote":["yes"],"PropNumber":1},"State":{"sover":{"ValBalances":null,"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"1":{"RawProposal":{"Title":"sovereign-changeover","Description":"","UpgradeHeight":110,"Type":"/cosmos.upgrade.v1beta1.SoftwareUpgradeProposal","Deposit":10000000,"Status":"PROPOSAL_STATUS_PASSED"},"Type":"main.UpgradeProposal"}}}}},{"ActionType":"main.waitUntilBlockAction","Action":{"Block":110,"Chain":"sover"},"State":{}},{"ActionType":"main.submitConsumerAdditionProposalAction","Action":{"PreCCV":true,"Chain":"provi","From":"alice","Deposit":10000001,"ConsumerChain":"sover","SpawnTime":0,"InitialHeight":{"revision_height":111},"DistributionChannel":"channel-0"},"State":{"provi":{"ValBalances":{"alice":9489999999,"bob":9500000000},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"1":{"RawProposal":{"Deposit":10000001,"Chain":"sover","SpawnTime":0,"InitialHeight":{"revision_height":111},"Status":"PROPOSAL_STATUS_VOTING_PERIOD"},"Type":"main.ConsumerAdditionProposal"}}}}},{"ActionType":"main.voteGovProposalAction","Action":{"Chain":"provi","From":["alice","bob","carol"],"Vote":["yes","yes","yes"],"PropNumber":1},"State":{"provi":{"ValBalances":{"alice":9500000000,"bob":9500000000},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"1":{"RawProposal":{"Deposit":10000001,"Chain":"sover","SpawnTime":0,"InitialHeight":{"revision_height":111},"Status":"PROPOSAL_STATUS_PASSED"},"Type":"main.ConsumerAdditionProposal"}}}}},{"ActionType":"main.ChangeoverChainAction","Action":{"SovereignChain":"sover","ProviderChain":"provi","Validators":[{"Id":"alice","Allocation":10000000000,"Stake":500000000},{"Id":"bob","Allocation":10000000000,"Stake":500000000},{"Id":"carol","Allocation":10000000000,"Stake":500000000}],"GenesisChanges":".app_state.ccvconsumer.params.soft_opt_out_threshold = \"0.05\""},"State":{"provi":{"ValBalances":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,"Proposals":null},"sover":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.addIbcConnectionAction","Action":{"ChainA":"sover","ChainB":"provi","ClientA":1,"ClientB":1},"State":{}},{"ActionType":"main.addIbcChannelAction","Action":{"ChainA":"sover","ChainB":"provi","ConnectionA":1,"PortA":"consumer","PortB":"provider","Order":"ordered","Version":""},"State":{}},{"ActionType":"main.SendTokensAction","Action":{"Chain":"sover","From":"alice","To":"bob","Amount":100},"State":{"sover":{"ValBalances":{"bob":0},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.delegateTokensAction","Action":{"Chain":"provi","From":"alice","To":"alice","Amount":11000000},"State":{"provi":{"ValBalances":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,"Proposals":null},"sover":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"sover","Port":"provider","Channel":1},"State":{"sover":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.SendTokensAction","Action":{"Chain":"sover","From":"alice","To":"bob","Amount":100},"State":{"sover":{"ValBalances":{"bob":100},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.unbondTokensAction","Action":{"Chain":"provi","Sender":"alice","UnbondFrom":"alice","Amount":1000000},"State":{"provi":{"ValBalances":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,"Proposals":null},"sover":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"sover","Port":"provider","Channel":1},"State":{"sover":{"ValBalances":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,"Proposals":null}}}] \ No newline at end of file diff --git a/tests/e2e/tracehandler_testdata/democracy.json b/tests/e2e/tracehandler_testdata/democracy.json new file mode 100644 index 0000000000..62f242418a --- /dev/null +++ b/tests/e2e/tracehandler_testdata/democracy.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},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.submitConsumerAdditionProposalAction","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},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"1":{"RawProposal":{"Deposit":10000001,"Chain":"democ","SpawnTime":0,"InitialHeight":{"revision_height":1},"Status":"PROPOSAL_STATUS_VOTING_PERIOD"},"Type":"main.ConsumerAdditionProposal"}}}}},{"ActionType":"main.assignConsumerPubKeyAction","Action":{"Chain":"democ","Validator":"carol","ConsumerPubkey":"{\"@type\":\"/cosmos.crypto.ed25519.PubKey\",\"key\":\"Ui5Gf1+mtWUdH8u3xlmzdKID+F3PK0sfXZ73GZ6q6is=\"}","ReconfigureNode":false,"ExpectError":false,"ExpectedError":""},"State":{"democ":{"ValBalances":null,"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":{"carol":"cosmosvalcons1kswr5sq599365kcjmhgufevfps9njf43e4lwdk"},"ProviderKeys":{"carol":"cosmosvalcons1ezyrq65s3gshhx5585w6mpusq3xsj3ayzf4uv6"},"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":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,"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":{"bob":"","carol":"cosmosvalcons1kswr5sq599365kcjmhgufevfps9njf43e4lwdk"},"ProviderKeys":{"carol":"cosmosvalcons1ezyrq65s3gshhx5585w6mpusq3xsj3ayzf4uv6"},"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.voteGovProposalAction","Action":{"Chain":"provi","From":["alice","bob","carol"],"Vote":["yes","yes","yes"],"PropNumber":1},"State":{"provi":{"ValBalances":{"alice":9500000000,"bob":9500000000},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"1":{"RawProposal":{"Deposit":10000001,"Chain":"democ","SpawnTime":0,"InitialHeight":{"revision_height":1},"Status":"PROPOSAL_STATUS_PASSED"},"Type":"main.ConsumerAdditionProposal"}}}}},{"ActionType":"main.startConsumerChainAction","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},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null},"provi":{"ValBalances":{"alice":9500000000,"bob":9500000000,"carol":9500000000},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.addIbcConnectionAction","Action":{"ChainA":"democ","ChainB":"provi","ClientA":0,"ClientB":0},"State":{}},{"ActionType":"main.addIbcChannelAction","Action":{"ChainA":"democ","ChainB":"provi","ConnectionA":0,"PortA":"consumer","PortB":"provider","Order":"ordered","Version":""},"State":{}},{"ActionType":"main.transferChannelCompleteAction","Action":{"ChainA":"democ","ChainB":"provi","ConnectionA":0,"PortA":"transfer","PortB":"transfer","Order":"unordered","ChannelA":1,"ChannelB":1},"State":{}},{"ActionType":"main.delegateTokensAction","Action":{"Chain":"provi","From":"alice","To":"alice","Amount":11000000},"State":{"democ":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.SendTokensAction","Action":{"Chain":"democ","From":"alice","To":"bob","Amount":1},"State":{"democ":{"ValBalances":{"alice":10000000000,"bob":10000000000},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"democ","Port":"provider","Channel":0},"State":{"democ":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.SendTokensAction","Action":{"Chain":"democ","From":"alice","To":"bob","Amount":1},"State":{"democ":{"ValBalances":{"alice":9999999999,"bob":10000000001},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.registerRepresentativeAction","Action":{"Chain":"democ","Representatives":["alice","bob"],"Stakes":[100000000,40000000]},"State":{"democ":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.delegateTokensAction","Action":{"Chain":"democ","From":"carol","To":"alice","Amount":500000},"State":{"democ":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.submitParamChangeLegacyProposalAction","Action":{"Chain":"democ","From":"alice","Deposit":10000001,"Subspace":"transfer","Key":"SendEnabled","Value":true},"State":{"democ":{"ValBalances":{"alice":9889999998,"bob":9960000001},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"1":{"RawProposal":{"Deposit":10000001,"Status":"PROPOSAL_STATUS_VOTING_PERIOD","Subspace":"transfer","Key":"SendEnabled","Value":"true"},"Type":"main.ParamsProposal"}}}}},{"ActionType":"main.voteGovProposalAction","Action":{"Chain":"democ","From":["alice","bob"],"Vote":["yes","no"],"PropNumber":1},"State":{"democ":{"ValBalances":{"alice":9889999998,"bob":9960000001},"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,"Proposals":null}}},{"ActionType":"main.relayRewardPacketsToProviderAction","Action":{"ConsumerChain":"democ","ProviderChain":"provi","Port":"transfer","Channel":1},"State":{"provi":{"ValBalances":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":[],"Proposals":null}}},{"ActionType":"main.submitChangeRewardDenomsProposalAction","Action":{"Denom":"ibc/3C3D7B3BE4ECC85A0E5B52A3AEC3B7DFC2AA9CA47C37821E57020D6807043BE9","Deposit":10000001,"From":"bob"},"State":{"provi":{"ValBalances":null,"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":[],"Proposals":null}}},{"ActionType":"main.voteGovProposalAction","Action":{"Chain":"provi","From":["alice","bob","carol"],"Vote":["yes","yes","yes"],"PropNumber":2},"State":{"provi":{"ValBalances":null,"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":["ibc/3C3D7B3BE4ECC85A0E5B52A3AEC3B7DFC2AA9CA47C37821E57020D6807043BE9"],"Proposals":null}}},{"ActionType":"main.relayRewardPacketsToProviderAction","Action":{"ConsumerChain":"democ","ProviderChain":"provi","Port":"transfer","Channel":1},"State":{"provi":{"ValBalances":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":null,"Proposals":null}}},{"ActionType":"main.downtimeSlashAction","Action":{"Chain":"democ","Validator":"bob"},"State":{"democ":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"democ","Port":"provider","Channel":0},"State":{"democ":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"democ","Port":"provider","Channel":0},"State":{"democ":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.unjailValidatorAction","Action":{"Provider":"provi","Validator":"bob"},"State":{"democ":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"democ","Port":"provider","Channel":0},"State":{"democ":{"ValBalances":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,"Proposals":null}}}] \ No newline at end of file diff --git a/tests/e2e/tracehandler_testdata/democracyRewardsSteps.json b/tests/e2e/tracehandler_testdata/democracyRewardsSteps.json new file mode 100644 index 0000000000..b078d6f87e --- /dev/null +++ b/tests/e2e/tracehandler_testdata/democracyRewardsSteps.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},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.submitConsumerAdditionProposalAction","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},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"1":{"RawProposal":{"Deposit":10000001,"Chain":"democ","SpawnTime":0,"InitialHeight":{"revision_height":1},"Status":"PROPOSAL_STATUS_VOTING_PERIOD"},"Type":"main.ConsumerAdditionProposal"}}}}},{"ActionType":"main.assignConsumerPubKeyAction","Action":{"Chain":"democ","Validator":"carol","ConsumerPubkey":"{\"@type\":\"/cosmos.crypto.ed25519.PubKey\",\"key\":\"Ui5Gf1+mtWUdH8u3xlmzdKID+F3PK0sfXZ73GZ6q6is=\"}","ReconfigureNode":false,"ExpectError":false,"ExpectedError":""},"State":{"democ":{"ValBalances":null,"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":{"carol":"cosmosvalcons1kswr5sq599365kcjmhgufevfps9njf43e4lwdk"},"ProviderKeys":{"carol":"cosmosvalcons1ezyrq65s3gshhx5585w6mpusq3xsj3ayzf4uv6"},"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":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,"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":{"bob":"","carol":"cosmosvalcons1kswr5sq599365kcjmhgufevfps9njf43e4lwdk"},"ProviderKeys":{"carol":"cosmosvalcons1ezyrq65s3gshhx5585w6mpusq3xsj3ayzf4uv6"},"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.voteGovProposalAction","Action":{"Chain":"provi","From":["alice","bob","carol"],"Vote":["yes","yes","yes"],"PropNumber":1},"State":{"provi":{"ValBalances":{"alice":9500000000,"bob":9500000000},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"1":{"RawProposal":{"Deposit":10000001,"Chain":"democ","SpawnTime":0,"InitialHeight":{"revision_height":1},"Status":"PROPOSAL_STATUS_PASSED"},"Type":"main.ConsumerAdditionProposal"}}}}},{"ActionType":"main.startConsumerChainAction","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},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null},"provi":{"ValBalances":{"alice":9500000000,"bob":9500000000,"carol":9500000000},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.addIbcConnectionAction","Action":{"ChainA":"democ","ChainB":"provi","ClientA":0,"ClientB":0},"State":{}},{"ActionType":"main.addIbcChannelAction","Action":{"ChainA":"democ","ChainB":"provi","ConnectionA":0,"PortA":"consumer","PortB":"provider","Order":"ordered","Version":""},"State":{}},{"ActionType":"main.transferChannelCompleteAction","Action":{"ChainA":"democ","ChainB":"provi","ConnectionA":0,"PortA":"transfer","PortB":"transfer","Order":"unordered","ChannelA":1,"ChannelB":1},"State":{}},{"ActionType":"main.delegateTokensAction","Action":{"Chain":"provi","From":"alice","To":"alice","Amount":11000000},"State":{"democ":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.SendTokensAction","Action":{"Chain":"democ","From":"alice","To":"bob","Amount":1},"State":{"democ":{"ValBalances":{"alice":10000000000,"bob":10000000000},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"democ","Port":"provider","Channel":0},"State":{"democ":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.SendTokensAction","Action":{"Chain":"democ","From":"alice","To":"bob","Amount":1},"State":{"democ":{"ValBalances":{"alice":9999999999,"bob":10000000001},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.registerRepresentativeAction","Action":{"Chain":"democ","Representatives":["alice","bob"],"Stakes":[100000000,40000000]},"State":{"democ":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.delegateTokensAction","Action":{"Chain":"democ","From":"carol","To":"alice","Amount":500000},"State":{"democ":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.submitParamChangeLegacyProposalAction","Action":{"Chain":"democ","From":"alice","Deposit":10000001,"Subspace":"transfer","Key":"SendEnabled","Value":true},"State":{"democ":{"ValBalances":{"alice":9889999998,"bob":9960000001},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"1":{"RawProposal":{"Deposit":10000001,"Status":"PROPOSAL_STATUS_VOTING_PERIOD","Subspace":"transfer","Key":"SendEnabled","Value":"true"},"Type":"main.ParamsProposal"}}}}},{"ActionType":"main.voteGovProposalAction","Action":{"Chain":"democ","From":["alice","bob"],"Vote":["yes","no"],"PropNumber":1},"State":{"democ":{"ValBalances":{"alice":9889999998,"bob":9960000001},"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,"Proposals":null}}},{"ActionType":"main.relayRewardPacketsToProviderAction","Action":{"ConsumerChain":"democ","ProviderChain":"provi","Port":"transfer","Channel":1},"State":{"provi":{"ValBalances":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":[],"Proposals":null}}},{"ActionType":"main.submitChangeRewardDenomsProposalAction","Action":{"Denom":"ibc/3C3D7B3BE4ECC85A0E5B52A3AEC3B7DFC2AA9CA47C37821E57020D6807043BE9","Deposit":10000001,"From":"bob"},"State":{"provi":{"ValBalances":null,"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":[],"Proposals":null}}},{"ActionType":"main.voteGovProposalAction","Action":{"Chain":"provi","From":["alice","bob","carol"],"Vote":["yes","yes","yes"],"PropNumber":2},"State":{"provi":{"ValBalances":null,"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":["ibc/3C3D7B3BE4ECC85A0E5B52A3AEC3B7DFC2AA9CA47C37821E57020D6807043BE9"],"Proposals":null}}},{"ActionType":"main.relayRewardPacketsToProviderAction","Action":{"ConsumerChain":"democ","ProviderChain":"provi","Port":"transfer","Channel":1},"State":{"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.downtimeSlashAction","Action":{"Chain":"democ","Validator":"bob"},"State":{"democ":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"democ","Port":"provider","Channel":0},"State":{"democ":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"democ","Port":"provider","Channel":0},"State":{"democ":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.unjailValidatorAction","Action":{"Provider":"provi","Validator":"bob"},"State":{"democ":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"democ","Port":"provider","Channel":0},"State":{"democ":{"ValBalances":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,"Proposals":null}}}] \ No newline at end of file diff --git a/tests/e2e/tracehandler_testdata/happyPath.json b/tests/e2e/tracehandler_testdata/happyPath.json new file mode 100644 index 0000000000..bfbd0e58f1 --- /dev/null +++ b/tests/e2e/tracehandler_testdata/happyPath.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},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.submitConsumerAdditionProposalAction","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},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"1":{"RawProposal":{"Deposit":10000001,"Chain":"consu","SpawnTime":0,"InitialHeight":{"revision_height":1},"Status":"PROPOSAL_STATUS_VOTING_PERIOD"},"Type":"main.ConsumerAdditionProposal"}}}}},{"ActionType":"main.assignConsumerPubKeyAction","Action":{"Chain":"consu","Validator":"carol","ConsumerPubkey":"{\"@type\":\"/cosmos.crypto.ed25519.PubKey\",\"key\":\"Ui5Gf1+mtWUdH8u3xlmzdKID+F3PK0sfXZ73GZ6q6is=\"}","ReconfigureNode":false,"ExpectError":false,"ExpectedError":""},"State":{"consu":{"ValBalances":null,"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":{"carol":"cosmosvalcons1kswr5sq599365kcjmhgufevfps9njf43e4lwdk"},"ProviderKeys":{"carol":"cosmosvalcons1ezyrq65s3gshhx5585w6mpusq3xsj3ayzf4uv6"},"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":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,"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":{"bob":"","carol":"cosmosvalcons1kswr5sq599365kcjmhgufevfps9njf43e4lwdk"},"ProviderKeys":{"carol":"cosmosvalcons1ezyrq65s3gshhx5585w6mpusq3xsj3ayzf4uv6"},"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.voteGovProposalAction","Action":{"Chain":"provi","From":["alice","bob","carol"],"Vote":["yes","yes","yes"],"PropNumber":1},"State":{"provi":{"ValBalances":{"alice":9500000000,"bob":9500000000},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"1":{"RawProposal":{"Deposit":10000001,"Chain":"consu","SpawnTime":0,"InitialHeight":{"revision_height":1},"Status":"PROPOSAL_STATUS_PASSED"},"Type":"main.ConsumerAdditionProposal"}}}}},{"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},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null},"provi":{"ValBalances":{"alice":9500000000,"bob":9500000000,"carol":9500000000},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":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","Version":""},"State":{}},{"ActionType":"main.delegateTokensAction","Action":{"Chain":"provi","From":"alice","To":"alice","Amount":11000000},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.SendTokensAction","Action":{"Chain":"consu","From":"alice","To":"bob","Amount":1},"State":{"consu":{"ValBalances":{"alice":10000000000,"bob":10000000000},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.SendTokensAction","Action":{"Chain":"consu","From":"alice","To":"bob","Amount":1},"State":{"consu":{"ValBalances":{"alice":9999999999,"bob":10000000001},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.assignConsumerPubKeyAction","Action":{"Chain":"consu","Validator":"bob","ConsumerPubkey":"{\"@type\":\"/cosmos.crypto.ed25519.PubKey\",\"key\":\"QlG+iYe6AyYpvY1z9RNJKCVlH14Q/qSz4EjGdGCru3o=\"}","ReconfigureNode":true,"ExpectError":false,"ExpectedError":""},"State":{"consu":{"ValBalances":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,"RegisteredConsumerRewardDenoms":null,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"RegisteredConsumerRewardDenoms":null,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.unbondTokensAction","Action":{"Chain":"provi","Sender":"alice","UnbondFrom":"alice","Amount":1000000},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.unbondTokensAction","Action":{"Chain":"provi","Sender":"alice","UnbondFrom":"alice","Amount":1000000},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":null,"ValPowers":{"alice":509,"bob":500,"carol":500},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":null,"ValPowers":{"alice":509,"bob":500,"carol":500},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.cancelUnbondTokensAction","Action":{"Chain":"provi","Delegator":"alice","Validator":"alice","Amount":1000000},"State":{"consu":{"ValBalances":null,"ValPowers":{"alice":509,"bob":500,"carol":500},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.redelegateTokensAction","Action":{"Chain":"provi","Src":"alice","Dst":"carol","TxSender":"alice","Amount":450000000},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":null,"ValPowers":{"alice":60,"bob":500,"carol":950},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":null,"ValPowers":{"alice":60,"bob":500,"carol":950},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.downtimeSlashAction","Action":{"Chain":"consu","Validator":"alice"},"State":{"consu":{"ValBalances":null,"ValPowers":{"alice":60,"bob":500,"carol":950},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null},"provi":{"ValBalances":null,"ValPowers":{"alice":60,"bob":500,"carol":950},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":null,"ValPowers":{"alice":60,"bob":500,"carol":950},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null},"provi":{"ValBalances":null,"ValPowers":{"alice":60,"bob":500,"carol":950},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.redelegateTokensAction","Action":{"Chain":"provi","Src":"carol","Dst":"alice","TxSender":"carol","Amount":449000000},"State":{"consu":{"ValBalances":null,"ValPowers":{"alice":60,"bob":500,"carol":950},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.downtimeSlashAction","Action":{"Chain":"consu","Validator":"bob"},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.unjailValidatorAction","Action":{"Provider":"provi","Validator":"bob"},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.downtimeSlashAction","Action":{"Chain":"provi","Validator":"carol"},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.unjailValidatorAction","Action":{"Provider":"provi","Validator":"carol"},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.submitEquivocationProposalAction","Action":{"Chain":"consu","Height":10,"Time":"2023-09-19T10:36:27.886744+02:00","Power":500,"Validator":"bob","Deposit":10000001,"From":"bob"},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":{"bob":9500000000},"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,"Proposals":{"2":{"RawProposal":{"Title":"","Description":"","Deposit":0,"Status":""},"Type":"main.TextProposal"}}}}},{"ActionType":"main.doublesignSlashAction","Action":{"Validator":"carol","Chain":"provi"},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.doublesignSlashAction","Action":{"Validator":"bob","Chain":"consu"},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.submitEquivocationProposalAction","Action":{"Chain":"consu","Height":10,"Time":"2023-09-19T10:36:27.886747+02:00","Power":500,"Validator":"bob","Deposit":10000001,"From":"bob"},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":{"bob":9489999999},"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,"Proposals":{"2":{"RawProposal":{"Height":10,"Power":500,"ConsensusAddress":"cosmosvalcons1nx7n5uh0ztxsynn4sje6eyq2ud6rc6klc96w39","Deposit":10000001,"Status":"PROPOSAL_STATUS_VOTING_PERIOD"},"Type":"main.EquivocationProposal"}}}}},{"ActionType":"main.voteGovProposalAction","Action":{"Chain":"provi","From":["alice","bob","carol"],"Vote":["yes","yes","yes"],"PropNumber":2},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":null,"ValPowers":{"alice":509,"bob":0,"carol":0},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"2":{"RawProposal":{"Height":10,"Power":500,"ConsensusAddress":"cosmosvalcons1nx7n5uh0ztxsynn4sje6eyq2ud6rc6klc96w39","Deposit":10000001,"Status":"PROPOSAL_STATUS_PASSED"},"Type":"main.EquivocationProposal"}}}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":null,"ValPowers":{"alice":509,"bob":0,"carol":0},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null},"provi":{"ValBalances":null,"ValPowers":{"alice":509,"bob":0,"carol":0},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.startRelayerAction","Action":{},"State":{}},{"ActionType":"main.submitConsumerRemovalProposalAction","Action":{"Chain":"provi","From":"bob","Deposit":10000001,"ConsumerChain":"consu","StopTimeOffset":0},"State":{"provi":{"ValBalances":{"bob":9489999999},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":{"consu":true},"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"3":{"RawProposal":{"Deposit":10000001,"Chain":"consu","StopTime":0,"Status":"PROPOSAL_STATUS_VOTING_PERIOD"},"Type":"main.ConsumerRemovalProposal"}}}}},{"ActionType":"main.voteGovProposalAction","Action":{"Chain":"provi","From":["alice","bob","carol"],"Vote":["no","no","no"],"PropNumber":3},"State":{"provi":{"ValBalances":{"bob":9500000000},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":{"consu":true},"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"3":{"RawProposal":{"Deposit":10000001,"Chain":"consu","StopTime":0,"Status":"PROPOSAL_STATUS_REJECTED"},"Type":"main.ConsumerRemovalProposal"}}}}},{"ActionType":"main.submitConsumerRemovalProposalAction","Action":{"Chain":"provi","From":"bob","Deposit":10000001,"ConsumerChain":"consu","StopTimeOffset":0},"State":{"provi":{"ValBalances":{"bob":9489999999},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":{"consu":true},"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"4":{"RawProposal":{"Deposit":10000001,"Chain":"consu","StopTime":0,"Status":"PROPOSAL_STATUS_VOTING_PERIOD"},"Type":"main.ConsumerRemovalProposal"}}}}},{"ActionType":"main.voteGovProposalAction","Action":{"Chain":"provi","From":["alice","bob","carol"],"Vote":["yes","yes","yes"],"PropNumber":4},"State":{"provi":{"ValBalances":{"bob":9500000000},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":{},"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"4":{"RawProposal":{"Deposit":10000001,"Chain":"consu","StopTime":0,"Status":"PROPOSAL_STATUS_PASSED"},"Type":"main.ConsumerRemovalProposal"}}}}}] \ No newline at end of file diff --git a/tests/e2e/tracehandler_testdata/multipleConsumers.json b/tests/e2e/tracehandler_testdata/multipleConsumers.json new file mode 100644 index 0000000000..ebdc4a673a --- /dev/null +++ b/tests/e2e/tracehandler_testdata/multipleConsumers.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},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.submitConsumerAdditionProposalAction","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},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"1":{"RawProposal":{"Deposit":10000001,"Chain":"consu","SpawnTime":0,"InitialHeight":{"revision_height":1},"Status":"PROPOSAL_STATUS_VOTING_PERIOD"},"Type":"main.ConsumerAdditionProposal"}}}}},{"ActionType":"main.assignConsumerPubKeyAction","Action":{"Chain":"consu","Validator":"carol","ConsumerPubkey":"{\"@type\":\"/cosmos.crypto.ed25519.PubKey\",\"key\":\"Ui5Gf1+mtWUdH8u3xlmzdKID+F3PK0sfXZ73GZ6q6is=\"}","ReconfigureNode":false,"ExpectError":false,"ExpectedError":""},"State":{"consu":{"ValBalances":null,"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":{"carol":"cosmosvalcons1kswr5sq599365kcjmhgufevfps9njf43e4lwdk"},"ProviderKeys":{"carol":"cosmosvalcons1ezyrq65s3gshhx5585w6mpusq3xsj3ayzf4uv6"},"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":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,"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":{"bob":"","carol":"cosmosvalcons1kswr5sq599365kcjmhgufevfps9njf43e4lwdk"},"ProviderKeys":{"carol":"cosmosvalcons1ezyrq65s3gshhx5585w6mpusq3xsj3ayzf4uv6"},"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.voteGovProposalAction","Action":{"Chain":"provi","From":["alice","bob","carol"],"Vote":["yes","yes","yes"],"PropNumber":1},"State":{"provi":{"ValBalances":{"alice":9500000000,"bob":9500000000},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"1":{"RawProposal":{"Deposit":10000001,"Chain":"consu","SpawnTime":0,"InitialHeight":{"revision_height":1},"Status":"PROPOSAL_STATUS_PASSED"},"Type":"main.ConsumerAdditionProposal"}}}}},{"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},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null},"provi":{"ValBalances":{"alice":9500000000,"bob":9500000000,"carol":9500000000},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":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","Version":""},"State":{}},{"ActionType":"main.submitConsumerAdditionProposalAction","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},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"2":{"RawProposal":{"Deposit":10000001,"Chain":"densu","SpawnTime":0,"InitialHeight":{"revision_height":1},"Status":"PROPOSAL_STATUS_VOTING_PERIOD"},"Type":"main.ConsumerAdditionProposal"}}}}},{"ActionType":"main.assignConsumerPubKeyAction","Action":{"Chain":"densu","Validator":"carol","ConsumerPubkey":"{\"@type\":\"/cosmos.crypto.ed25519.PubKey\",\"key\":\"Ui5Gf1+mtWUdH8u3xlmzdKID+F3PK0sfXZ73GZ6q6is=\"}","ReconfigureNode":false,"ExpectError":false,"ExpectedError":""},"State":{"densu":{"ValBalances":null,"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":{"carol":"cosmosvalcons1kswr5sq599365kcjmhgufevfps9njf43e4lwdk"},"ProviderKeys":{"carol":"cosmosvalcons1ezyrq65s3gshhx5585w6mpusq3xsj3ayzf4uv6"},"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":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,"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":{"bob":"","carol":"cosmosvalcons1kswr5sq599365kcjmhgufevfps9njf43e4lwdk"},"ProviderKeys":{"carol":"cosmosvalcons1ezyrq65s3gshhx5585w6mpusq3xsj3ayzf4uv6"},"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.voteGovProposalAction","Action":{"Chain":"provi","From":["alice","bob","carol"],"Vote":["yes","yes","yes"],"PropNumber":2},"State":{"provi":{"ValBalances":{"alice":9500000000,"bob":9500000000},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"2":{"RawProposal":{"Deposit":10000001,"Chain":"densu","SpawnTime":0,"InitialHeight":{"revision_height":1},"Status":"PROPOSAL_STATUS_PASSED"},"Type":"main.ConsumerAdditionProposal"}}}}},{"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},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null},"provi":{"ValBalances":{"alice":9500000000,"bob":9500000000,"carol":9500000000},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":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","Version":""},"State":{}},{"ActionType":"main.delegateTokensAction","Action":{"Chain":"provi","From":"alice","To":"alice","Amount":11000000},"State":{"consu":{"ValBalances":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,"Proposals":null},"densu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null},"densu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"densu","Port":"provider","Channel":1},"State":{"consu":{"ValBalances":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,"Proposals":null},"densu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.unbondTokensAction","Action":{"Chain":"provi","Sender":"alice","UnbondFrom":"alice","Amount":1000000},"State":{"consu":{"ValBalances":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,"Proposals":null},"densu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null},"densu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"densu","Port":"provider","Channel":1},"State":{"consu":{"ValBalances":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,"Proposals":null},"densu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.redelegateTokensAction","Action":{"Chain":"provi","Src":"alice","Dst":"carol","TxSender":"alice","Amount":1000000},"State":{"consu":{"ValBalances":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,"Proposals":null},"densu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null},"densu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"densu","Port":"provider","Channel":1},"State":{"consu":{"ValBalances":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,"Proposals":null},"densu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.downtimeSlashAction","Action":{"Chain":"consu","Validator":"bob"},"State":{"consu":{"ValBalances":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,"Proposals":null},"densu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null},"densu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null},"densu":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"densu","Port":"provider","Channel":1},"State":{"consu":{"ValBalances":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,"Proposals":null},"densu":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.unjailValidatorAction","Action":{"Provider":"provi","Validator":"bob"},"State":{"consu":{"ValBalances":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,"Proposals":null},"densu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null},"densu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"densu","Port":"provider","Channel":1},"State":{"consu":{"ValBalances":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,"Proposals":null},"densu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.downtimeSlashAction","Action":{"Chain":"provi","Validator":"carol"},"State":{"consu":{"ValBalances":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,"Proposals":null},"densu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null},"densu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"densu","Port":"provider","Channel":1},"State":{"consu":{"ValBalances":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,"Proposals":null},"densu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.unjailValidatorAction","Action":{"Provider":"provi","Validator":"carol"},"State":{"consu":{"ValBalances":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,"Proposals":null},"densu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null},"densu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"densu","Port":"provider","Channel":1},"State":{"consu":{"ValBalances":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,"Proposals":null},"densu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.doublesignSlashAction","Action":{"Validator":"carol","Chain":"provi"},"State":{"consu":{"ValBalances":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,"Proposals":null},"densu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null},"densu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"densu","Port":"provider","Channel":1},"State":{"consu":{"ValBalances":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,"Proposals":null},"densu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.doublesignSlashAction","Action":{"Validator":"bob","Chain":"consu"},"State":{"consu":{"ValBalances":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,"Proposals":null},"densu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null},"densu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null},"densu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"densu","Port":"provider","Channel":1},"State":{"consu":{"ValBalances":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,"Proposals":null},"densu":{"ValBalances":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,"Proposals":null}}}] \ No newline at end of file diff --git a/tests/e2e/tracehandler_testdata/rewardDenomConsumer.json b/tests/e2e/tracehandler_testdata/rewardDenomConsumer.json new file mode 100644 index 0000000000..62f242418a --- /dev/null +++ b/tests/e2e/tracehandler_testdata/rewardDenomConsumer.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},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.submitConsumerAdditionProposalAction","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},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"1":{"RawProposal":{"Deposit":10000001,"Chain":"democ","SpawnTime":0,"InitialHeight":{"revision_height":1},"Status":"PROPOSAL_STATUS_VOTING_PERIOD"},"Type":"main.ConsumerAdditionProposal"}}}}},{"ActionType":"main.assignConsumerPubKeyAction","Action":{"Chain":"democ","Validator":"carol","ConsumerPubkey":"{\"@type\":\"/cosmos.crypto.ed25519.PubKey\",\"key\":\"Ui5Gf1+mtWUdH8u3xlmzdKID+F3PK0sfXZ73GZ6q6is=\"}","ReconfigureNode":false,"ExpectError":false,"ExpectedError":""},"State":{"democ":{"ValBalances":null,"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":{"carol":"cosmosvalcons1kswr5sq599365kcjmhgufevfps9njf43e4lwdk"},"ProviderKeys":{"carol":"cosmosvalcons1ezyrq65s3gshhx5585w6mpusq3xsj3ayzf4uv6"},"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":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,"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":{"bob":"","carol":"cosmosvalcons1kswr5sq599365kcjmhgufevfps9njf43e4lwdk"},"ProviderKeys":{"carol":"cosmosvalcons1ezyrq65s3gshhx5585w6mpusq3xsj3ayzf4uv6"},"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.voteGovProposalAction","Action":{"Chain":"provi","From":["alice","bob","carol"],"Vote":["yes","yes","yes"],"PropNumber":1},"State":{"provi":{"ValBalances":{"alice":9500000000,"bob":9500000000},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"1":{"RawProposal":{"Deposit":10000001,"Chain":"democ","SpawnTime":0,"InitialHeight":{"revision_height":1},"Status":"PROPOSAL_STATUS_PASSED"},"Type":"main.ConsumerAdditionProposal"}}}}},{"ActionType":"main.startConsumerChainAction","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},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null},"provi":{"ValBalances":{"alice":9500000000,"bob":9500000000,"carol":9500000000},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.addIbcConnectionAction","Action":{"ChainA":"democ","ChainB":"provi","ClientA":0,"ClientB":0},"State":{}},{"ActionType":"main.addIbcChannelAction","Action":{"ChainA":"democ","ChainB":"provi","ConnectionA":0,"PortA":"consumer","PortB":"provider","Order":"ordered","Version":""},"State":{}},{"ActionType":"main.transferChannelCompleteAction","Action":{"ChainA":"democ","ChainB":"provi","ConnectionA":0,"PortA":"transfer","PortB":"transfer","Order":"unordered","ChannelA":1,"ChannelB":1},"State":{}},{"ActionType":"main.delegateTokensAction","Action":{"Chain":"provi","From":"alice","To":"alice","Amount":11000000},"State":{"democ":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.SendTokensAction","Action":{"Chain":"democ","From":"alice","To":"bob","Amount":1},"State":{"democ":{"ValBalances":{"alice":10000000000,"bob":10000000000},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"democ","Port":"provider","Channel":0},"State":{"democ":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.SendTokensAction","Action":{"Chain":"democ","From":"alice","To":"bob","Amount":1},"State":{"democ":{"ValBalances":{"alice":9999999999,"bob":10000000001},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.registerRepresentativeAction","Action":{"Chain":"democ","Representatives":["alice","bob"],"Stakes":[100000000,40000000]},"State":{"democ":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.delegateTokensAction","Action":{"Chain":"democ","From":"carol","To":"alice","Amount":500000},"State":{"democ":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.submitParamChangeLegacyProposalAction","Action":{"Chain":"democ","From":"alice","Deposit":10000001,"Subspace":"transfer","Key":"SendEnabled","Value":true},"State":{"democ":{"ValBalances":{"alice":9889999998,"bob":9960000001},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"1":{"RawProposal":{"Deposit":10000001,"Status":"PROPOSAL_STATUS_VOTING_PERIOD","Subspace":"transfer","Key":"SendEnabled","Value":"true"},"Type":"main.ParamsProposal"}}}}},{"ActionType":"main.voteGovProposalAction","Action":{"Chain":"democ","From":["alice","bob"],"Vote":["yes","no"],"PropNumber":1},"State":{"democ":{"ValBalances":{"alice":9889999998,"bob":9960000001},"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,"Proposals":null}}},{"ActionType":"main.relayRewardPacketsToProviderAction","Action":{"ConsumerChain":"democ","ProviderChain":"provi","Port":"transfer","Channel":1},"State":{"provi":{"ValBalances":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":[],"Proposals":null}}},{"ActionType":"main.submitChangeRewardDenomsProposalAction","Action":{"Denom":"ibc/3C3D7B3BE4ECC85A0E5B52A3AEC3B7DFC2AA9CA47C37821E57020D6807043BE9","Deposit":10000001,"From":"bob"},"State":{"provi":{"ValBalances":null,"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":[],"Proposals":null}}},{"ActionType":"main.voteGovProposalAction","Action":{"Chain":"provi","From":["alice","bob","carol"],"Vote":["yes","yes","yes"],"PropNumber":2},"State":{"provi":{"ValBalances":null,"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":["ibc/3C3D7B3BE4ECC85A0E5B52A3AEC3B7DFC2AA9CA47C37821E57020D6807043BE9"],"Proposals":null}}},{"ActionType":"main.relayRewardPacketsToProviderAction","Action":{"ConsumerChain":"democ","ProviderChain":"provi","Port":"transfer","Channel":1},"State":{"provi":{"ValBalances":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":null,"Proposals":null}}},{"ActionType":"main.downtimeSlashAction","Action":{"Chain":"democ","Validator":"bob"},"State":{"democ":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"democ","Port":"provider","Channel":0},"State":{"democ":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"democ","Port":"provider","Channel":0},"State":{"democ":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.unjailValidatorAction","Action":{"Provider":"provi","Validator":"bob"},"State":{"democ":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"democ","Port":"provider","Channel":0},"State":{"democ":{"ValBalances":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,"Proposals":null}}}] \ No newline at end of file diff --git a/tests/e2e/tracehandler_testdata/shorthappy.json b/tests/e2e/tracehandler_testdata/shorthappy.json new file mode 100644 index 0000000000..fc1ac8e4d2 --- /dev/null +++ b/tests/e2e/tracehandler_testdata/shorthappy.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},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.submitConsumerAdditionProposalAction","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},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"1":{"RawProposal":{"Deposit":10000001,"Chain":"consu","SpawnTime":0,"InitialHeight":{"revision_height":1},"Status":"PROPOSAL_STATUS_VOTING_PERIOD"},"Type":"main.ConsumerAdditionProposal"}}}}},{"ActionType":"main.assignConsumerPubKeyAction","Action":{"Chain":"consu","Validator":"carol","ConsumerPubkey":"{\"@type\":\"/cosmos.crypto.ed25519.PubKey\",\"key\":\"Ui5Gf1+mtWUdH8u3xlmzdKID+F3PK0sfXZ73GZ6q6is=\"}","ReconfigureNode":false,"ExpectError":false,"ExpectedError":""},"State":{"consu":{"ValBalances":null,"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":{"carol":"cosmosvalcons1kswr5sq599365kcjmhgufevfps9njf43e4lwdk"},"ProviderKeys":{"carol":"cosmosvalcons1ezyrq65s3gshhx5585w6mpusq3xsj3ayzf4uv6"},"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":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,"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":{"bob":"","carol":"cosmosvalcons1kswr5sq599365kcjmhgufevfps9njf43e4lwdk"},"ProviderKeys":{"carol":"cosmosvalcons1ezyrq65s3gshhx5585w6mpusq3xsj3ayzf4uv6"},"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.voteGovProposalAction","Action":{"Chain":"provi","From":["alice","bob","carol"],"Vote":["yes","yes","yes"],"PropNumber":1},"State":{"provi":{"ValBalances":{"alice":9500000000,"bob":9500000000},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"1":{"RawProposal":{"Deposit":10000001,"Chain":"consu","SpawnTime":0,"InitialHeight":{"revision_height":1},"Status":"PROPOSAL_STATUS_PASSED"},"Type":"main.ConsumerAdditionProposal"}}}}},{"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},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null},"provi":{"ValBalances":{"alice":9500000000,"bob":9500000000,"carol":9500000000},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":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","Version":""},"State":{}},{"ActionType":"main.delegateTokensAction","Action":{"Chain":"provi","From":"alice","To":"alice","Amount":11000000},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.SendTokensAction","Action":{"Chain":"consu","From":"alice","To":"bob","Amount":1},"State":{"consu":{"ValBalances":{"alice":10000000000,"bob":10000000000},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.SendTokensAction","Action":{"Chain":"consu","From":"alice","To":"bob","Amount":1},"State":{"consu":{"ValBalances":{"alice":9999999999,"bob":10000000001},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.unbondTokensAction","Action":{"Chain":"provi","Sender":"alice","UnbondFrom":"alice","Amount":1000000},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.redelegateTokensAction","Action":{"Chain":"provi","Src":"alice","Dst":"carol","TxSender":"alice","Amount":1000000},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.downtimeSlashAction","Action":{"Chain":"consu","Validator":"bob"},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.unjailValidatorAction","Action":{"Provider":"provi","Validator":"bob"},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.downtimeSlashAction","Action":{"Chain":"provi","Validator":"carol"},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.unjailValidatorAction","Action":{"Provider":"provi","Validator":"carol"},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.submitEquivocationProposalAction","Action":{"Chain":"consu","Height":10,"Time":"2023-09-19T10:36:27.886773+02:00","Power":500,"Validator":"bob","Deposit":10000001,"From":"bob"},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":{"bob":9500000000},"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,"Proposals":{"2":{"RawProposal":{"Title":"","Description":"","Deposit":0,"Status":""},"Type":"main.TextProposal"}}}}},{"ActionType":"main.doublesignSlashAction","Action":{"Validator":"carol","Chain":"provi"},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.doublesignSlashAction","Action":{"Validator":"bob","Chain":"consu"},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.submitEquivocationProposalAction","Action":{"Chain":"consu","Height":10,"Time":"2023-09-19T10:36:27.886775+02:00","Power":500,"Validator":"bob","Deposit":10000001,"From":"bob"},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":{"bob":9489999999},"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,"Proposals":{"2":{"RawProposal":{"Height":10,"Power":500,"ConsensusAddress":"cosmosvalcons1nx7n5uh0ztxsynn4sje6eyq2ud6rc6klc96w39","Deposit":10000001,"Status":"PROPOSAL_STATUS_VOTING_PERIOD"},"Type":"main.EquivocationProposal"}}}}},{"ActionType":"main.voteGovProposalAction","Action":{"Chain":"provi","From":["alice","bob","carol"],"Vote":["yes","yes","yes"],"PropNumber":2},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":null,"ValPowers":{"alice":509,"bob":0,"carol":0},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"2":{"RawProposal":{"Height":10,"Power":500,"ConsensusAddress":"cosmosvalcons1nx7n5uh0ztxsynn4sje6eyq2ud6rc6klc96w39","Deposit":10000001,"Status":"PROPOSAL_STATUS_PASSED"},"Type":"main.EquivocationProposal"}}}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":null,"ValPowers":{"alice":509,"bob":0,"carol":0},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null},"provi":{"ValBalances":null,"ValPowers":{"alice":509,"bob":0,"carol":0},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.startRelayerAction","Action":{},"State":{}},{"ActionType":"main.submitConsumerRemovalProposalAction","Action":{"Chain":"provi","From":"bob","Deposit":10000001,"ConsumerChain":"consu","StopTimeOffset":0},"State":{"provi":{"ValBalances":{"bob":9489999999},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":{"consu":true},"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"3":{"RawProposal":{"Deposit":10000001,"Chain":"consu","StopTime":0,"Status":"PROPOSAL_STATUS_VOTING_PERIOD"},"Type":"main.ConsumerRemovalProposal"}}}}},{"ActionType":"main.voteGovProposalAction","Action":{"Chain":"provi","From":["alice","bob","carol"],"Vote":["no","no","no"],"PropNumber":3},"State":{"provi":{"ValBalances":{"bob":9500000000},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":{"consu":true},"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"3":{"RawProposal":{"Deposit":10000001,"Chain":"consu","StopTime":0,"Status":"PROPOSAL_STATUS_REJECTED"},"Type":"main.ConsumerRemovalProposal"}}}}},{"ActionType":"main.submitConsumerRemovalProposalAction","Action":{"Chain":"provi","From":"bob","Deposit":10000001,"ConsumerChain":"consu","StopTimeOffset":0},"State":{"provi":{"ValBalances":{"bob":9489999999},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":{"consu":true},"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"4":{"RawProposal":{"Deposit":10000001,"Chain":"consu","StopTime":0,"Status":"PROPOSAL_STATUS_VOTING_PERIOD"},"Type":"main.ConsumerRemovalProposal"}}}}},{"ActionType":"main.voteGovProposalAction","Action":{"Chain":"provi","From":["alice","bob","carol"],"Vote":["yes","yes","yes"],"PropNumber":4},"State":{"provi":{"ValBalances":{"bob":9500000000},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":{},"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"4":{"RawProposal":{"Deposit":10000001,"Chain":"consu","StopTime":0,"Status":"PROPOSAL_STATUS_PASSED"},"Type":"main.ConsumerRemovalProposal"}}}}}] \ No newline at end of file diff --git a/tests/e2e/tracehandler_testdata/slashThrottle.json b/tests/e2e/tracehandler_testdata/slashThrottle.json new file mode 100644 index 0000000000..f44effb891 --- /dev/null +++ b/tests/e2e/tracehandler_testdata/slashThrottle.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},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.submitConsumerAdditionProposalAction","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},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"1":{"RawProposal":{"Deposit":10000001,"Chain":"consu","SpawnTime":0,"InitialHeight":{"revision_height":1},"Status":"PROPOSAL_STATUS_VOTING_PERIOD"},"Type":"main.ConsumerAdditionProposal"}}}}},{"ActionType":"main.assignConsumerPubKeyAction","Action":{"Chain":"consu","Validator":"carol","ConsumerPubkey":"{\"@type\":\"/cosmos.crypto.ed25519.PubKey\",\"key\":\"Ui5Gf1+mtWUdH8u3xlmzdKID+F3PK0sfXZ73GZ6q6is=\"}","ReconfigureNode":false,"ExpectError":false,"ExpectedError":""},"State":{"consu":{"ValBalances":null,"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":{"carol":"cosmosvalcons1kswr5sq599365kcjmhgufevfps9njf43e4lwdk"},"ProviderKeys":{"carol":"cosmosvalcons1ezyrq65s3gshhx5585w6mpusq3xsj3ayzf4uv6"},"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":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,"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":{"bob":"","carol":"cosmosvalcons1kswr5sq599365kcjmhgufevfps9njf43e4lwdk"},"ProviderKeys":{"carol":"cosmosvalcons1ezyrq65s3gshhx5585w6mpusq3xsj3ayzf4uv6"},"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.voteGovProposalAction","Action":{"Chain":"provi","From":["alice","bob","carol"],"Vote":["yes","yes","yes"],"PropNumber":1},"State":{"provi":{"ValBalances":{"alice":9500000000,"bob":9500000000},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"1":{"RawProposal":{"Deposit":10000001,"Chain":"consu","SpawnTime":0,"InitialHeight":{"revision_height":1},"Status":"PROPOSAL_STATUS_PASSED"},"Type":"main.ConsumerAdditionProposal"}}}}},{"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},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null},"provi":{"ValBalances":{"alice":9500000000,"bob":9500000000,"carol":9500000000},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":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","Version":""},"State":{}},{"ActionType":"main.delegateTokensAction","Action":{"Chain":"provi","From":"alice","To":"alice","Amount":11000000},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.SendTokensAction","Action":{"Chain":"consu","From":"alice","To":"bob","Amount":1},"State":{"consu":{"ValBalances":{"alice":10000000000,"bob":10000000000},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.SendTokensAction","Action":{"Chain":"consu","From":"alice","To":"bob","Amount":1},"State":{"consu":{"ValBalances":{"alice":9999999999,"bob":10000000001},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.downtimeSlashAction","Action":{"Chain":"consu","Validator":"bob"},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":null,"ValPowers":{"alice":511,"bob":0,"carol":500},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":{"consu":0},"GlobalSlashQueueSize":0,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.downtimeSlashAction","Action":{"Chain":"consu","Validator":"carol"},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.slashThrottleDequeue","Action":{"Chain":"consu","CurrentQueueSize":1,"NextQueueSize":0,"Timeout":80000000000},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":null,"ValPowers":{"alice":511,"bob":0,"carol":0},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null},"provi":{"ValBalances":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,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.submitConsumerRemovalProposalAction","Action":{"Chain":"provi","From":"bob","Deposit":10000001,"ConsumerChain":"consu","StopTimeOffset":0},"State":{"provi":{"ValBalances":{"bob":9489999999},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":{"consu":true},"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"2":{"RawProposal":{"Deposit":10000001,"Chain":"consu","StopTime":0,"Status":"PROPOSAL_STATUS_VOTING_PERIOD"},"Type":"main.ConsumerRemovalProposal"}}}}},{"ActionType":"main.voteGovProposalAction","Action":{"Chain":"provi","From":["alice","bob","carol"],"Vote":["yes","yes","yes"],"PropNumber":2},"State":{"provi":{"ValBalances":{"bob":9500000000},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":{},"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"2":{"RawProposal":{"Deposit":10000001,"Chain":"consu","StopTime":0,"Status":"PROPOSAL_STATUS_PASSED"},"Type":"main.ConsumerRemovalProposal"}}}}}] \ No newline at end of file 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 new file mode 100644 index 0000000000..7093324566 --- /dev/null +++ b/tests/e2e/tracehandler_testdata/start_provider_chain.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},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}}] \ No newline at end of file From 010bec3f18563ca69210190ba840226eb0de62c4 Mon Sep 17 00:00:00 2001 From: Philip Offtermatt Date: Tue, 19 Sep 2023 13:11:01 +0200 Subject: [PATCH 09/32] Correct testdata directory in gitignore --- .gitignore | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 24aa47c88d..12a07c8b91 100644 --- a/.gitignore +++ b/.gitignore @@ -9,4 +9,4 @@ build/ .vscode .idea # to ignore testdata generated by trace_handlers_test.go -*/tracehandler_testdata +*/tracehandler_testdata/ From f00e2099a22306d20319d2b6898e34aaee13e740 Mon Sep 17 00:00:00 2001 From: Philip Offtermatt Date: Tue, 19 Sep 2023 13:11:22 +0200 Subject: [PATCH 10/32] Remove testdata directory --- tests/e2e/tracehandler_testdata/changeover.json | 1 - tests/e2e/tracehandler_testdata/democracy.json | 1 - tests/e2e/tracehandler_testdata/democracyRewardsSteps.json | 1 - tests/e2e/tracehandler_testdata/happyPath.json | 1 - tests/e2e/tracehandler_testdata/multipleConsumers.json | 1 - tests/e2e/tracehandler_testdata/rewardDenomConsumer.json | 1 - tests/e2e/tracehandler_testdata/shorthappy.json | 1 - tests/e2e/tracehandler_testdata/slashThrottle.json | 1 - tests/e2e/tracehandler_testdata/slashThrottleSteps.json | 1 - tests/e2e/tracehandler_testdata/start_provider_chain.json | 1 - 10 files changed, 10 deletions(-) delete mode 100644 tests/e2e/tracehandler_testdata/changeover.json delete mode 100644 tests/e2e/tracehandler_testdata/democracy.json delete mode 100644 tests/e2e/tracehandler_testdata/democracyRewardsSteps.json delete mode 100644 tests/e2e/tracehandler_testdata/happyPath.json delete mode 100644 tests/e2e/tracehandler_testdata/multipleConsumers.json delete mode 100644 tests/e2e/tracehandler_testdata/rewardDenomConsumer.json delete mode 100644 tests/e2e/tracehandler_testdata/shorthappy.json delete mode 100644 tests/e2e/tracehandler_testdata/slashThrottle.json delete mode 100644 tests/e2e/tracehandler_testdata/slashThrottleSteps.json delete mode 100644 tests/e2e/tracehandler_testdata/start_provider_chain.json diff --git a/tests/e2e/tracehandler_testdata/changeover.json b/tests/e2e/tracehandler_testdata/changeover.json deleted file mode 100644 index 83cf264bfc..0000000000 --- a/tests/e2e/tracehandler_testdata/changeover.json +++ /dev/null @@ -1 +0,0 @@ -[{"ActionType":"main.StartSovereignChainAction","Action":{"Chain":"sover","Validators":[{"Id":"alice","Allocation":10000000000,"Stake":500000000}],"GenesisChanges":""},"State":{"sover":{"ValBalances":{"alice":9500000000},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.delegateTokensAction","Action":{"Chain":"sover","From":"alice","To":"alice","Amount":11000000},"State":{"sover":{"ValBalances":null,"ValPowers":{"alice":511,"bob":0,"carol":0},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"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},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.createIbcClientsAction","Action":{"ChainA":"sover","ChainB":"provi"},"State":{}},{"ActionType":"main.addIbcChannelAction","Action":{"ChainA":"sover","ChainB":"provi","ConnectionA":0,"PortA":"transfer","PortB":"transfer","Order":"unordered","Version":"ics20-1"},"State":{}},{"ActionType":"main.LegacyUpgradeProposalAction","Action":{"ChainID":"sover","UpgradeTitle":"sovereign-changeover","Proposer":"alice","UpgradeHeight":110},"State":{"sover":{"ValBalances":null,"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"1":{"RawProposal":{"Title":"sovereign-changeover","Description":"","UpgradeHeight":110,"Type":"/cosmos.upgrade.v1beta1.SoftwareUpgradeProposal","Deposit":10000000,"Status":"PROPOSAL_STATUS_VOTING_PERIOD"},"Type":"main.UpgradeProposal"}}}}},{"ActionType":"main.voteGovProposalAction","Action":{"Chain":"sover","From":["alice"],"Vote":["yes"],"PropNumber":1},"State":{"sover":{"ValBalances":null,"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"1":{"RawProposal":{"Title":"sovereign-changeover","Description":"","UpgradeHeight":110,"Type":"/cosmos.upgrade.v1beta1.SoftwareUpgradeProposal","Deposit":10000000,"Status":"PROPOSAL_STATUS_PASSED"},"Type":"main.UpgradeProposal"}}}}},{"ActionType":"main.waitUntilBlockAction","Action":{"Block":110,"Chain":"sover"},"State":{}},{"ActionType":"main.submitConsumerAdditionProposalAction","Action":{"PreCCV":true,"Chain":"provi","From":"alice","Deposit":10000001,"ConsumerChain":"sover","SpawnTime":0,"InitialHeight":{"revision_height":111},"DistributionChannel":"channel-0"},"State":{"provi":{"ValBalances":{"alice":9489999999,"bob":9500000000},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"1":{"RawProposal":{"Deposit":10000001,"Chain":"sover","SpawnTime":0,"InitialHeight":{"revision_height":111},"Status":"PROPOSAL_STATUS_VOTING_PERIOD"},"Type":"main.ConsumerAdditionProposal"}}}}},{"ActionType":"main.voteGovProposalAction","Action":{"Chain":"provi","From":["alice","bob","carol"],"Vote":["yes","yes","yes"],"PropNumber":1},"State":{"provi":{"ValBalances":{"alice":9500000000,"bob":9500000000},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"1":{"RawProposal":{"Deposit":10000001,"Chain":"sover","SpawnTime":0,"InitialHeight":{"revision_height":111},"Status":"PROPOSAL_STATUS_PASSED"},"Type":"main.ConsumerAdditionProposal"}}}}},{"ActionType":"main.ChangeoverChainAction","Action":{"SovereignChain":"sover","ProviderChain":"provi","Validators":[{"Id":"alice","Allocation":10000000000,"Stake":500000000},{"Id":"bob","Allocation":10000000000,"Stake":500000000},{"Id":"carol","Allocation":10000000000,"Stake":500000000}],"GenesisChanges":".app_state.ccvconsumer.params.soft_opt_out_threshold = \"0.05\""},"State":{"provi":{"ValBalances":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,"Proposals":null},"sover":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.addIbcConnectionAction","Action":{"ChainA":"sover","ChainB":"provi","ClientA":1,"ClientB":1},"State":{}},{"ActionType":"main.addIbcChannelAction","Action":{"ChainA":"sover","ChainB":"provi","ConnectionA":1,"PortA":"consumer","PortB":"provider","Order":"ordered","Version":""},"State":{}},{"ActionType":"main.SendTokensAction","Action":{"Chain":"sover","From":"alice","To":"bob","Amount":100},"State":{"sover":{"ValBalances":{"bob":0},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.delegateTokensAction","Action":{"Chain":"provi","From":"alice","To":"alice","Amount":11000000},"State":{"provi":{"ValBalances":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,"Proposals":null},"sover":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"sover","Port":"provider","Channel":1},"State":{"sover":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.SendTokensAction","Action":{"Chain":"sover","From":"alice","To":"bob","Amount":100},"State":{"sover":{"ValBalances":{"bob":100},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.unbondTokensAction","Action":{"Chain":"provi","Sender":"alice","UnbondFrom":"alice","Amount":1000000},"State":{"provi":{"ValBalances":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,"Proposals":null},"sover":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"sover","Port":"provider","Channel":1},"State":{"sover":{"ValBalances":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,"Proposals":null}}}] \ No newline at end of file diff --git a/tests/e2e/tracehandler_testdata/democracy.json b/tests/e2e/tracehandler_testdata/democracy.json deleted file mode 100644 index 62f242418a..0000000000 --- a/tests/e2e/tracehandler_testdata/democracy.json +++ /dev/null @@ -1 +0,0 @@ -[{"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},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.submitConsumerAdditionProposalAction","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},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"1":{"RawProposal":{"Deposit":10000001,"Chain":"democ","SpawnTime":0,"InitialHeight":{"revision_height":1},"Status":"PROPOSAL_STATUS_VOTING_PERIOD"},"Type":"main.ConsumerAdditionProposal"}}}}},{"ActionType":"main.assignConsumerPubKeyAction","Action":{"Chain":"democ","Validator":"carol","ConsumerPubkey":"{\"@type\":\"/cosmos.crypto.ed25519.PubKey\",\"key\":\"Ui5Gf1+mtWUdH8u3xlmzdKID+F3PK0sfXZ73GZ6q6is=\"}","ReconfigureNode":false,"ExpectError":false,"ExpectedError":""},"State":{"democ":{"ValBalances":null,"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":{"carol":"cosmosvalcons1kswr5sq599365kcjmhgufevfps9njf43e4lwdk"},"ProviderKeys":{"carol":"cosmosvalcons1ezyrq65s3gshhx5585w6mpusq3xsj3ayzf4uv6"},"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":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,"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":{"bob":"","carol":"cosmosvalcons1kswr5sq599365kcjmhgufevfps9njf43e4lwdk"},"ProviderKeys":{"carol":"cosmosvalcons1ezyrq65s3gshhx5585w6mpusq3xsj3ayzf4uv6"},"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.voteGovProposalAction","Action":{"Chain":"provi","From":["alice","bob","carol"],"Vote":["yes","yes","yes"],"PropNumber":1},"State":{"provi":{"ValBalances":{"alice":9500000000,"bob":9500000000},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"1":{"RawProposal":{"Deposit":10000001,"Chain":"democ","SpawnTime":0,"InitialHeight":{"revision_height":1},"Status":"PROPOSAL_STATUS_PASSED"},"Type":"main.ConsumerAdditionProposal"}}}}},{"ActionType":"main.startConsumerChainAction","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},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null},"provi":{"ValBalances":{"alice":9500000000,"bob":9500000000,"carol":9500000000},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.addIbcConnectionAction","Action":{"ChainA":"democ","ChainB":"provi","ClientA":0,"ClientB":0},"State":{}},{"ActionType":"main.addIbcChannelAction","Action":{"ChainA":"democ","ChainB":"provi","ConnectionA":0,"PortA":"consumer","PortB":"provider","Order":"ordered","Version":""},"State":{}},{"ActionType":"main.transferChannelCompleteAction","Action":{"ChainA":"democ","ChainB":"provi","ConnectionA":0,"PortA":"transfer","PortB":"transfer","Order":"unordered","ChannelA":1,"ChannelB":1},"State":{}},{"ActionType":"main.delegateTokensAction","Action":{"Chain":"provi","From":"alice","To":"alice","Amount":11000000},"State":{"democ":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.SendTokensAction","Action":{"Chain":"democ","From":"alice","To":"bob","Amount":1},"State":{"democ":{"ValBalances":{"alice":10000000000,"bob":10000000000},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"democ","Port":"provider","Channel":0},"State":{"democ":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.SendTokensAction","Action":{"Chain":"democ","From":"alice","To":"bob","Amount":1},"State":{"democ":{"ValBalances":{"alice":9999999999,"bob":10000000001},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.registerRepresentativeAction","Action":{"Chain":"democ","Representatives":["alice","bob"],"Stakes":[100000000,40000000]},"State":{"democ":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.delegateTokensAction","Action":{"Chain":"democ","From":"carol","To":"alice","Amount":500000},"State":{"democ":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.submitParamChangeLegacyProposalAction","Action":{"Chain":"democ","From":"alice","Deposit":10000001,"Subspace":"transfer","Key":"SendEnabled","Value":true},"State":{"democ":{"ValBalances":{"alice":9889999998,"bob":9960000001},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"1":{"RawProposal":{"Deposit":10000001,"Status":"PROPOSAL_STATUS_VOTING_PERIOD","Subspace":"transfer","Key":"SendEnabled","Value":"true"},"Type":"main.ParamsProposal"}}}}},{"ActionType":"main.voteGovProposalAction","Action":{"Chain":"democ","From":["alice","bob"],"Vote":["yes","no"],"PropNumber":1},"State":{"democ":{"ValBalances":{"alice":9889999998,"bob":9960000001},"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,"Proposals":null}}},{"ActionType":"main.relayRewardPacketsToProviderAction","Action":{"ConsumerChain":"democ","ProviderChain":"provi","Port":"transfer","Channel":1},"State":{"provi":{"ValBalances":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":[],"Proposals":null}}},{"ActionType":"main.submitChangeRewardDenomsProposalAction","Action":{"Denom":"ibc/3C3D7B3BE4ECC85A0E5B52A3AEC3B7DFC2AA9CA47C37821E57020D6807043BE9","Deposit":10000001,"From":"bob"},"State":{"provi":{"ValBalances":null,"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":[],"Proposals":null}}},{"ActionType":"main.voteGovProposalAction","Action":{"Chain":"provi","From":["alice","bob","carol"],"Vote":["yes","yes","yes"],"PropNumber":2},"State":{"provi":{"ValBalances":null,"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":["ibc/3C3D7B3BE4ECC85A0E5B52A3AEC3B7DFC2AA9CA47C37821E57020D6807043BE9"],"Proposals":null}}},{"ActionType":"main.relayRewardPacketsToProviderAction","Action":{"ConsumerChain":"democ","ProviderChain":"provi","Port":"transfer","Channel":1},"State":{"provi":{"ValBalances":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":null,"Proposals":null}}},{"ActionType":"main.downtimeSlashAction","Action":{"Chain":"democ","Validator":"bob"},"State":{"democ":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"democ","Port":"provider","Channel":0},"State":{"democ":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"democ","Port":"provider","Channel":0},"State":{"democ":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.unjailValidatorAction","Action":{"Provider":"provi","Validator":"bob"},"State":{"democ":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"democ","Port":"provider","Channel":0},"State":{"democ":{"ValBalances":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,"Proposals":null}}}] \ No newline at end of file diff --git a/tests/e2e/tracehandler_testdata/democracyRewardsSteps.json b/tests/e2e/tracehandler_testdata/democracyRewardsSteps.json deleted file mode 100644 index b078d6f87e..0000000000 --- a/tests/e2e/tracehandler_testdata/democracyRewardsSteps.json +++ /dev/null @@ -1 +0,0 @@ -[{"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},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.submitConsumerAdditionProposalAction","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},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"1":{"RawProposal":{"Deposit":10000001,"Chain":"democ","SpawnTime":0,"InitialHeight":{"revision_height":1},"Status":"PROPOSAL_STATUS_VOTING_PERIOD"},"Type":"main.ConsumerAdditionProposal"}}}}},{"ActionType":"main.assignConsumerPubKeyAction","Action":{"Chain":"democ","Validator":"carol","ConsumerPubkey":"{\"@type\":\"/cosmos.crypto.ed25519.PubKey\",\"key\":\"Ui5Gf1+mtWUdH8u3xlmzdKID+F3PK0sfXZ73GZ6q6is=\"}","ReconfigureNode":false,"ExpectError":false,"ExpectedError":""},"State":{"democ":{"ValBalances":null,"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":{"carol":"cosmosvalcons1kswr5sq599365kcjmhgufevfps9njf43e4lwdk"},"ProviderKeys":{"carol":"cosmosvalcons1ezyrq65s3gshhx5585w6mpusq3xsj3ayzf4uv6"},"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":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,"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":{"bob":"","carol":"cosmosvalcons1kswr5sq599365kcjmhgufevfps9njf43e4lwdk"},"ProviderKeys":{"carol":"cosmosvalcons1ezyrq65s3gshhx5585w6mpusq3xsj3ayzf4uv6"},"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.voteGovProposalAction","Action":{"Chain":"provi","From":["alice","bob","carol"],"Vote":["yes","yes","yes"],"PropNumber":1},"State":{"provi":{"ValBalances":{"alice":9500000000,"bob":9500000000},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"1":{"RawProposal":{"Deposit":10000001,"Chain":"democ","SpawnTime":0,"InitialHeight":{"revision_height":1},"Status":"PROPOSAL_STATUS_PASSED"},"Type":"main.ConsumerAdditionProposal"}}}}},{"ActionType":"main.startConsumerChainAction","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},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null},"provi":{"ValBalances":{"alice":9500000000,"bob":9500000000,"carol":9500000000},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.addIbcConnectionAction","Action":{"ChainA":"democ","ChainB":"provi","ClientA":0,"ClientB":0},"State":{}},{"ActionType":"main.addIbcChannelAction","Action":{"ChainA":"democ","ChainB":"provi","ConnectionA":0,"PortA":"consumer","PortB":"provider","Order":"ordered","Version":""},"State":{}},{"ActionType":"main.transferChannelCompleteAction","Action":{"ChainA":"democ","ChainB":"provi","ConnectionA":0,"PortA":"transfer","PortB":"transfer","Order":"unordered","ChannelA":1,"ChannelB":1},"State":{}},{"ActionType":"main.delegateTokensAction","Action":{"Chain":"provi","From":"alice","To":"alice","Amount":11000000},"State":{"democ":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.SendTokensAction","Action":{"Chain":"democ","From":"alice","To":"bob","Amount":1},"State":{"democ":{"ValBalances":{"alice":10000000000,"bob":10000000000},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"democ","Port":"provider","Channel":0},"State":{"democ":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.SendTokensAction","Action":{"Chain":"democ","From":"alice","To":"bob","Amount":1},"State":{"democ":{"ValBalances":{"alice":9999999999,"bob":10000000001},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.registerRepresentativeAction","Action":{"Chain":"democ","Representatives":["alice","bob"],"Stakes":[100000000,40000000]},"State":{"democ":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.delegateTokensAction","Action":{"Chain":"democ","From":"carol","To":"alice","Amount":500000},"State":{"democ":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.submitParamChangeLegacyProposalAction","Action":{"Chain":"democ","From":"alice","Deposit":10000001,"Subspace":"transfer","Key":"SendEnabled","Value":true},"State":{"democ":{"ValBalances":{"alice":9889999998,"bob":9960000001},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"1":{"RawProposal":{"Deposit":10000001,"Status":"PROPOSAL_STATUS_VOTING_PERIOD","Subspace":"transfer","Key":"SendEnabled","Value":"true"},"Type":"main.ParamsProposal"}}}}},{"ActionType":"main.voteGovProposalAction","Action":{"Chain":"democ","From":["alice","bob"],"Vote":["yes","no"],"PropNumber":1},"State":{"democ":{"ValBalances":{"alice":9889999998,"bob":9960000001},"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,"Proposals":null}}},{"ActionType":"main.relayRewardPacketsToProviderAction","Action":{"ConsumerChain":"democ","ProviderChain":"provi","Port":"transfer","Channel":1},"State":{"provi":{"ValBalances":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":[],"Proposals":null}}},{"ActionType":"main.submitChangeRewardDenomsProposalAction","Action":{"Denom":"ibc/3C3D7B3BE4ECC85A0E5B52A3AEC3B7DFC2AA9CA47C37821E57020D6807043BE9","Deposit":10000001,"From":"bob"},"State":{"provi":{"ValBalances":null,"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":[],"Proposals":null}}},{"ActionType":"main.voteGovProposalAction","Action":{"Chain":"provi","From":["alice","bob","carol"],"Vote":["yes","yes","yes"],"PropNumber":2},"State":{"provi":{"ValBalances":null,"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":["ibc/3C3D7B3BE4ECC85A0E5B52A3AEC3B7DFC2AA9CA47C37821E57020D6807043BE9"],"Proposals":null}}},{"ActionType":"main.relayRewardPacketsToProviderAction","Action":{"ConsumerChain":"democ","ProviderChain":"provi","Port":"transfer","Channel":1},"State":{"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.downtimeSlashAction","Action":{"Chain":"democ","Validator":"bob"},"State":{"democ":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"democ","Port":"provider","Channel":0},"State":{"democ":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"democ","Port":"provider","Channel":0},"State":{"democ":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.unjailValidatorAction","Action":{"Provider":"provi","Validator":"bob"},"State":{"democ":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"democ","Port":"provider","Channel":0},"State":{"democ":{"ValBalances":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,"Proposals":null}}}] \ No newline at end of file diff --git a/tests/e2e/tracehandler_testdata/happyPath.json b/tests/e2e/tracehandler_testdata/happyPath.json deleted file mode 100644 index bfbd0e58f1..0000000000 --- a/tests/e2e/tracehandler_testdata/happyPath.json +++ /dev/null @@ -1 +0,0 @@ -[{"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},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.submitConsumerAdditionProposalAction","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},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"1":{"RawProposal":{"Deposit":10000001,"Chain":"consu","SpawnTime":0,"InitialHeight":{"revision_height":1},"Status":"PROPOSAL_STATUS_VOTING_PERIOD"},"Type":"main.ConsumerAdditionProposal"}}}}},{"ActionType":"main.assignConsumerPubKeyAction","Action":{"Chain":"consu","Validator":"carol","ConsumerPubkey":"{\"@type\":\"/cosmos.crypto.ed25519.PubKey\",\"key\":\"Ui5Gf1+mtWUdH8u3xlmzdKID+F3PK0sfXZ73GZ6q6is=\"}","ReconfigureNode":false,"ExpectError":false,"ExpectedError":""},"State":{"consu":{"ValBalances":null,"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":{"carol":"cosmosvalcons1kswr5sq599365kcjmhgufevfps9njf43e4lwdk"},"ProviderKeys":{"carol":"cosmosvalcons1ezyrq65s3gshhx5585w6mpusq3xsj3ayzf4uv6"},"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":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,"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":{"bob":"","carol":"cosmosvalcons1kswr5sq599365kcjmhgufevfps9njf43e4lwdk"},"ProviderKeys":{"carol":"cosmosvalcons1ezyrq65s3gshhx5585w6mpusq3xsj3ayzf4uv6"},"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.voteGovProposalAction","Action":{"Chain":"provi","From":["alice","bob","carol"],"Vote":["yes","yes","yes"],"PropNumber":1},"State":{"provi":{"ValBalances":{"alice":9500000000,"bob":9500000000},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"1":{"RawProposal":{"Deposit":10000001,"Chain":"consu","SpawnTime":0,"InitialHeight":{"revision_height":1},"Status":"PROPOSAL_STATUS_PASSED"},"Type":"main.ConsumerAdditionProposal"}}}}},{"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},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null},"provi":{"ValBalances":{"alice":9500000000,"bob":9500000000,"carol":9500000000},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":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","Version":""},"State":{}},{"ActionType":"main.delegateTokensAction","Action":{"Chain":"provi","From":"alice","To":"alice","Amount":11000000},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.SendTokensAction","Action":{"Chain":"consu","From":"alice","To":"bob","Amount":1},"State":{"consu":{"ValBalances":{"alice":10000000000,"bob":10000000000},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.SendTokensAction","Action":{"Chain":"consu","From":"alice","To":"bob","Amount":1},"State":{"consu":{"ValBalances":{"alice":9999999999,"bob":10000000001},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.assignConsumerPubKeyAction","Action":{"Chain":"consu","Validator":"bob","ConsumerPubkey":"{\"@type\":\"/cosmos.crypto.ed25519.PubKey\",\"key\":\"QlG+iYe6AyYpvY1z9RNJKCVlH14Q/qSz4EjGdGCru3o=\"}","ReconfigureNode":true,"ExpectError":false,"ExpectedError":""},"State":{"consu":{"ValBalances":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,"RegisteredConsumerRewardDenoms":null,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"RegisteredConsumerRewardDenoms":null,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.unbondTokensAction","Action":{"Chain":"provi","Sender":"alice","UnbondFrom":"alice","Amount":1000000},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.unbondTokensAction","Action":{"Chain":"provi","Sender":"alice","UnbondFrom":"alice","Amount":1000000},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":null,"ValPowers":{"alice":509,"bob":500,"carol":500},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":null,"ValPowers":{"alice":509,"bob":500,"carol":500},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.cancelUnbondTokensAction","Action":{"Chain":"provi","Delegator":"alice","Validator":"alice","Amount":1000000},"State":{"consu":{"ValBalances":null,"ValPowers":{"alice":509,"bob":500,"carol":500},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.redelegateTokensAction","Action":{"Chain":"provi","Src":"alice","Dst":"carol","TxSender":"alice","Amount":450000000},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":null,"ValPowers":{"alice":60,"bob":500,"carol":950},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":null,"ValPowers":{"alice":60,"bob":500,"carol":950},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.downtimeSlashAction","Action":{"Chain":"consu","Validator":"alice"},"State":{"consu":{"ValBalances":null,"ValPowers":{"alice":60,"bob":500,"carol":950},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null},"provi":{"ValBalances":null,"ValPowers":{"alice":60,"bob":500,"carol":950},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":null,"ValPowers":{"alice":60,"bob":500,"carol":950},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null},"provi":{"ValBalances":null,"ValPowers":{"alice":60,"bob":500,"carol":950},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.redelegateTokensAction","Action":{"Chain":"provi","Src":"carol","Dst":"alice","TxSender":"carol","Amount":449000000},"State":{"consu":{"ValBalances":null,"ValPowers":{"alice":60,"bob":500,"carol":950},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.downtimeSlashAction","Action":{"Chain":"consu","Validator":"bob"},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.unjailValidatorAction","Action":{"Provider":"provi","Validator":"bob"},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.downtimeSlashAction","Action":{"Chain":"provi","Validator":"carol"},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.unjailValidatorAction","Action":{"Provider":"provi","Validator":"carol"},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.submitEquivocationProposalAction","Action":{"Chain":"consu","Height":10,"Time":"2023-09-19T10:36:27.886744+02:00","Power":500,"Validator":"bob","Deposit":10000001,"From":"bob"},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":{"bob":9500000000},"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,"Proposals":{"2":{"RawProposal":{"Title":"","Description":"","Deposit":0,"Status":""},"Type":"main.TextProposal"}}}}},{"ActionType":"main.doublesignSlashAction","Action":{"Validator":"carol","Chain":"provi"},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.doublesignSlashAction","Action":{"Validator":"bob","Chain":"consu"},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.submitEquivocationProposalAction","Action":{"Chain":"consu","Height":10,"Time":"2023-09-19T10:36:27.886747+02:00","Power":500,"Validator":"bob","Deposit":10000001,"From":"bob"},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":{"bob":9489999999},"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,"Proposals":{"2":{"RawProposal":{"Height":10,"Power":500,"ConsensusAddress":"cosmosvalcons1nx7n5uh0ztxsynn4sje6eyq2ud6rc6klc96w39","Deposit":10000001,"Status":"PROPOSAL_STATUS_VOTING_PERIOD"},"Type":"main.EquivocationProposal"}}}}},{"ActionType":"main.voteGovProposalAction","Action":{"Chain":"provi","From":["alice","bob","carol"],"Vote":["yes","yes","yes"],"PropNumber":2},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":null,"ValPowers":{"alice":509,"bob":0,"carol":0},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"2":{"RawProposal":{"Height":10,"Power":500,"ConsensusAddress":"cosmosvalcons1nx7n5uh0ztxsynn4sje6eyq2ud6rc6klc96w39","Deposit":10000001,"Status":"PROPOSAL_STATUS_PASSED"},"Type":"main.EquivocationProposal"}}}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":null,"ValPowers":{"alice":509,"bob":0,"carol":0},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null},"provi":{"ValBalances":null,"ValPowers":{"alice":509,"bob":0,"carol":0},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.startRelayerAction","Action":{},"State":{}},{"ActionType":"main.submitConsumerRemovalProposalAction","Action":{"Chain":"provi","From":"bob","Deposit":10000001,"ConsumerChain":"consu","StopTimeOffset":0},"State":{"provi":{"ValBalances":{"bob":9489999999},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":{"consu":true},"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"3":{"RawProposal":{"Deposit":10000001,"Chain":"consu","StopTime":0,"Status":"PROPOSAL_STATUS_VOTING_PERIOD"},"Type":"main.ConsumerRemovalProposal"}}}}},{"ActionType":"main.voteGovProposalAction","Action":{"Chain":"provi","From":["alice","bob","carol"],"Vote":["no","no","no"],"PropNumber":3},"State":{"provi":{"ValBalances":{"bob":9500000000},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":{"consu":true},"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"3":{"RawProposal":{"Deposit":10000001,"Chain":"consu","StopTime":0,"Status":"PROPOSAL_STATUS_REJECTED"},"Type":"main.ConsumerRemovalProposal"}}}}},{"ActionType":"main.submitConsumerRemovalProposalAction","Action":{"Chain":"provi","From":"bob","Deposit":10000001,"ConsumerChain":"consu","StopTimeOffset":0},"State":{"provi":{"ValBalances":{"bob":9489999999},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":{"consu":true},"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"4":{"RawProposal":{"Deposit":10000001,"Chain":"consu","StopTime":0,"Status":"PROPOSAL_STATUS_VOTING_PERIOD"},"Type":"main.ConsumerRemovalProposal"}}}}},{"ActionType":"main.voteGovProposalAction","Action":{"Chain":"provi","From":["alice","bob","carol"],"Vote":["yes","yes","yes"],"PropNumber":4},"State":{"provi":{"ValBalances":{"bob":9500000000},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":{},"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"4":{"RawProposal":{"Deposit":10000001,"Chain":"consu","StopTime":0,"Status":"PROPOSAL_STATUS_PASSED"},"Type":"main.ConsumerRemovalProposal"}}}}}] \ No newline at end of file diff --git a/tests/e2e/tracehandler_testdata/multipleConsumers.json b/tests/e2e/tracehandler_testdata/multipleConsumers.json deleted file mode 100644 index ebdc4a673a..0000000000 --- a/tests/e2e/tracehandler_testdata/multipleConsumers.json +++ /dev/null @@ -1 +0,0 @@ -[{"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},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.submitConsumerAdditionProposalAction","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},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"1":{"RawProposal":{"Deposit":10000001,"Chain":"consu","SpawnTime":0,"InitialHeight":{"revision_height":1},"Status":"PROPOSAL_STATUS_VOTING_PERIOD"},"Type":"main.ConsumerAdditionProposal"}}}}},{"ActionType":"main.assignConsumerPubKeyAction","Action":{"Chain":"consu","Validator":"carol","ConsumerPubkey":"{\"@type\":\"/cosmos.crypto.ed25519.PubKey\",\"key\":\"Ui5Gf1+mtWUdH8u3xlmzdKID+F3PK0sfXZ73GZ6q6is=\"}","ReconfigureNode":false,"ExpectError":false,"ExpectedError":""},"State":{"consu":{"ValBalances":null,"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":{"carol":"cosmosvalcons1kswr5sq599365kcjmhgufevfps9njf43e4lwdk"},"ProviderKeys":{"carol":"cosmosvalcons1ezyrq65s3gshhx5585w6mpusq3xsj3ayzf4uv6"},"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":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,"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":{"bob":"","carol":"cosmosvalcons1kswr5sq599365kcjmhgufevfps9njf43e4lwdk"},"ProviderKeys":{"carol":"cosmosvalcons1ezyrq65s3gshhx5585w6mpusq3xsj3ayzf4uv6"},"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.voteGovProposalAction","Action":{"Chain":"provi","From":["alice","bob","carol"],"Vote":["yes","yes","yes"],"PropNumber":1},"State":{"provi":{"ValBalances":{"alice":9500000000,"bob":9500000000},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"1":{"RawProposal":{"Deposit":10000001,"Chain":"consu","SpawnTime":0,"InitialHeight":{"revision_height":1},"Status":"PROPOSAL_STATUS_PASSED"},"Type":"main.ConsumerAdditionProposal"}}}}},{"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},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null},"provi":{"ValBalances":{"alice":9500000000,"bob":9500000000,"carol":9500000000},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":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","Version":""},"State":{}},{"ActionType":"main.submitConsumerAdditionProposalAction","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},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"2":{"RawProposal":{"Deposit":10000001,"Chain":"densu","SpawnTime":0,"InitialHeight":{"revision_height":1},"Status":"PROPOSAL_STATUS_VOTING_PERIOD"},"Type":"main.ConsumerAdditionProposal"}}}}},{"ActionType":"main.assignConsumerPubKeyAction","Action":{"Chain":"densu","Validator":"carol","ConsumerPubkey":"{\"@type\":\"/cosmos.crypto.ed25519.PubKey\",\"key\":\"Ui5Gf1+mtWUdH8u3xlmzdKID+F3PK0sfXZ73GZ6q6is=\"}","ReconfigureNode":false,"ExpectError":false,"ExpectedError":""},"State":{"densu":{"ValBalances":null,"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":{"carol":"cosmosvalcons1kswr5sq599365kcjmhgufevfps9njf43e4lwdk"},"ProviderKeys":{"carol":"cosmosvalcons1ezyrq65s3gshhx5585w6mpusq3xsj3ayzf4uv6"},"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":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,"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":{"bob":"","carol":"cosmosvalcons1kswr5sq599365kcjmhgufevfps9njf43e4lwdk"},"ProviderKeys":{"carol":"cosmosvalcons1ezyrq65s3gshhx5585w6mpusq3xsj3ayzf4uv6"},"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.voteGovProposalAction","Action":{"Chain":"provi","From":["alice","bob","carol"],"Vote":["yes","yes","yes"],"PropNumber":2},"State":{"provi":{"ValBalances":{"alice":9500000000,"bob":9500000000},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"2":{"RawProposal":{"Deposit":10000001,"Chain":"densu","SpawnTime":0,"InitialHeight":{"revision_height":1},"Status":"PROPOSAL_STATUS_PASSED"},"Type":"main.ConsumerAdditionProposal"}}}}},{"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},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null},"provi":{"ValBalances":{"alice":9500000000,"bob":9500000000,"carol":9500000000},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":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","Version":""},"State":{}},{"ActionType":"main.delegateTokensAction","Action":{"Chain":"provi","From":"alice","To":"alice","Amount":11000000},"State":{"consu":{"ValBalances":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,"Proposals":null},"densu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null},"densu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"densu","Port":"provider","Channel":1},"State":{"consu":{"ValBalances":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,"Proposals":null},"densu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.unbondTokensAction","Action":{"Chain":"provi","Sender":"alice","UnbondFrom":"alice","Amount":1000000},"State":{"consu":{"ValBalances":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,"Proposals":null},"densu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null},"densu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"densu","Port":"provider","Channel":1},"State":{"consu":{"ValBalances":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,"Proposals":null},"densu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.redelegateTokensAction","Action":{"Chain":"provi","Src":"alice","Dst":"carol","TxSender":"alice","Amount":1000000},"State":{"consu":{"ValBalances":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,"Proposals":null},"densu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null},"densu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"densu","Port":"provider","Channel":1},"State":{"consu":{"ValBalances":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,"Proposals":null},"densu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.downtimeSlashAction","Action":{"Chain":"consu","Validator":"bob"},"State":{"consu":{"ValBalances":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,"Proposals":null},"densu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null},"densu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null},"densu":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"densu","Port":"provider","Channel":1},"State":{"consu":{"ValBalances":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,"Proposals":null},"densu":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.unjailValidatorAction","Action":{"Provider":"provi","Validator":"bob"},"State":{"consu":{"ValBalances":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,"Proposals":null},"densu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null},"densu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"densu","Port":"provider","Channel":1},"State":{"consu":{"ValBalances":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,"Proposals":null},"densu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.downtimeSlashAction","Action":{"Chain":"provi","Validator":"carol"},"State":{"consu":{"ValBalances":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,"Proposals":null},"densu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null},"densu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"densu","Port":"provider","Channel":1},"State":{"consu":{"ValBalances":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,"Proposals":null},"densu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.unjailValidatorAction","Action":{"Provider":"provi","Validator":"carol"},"State":{"consu":{"ValBalances":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,"Proposals":null},"densu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null},"densu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"densu","Port":"provider","Channel":1},"State":{"consu":{"ValBalances":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,"Proposals":null},"densu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.doublesignSlashAction","Action":{"Validator":"carol","Chain":"provi"},"State":{"consu":{"ValBalances":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,"Proposals":null},"densu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null},"densu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"densu","Port":"provider","Channel":1},"State":{"consu":{"ValBalances":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,"Proposals":null},"densu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.doublesignSlashAction","Action":{"Validator":"bob","Chain":"consu"},"State":{"consu":{"ValBalances":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,"Proposals":null},"densu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null},"densu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null},"densu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"densu","Port":"provider","Channel":1},"State":{"consu":{"ValBalances":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,"Proposals":null},"densu":{"ValBalances":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,"Proposals":null}}}] \ No newline at end of file diff --git a/tests/e2e/tracehandler_testdata/rewardDenomConsumer.json b/tests/e2e/tracehandler_testdata/rewardDenomConsumer.json deleted file mode 100644 index 62f242418a..0000000000 --- a/tests/e2e/tracehandler_testdata/rewardDenomConsumer.json +++ /dev/null @@ -1 +0,0 @@ -[{"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},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.submitConsumerAdditionProposalAction","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},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"1":{"RawProposal":{"Deposit":10000001,"Chain":"democ","SpawnTime":0,"InitialHeight":{"revision_height":1},"Status":"PROPOSAL_STATUS_VOTING_PERIOD"},"Type":"main.ConsumerAdditionProposal"}}}}},{"ActionType":"main.assignConsumerPubKeyAction","Action":{"Chain":"democ","Validator":"carol","ConsumerPubkey":"{\"@type\":\"/cosmos.crypto.ed25519.PubKey\",\"key\":\"Ui5Gf1+mtWUdH8u3xlmzdKID+F3PK0sfXZ73GZ6q6is=\"}","ReconfigureNode":false,"ExpectError":false,"ExpectedError":""},"State":{"democ":{"ValBalances":null,"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":{"carol":"cosmosvalcons1kswr5sq599365kcjmhgufevfps9njf43e4lwdk"},"ProviderKeys":{"carol":"cosmosvalcons1ezyrq65s3gshhx5585w6mpusq3xsj3ayzf4uv6"},"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":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,"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":{"bob":"","carol":"cosmosvalcons1kswr5sq599365kcjmhgufevfps9njf43e4lwdk"},"ProviderKeys":{"carol":"cosmosvalcons1ezyrq65s3gshhx5585w6mpusq3xsj3ayzf4uv6"},"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.voteGovProposalAction","Action":{"Chain":"provi","From":["alice","bob","carol"],"Vote":["yes","yes","yes"],"PropNumber":1},"State":{"provi":{"ValBalances":{"alice":9500000000,"bob":9500000000},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"1":{"RawProposal":{"Deposit":10000001,"Chain":"democ","SpawnTime":0,"InitialHeight":{"revision_height":1},"Status":"PROPOSAL_STATUS_PASSED"},"Type":"main.ConsumerAdditionProposal"}}}}},{"ActionType":"main.startConsumerChainAction","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},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null},"provi":{"ValBalances":{"alice":9500000000,"bob":9500000000,"carol":9500000000},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.addIbcConnectionAction","Action":{"ChainA":"democ","ChainB":"provi","ClientA":0,"ClientB":0},"State":{}},{"ActionType":"main.addIbcChannelAction","Action":{"ChainA":"democ","ChainB":"provi","ConnectionA":0,"PortA":"consumer","PortB":"provider","Order":"ordered","Version":""},"State":{}},{"ActionType":"main.transferChannelCompleteAction","Action":{"ChainA":"democ","ChainB":"provi","ConnectionA":0,"PortA":"transfer","PortB":"transfer","Order":"unordered","ChannelA":1,"ChannelB":1},"State":{}},{"ActionType":"main.delegateTokensAction","Action":{"Chain":"provi","From":"alice","To":"alice","Amount":11000000},"State":{"democ":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.SendTokensAction","Action":{"Chain":"democ","From":"alice","To":"bob","Amount":1},"State":{"democ":{"ValBalances":{"alice":10000000000,"bob":10000000000},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"democ","Port":"provider","Channel":0},"State":{"democ":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.SendTokensAction","Action":{"Chain":"democ","From":"alice","To":"bob","Amount":1},"State":{"democ":{"ValBalances":{"alice":9999999999,"bob":10000000001},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.registerRepresentativeAction","Action":{"Chain":"democ","Representatives":["alice","bob"],"Stakes":[100000000,40000000]},"State":{"democ":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.delegateTokensAction","Action":{"Chain":"democ","From":"carol","To":"alice","Amount":500000},"State":{"democ":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.submitParamChangeLegacyProposalAction","Action":{"Chain":"democ","From":"alice","Deposit":10000001,"Subspace":"transfer","Key":"SendEnabled","Value":true},"State":{"democ":{"ValBalances":{"alice":9889999998,"bob":9960000001},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"1":{"RawProposal":{"Deposit":10000001,"Status":"PROPOSAL_STATUS_VOTING_PERIOD","Subspace":"transfer","Key":"SendEnabled","Value":"true"},"Type":"main.ParamsProposal"}}}}},{"ActionType":"main.voteGovProposalAction","Action":{"Chain":"democ","From":["alice","bob"],"Vote":["yes","no"],"PropNumber":1},"State":{"democ":{"ValBalances":{"alice":9889999998,"bob":9960000001},"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,"Proposals":null}}},{"ActionType":"main.relayRewardPacketsToProviderAction","Action":{"ConsumerChain":"democ","ProviderChain":"provi","Port":"transfer","Channel":1},"State":{"provi":{"ValBalances":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":[],"Proposals":null}}},{"ActionType":"main.submitChangeRewardDenomsProposalAction","Action":{"Denom":"ibc/3C3D7B3BE4ECC85A0E5B52A3AEC3B7DFC2AA9CA47C37821E57020D6807043BE9","Deposit":10000001,"From":"bob"},"State":{"provi":{"ValBalances":null,"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":[],"Proposals":null}}},{"ActionType":"main.voteGovProposalAction","Action":{"Chain":"provi","From":["alice","bob","carol"],"Vote":["yes","yes","yes"],"PropNumber":2},"State":{"provi":{"ValBalances":null,"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":["ibc/3C3D7B3BE4ECC85A0E5B52A3AEC3B7DFC2AA9CA47C37821E57020D6807043BE9"],"Proposals":null}}},{"ActionType":"main.relayRewardPacketsToProviderAction","Action":{"ConsumerChain":"democ","ProviderChain":"provi","Port":"transfer","Channel":1},"State":{"provi":{"ValBalances":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":null,"Proposals":null}}},{"ActionType":"main.downtimeSlashAction","Action":{"Chain":"democ","Validator":"bob"},"State":{"democ":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"democ","Port":"provider","Channel":0},"State":{"democ":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"democ","Port":"provider","Channel":0},"State":{"democ":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.unjailValidatorAction","Action":{"Provider":"provi","Validator":"bob"},"State":{"democ":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"democ","Port":"provider","Channel":0},"State":{"democ":{"ValBalances":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,"Proposals":null}}}] \ No newline at end of file diff --git a/tests/e2e/tracehandler_testdata/shorthappy.json b/tests/e2e/tracehandler_testdata/shorthappy.json deleted file mode 100644 index fc1ac8e4d2..0000000000 --- a/tests/e2e/tracehandler_testdata/shorthappy.json +++ /dev/null @@ -1 +0,0 @@ -[{"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},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.submitConsumerAdditionProposalAction","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},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"1":{"RawProposal":{"Deposit":10000001,"Chain":"consu","SpawnTime":0,"InitialHeight":{"revision_height":1},"Status":"PROPOSAL_STATUS_VOTING_PERIOD"},"Type":"main.ConsumerAdditionProposal"}}}}},{"ActionType":"main.assignConsumerPubKeyAction","Action":{"Chain":"consu","Validator":"carol","ConsumerPubkey":"{\"@type\":\"/cosmos.crypto.ed25519.PubKey\",\"key\":\"Ui5Gf1+mtWUdH8u3xlmzdKID+F3PK0sfXZ73GZ6q6is=\"}","ReconfigureNode":false,"ExpectError":false,"ExpectedError":""},"State":{"consu":{"ValBalances":null,"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":{"carol":"cosmosvalcons1kswr5sq599365kcjmhgufevfps9njf43e4lwdk"},"ProviderKeys":{"carol":"cosmosvalcons1ezyrq65s3gshhx5585w6mpusq3xsj3ayzf4uv6"},"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":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,"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":{"bob":"","carol":"cosmosvalcons1kswr5sq599365kcjmhgufevfps9njf43e4lwdk"},"ProviderKeys":{"carol":"cosmosvalcons1ezyrq65s3gshhx5585w6mpusq3xsj3ayzf4uv6"},"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.voteGovProposalAction","Action":{"Chain":"provi","From":["alice","bob","carol"],"Vote":["yes","yes","yes"],"PropNumber":1},"State":{"provi":{"ValBalances":{"alice":9500000000,"bob":9500000000},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"1":{"RawProposal":{"Deposit":10000001,"Chain":"consu","SpawnTime":0,"InitialHeight":{"revision_height":1},"Status":"PROPOSAL_STATUS_PASSED"},"Type":"main.ConsumerAdditionProposal"}}}}},{"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},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null},"provi":{"ValBalances":{"alice":9500000000,"bob":9500000000,"carol":9500000000},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":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","Version":""},"State":{}},{"ActionType":"main.delegateTokensAction","Action":{"Chain":"provi","From":"alice","To":"alice","Amount":11000000},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.SendTokensAction","Action":{"Chain":"consu","From":"alice","To":"bob","Amount":1},"State":{"consu":{"ValBalances":{"alice":10000000000,"bob":10000000000},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.SendTokensAction","Action":{"Chain":"consu","From":"alice","To":"bob","Amount":1},"State":{"consu":{"ValBalances":{"alice":9999999999,"bob":10000000001},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.unbondTokensAction","Action":{"Chain":"provi","Sender":"alice","UnbondFrom":"alice","Amount":1000000},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.redelegateTokensAction","Action":{"Chain":"provi","Src":"alice","Dst":"carol","TxSender":"alice","Amount":1000000},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.downtimeSlashAction","Action":{"Chain":"consu","Validator":"bob"},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.unjailValidatorAction","Action":{"Provider":"provi","Validator":"bob"},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.downtimeSlashAction","Action":{"Chain":"provi","Validator":"carol"},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.unjailValidatorAction","Action":{"Provider":"provi","Validator":"carol"},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.submitEquivocationProposalAction","Action":{"Chain":"consu","Height":10,"Time":"2023-09-19T10:36:27.886773+02:00","Power":500,"Validator":"bob","Deposit":10000001,"From":"bob"},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":{"bob":9500000000},"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,"Proposals":{"2":{"RawProposal":{"Title":"","Description":"","Deposit":0,"Status":""},"Type":"main.TextProposal"}}}}},{"ActionType":"main.doublesignSlashAction","Action":{"Validator":"carol","Chain":"provi"},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.doublesignSlashAction","Action":{"Validator":"bob","Chain":"consu"},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.submitEquivocationProposalAction","Action":{"Chain":"consu","Height":10,"Time":"2023-09-19T10:36:27.886775+02:00","Power":500,"Validator":"bob","Deposit":10000001,"From":"bob"},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":{"bob":9489999999},"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,"Proposals":{"2":{"RawProposal":{"Height":10,"Power":500,"ConsensusAddress":"cosmosvalcons1nx7n5uh0ztxsynn4sje6eyq2ud6rc6klc96w39","Deposit":10000001,"Status":"PROPOSAL_STATUS_VOTING_PERIOD"},"Type":"main.EquivocationProposal"}}}}},{"ActionType":"main.voteGovProposalAction","Action":{"Chain":"provi","From":["alice","bob","carol"],"Vote":["yes","yes","yes"],"PropNumber":2},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":null,"ValPowers":{"alice":509,"bob":0,"carol":0},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"2":{"RawProposal":{"Height":10,"Power":500,"ConsensusAddress":"cosmosvalcons1nx7n5uh0ztxsynn4sje6eyq2ud6rc6klc96w39","Deposit":10000001,"Status":"PROPOSAL_STATUS_PASSED"},"Type":"main.EquivocationProposal"}}}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":null,"ValPowers":{"alice":509,"bob":0,"carol":0},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null},"provi":{"ValBalances":null,"ValPowers":{"alice":509,"bob":0,"carol":0},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.startRelayerAction","Action":{},"State":{}},{"ActionType":"main.submitConsumerRemovalProposalAction","Action":{"Chain":"provi","From":"bob","Deposit":10000001,"ConsumerChain":"consu","StopTimeOffset":0},"State":{"provi":{"ValBalances":{"bob":9489999999},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":{"consu":true},"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"3":{"RawProposal":{"Deposit":10000001,"Chain":"consu","StopTime":0,"Status":"PROPOSAL_STATUS_VOTING_PERIOD"},"Type":"main.ConsumerRemovalProposal"}}}}},{"ActionType":"main.voteGovProposalAction","Action":{"Chain":"provi","From":["alice","bob","carol"],"Vote":["no","no","no"],"PropNumber":3},"State":{"provi":{"ValBalances":{"bob":9500000000},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":{"consu":true},"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"3":{"RawProposal":{"Deposit":10000001,"Chain":"consu","StopTime":0,"Status":"PROPOSAL_STATUS_REJECTED"},"Type":"main.ConsumerRemovalProposal"}}}}},{"ActionType":"main.submitConsumerRemovalProposalAction","Action":{"Chain":"provi","From":"bob","Deposit":10000001,"ConsumerChain":"consu","StopTimeOffset":0},"State":{"provi":{"ValBalances":{"bob":9489999999},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":{"consu":true},"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"4":{"RawProposal":{"Deposit":10000001,"Chain":"consu","StopTime":0,"Status":"PROPOSAL_STATUS_VOTING_PERIOD"},"Type":"main.ConsumerRemovalProposal"}}}}},{"ActionType":"main.voteGovProposalAction","Action":{"Chain":"provi","From":["alice","bob","carol"],"Vote":["yes","yes","yes"],"PropNumber":4},"State":{"provi":{"ValBalances":{"bob":9500000000},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":{},"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"4":{"RawProposal":{"Deposit":10000001,"Chain":"consu","StopTime":0,"Status":"PROPOSAL_STATUS_PASSED"},"Type":"main.ConsumerRemovalProposal"}}}}}] \ No newline at end of file diff --git a/tests/e2e/tracehandler_testdata/slashThrottle.json b/tests/e2e/tracehandler_testdata/slashThrottle.json deleted file mode 100644 index f44effb891..0000000000 --- a/tests/e2e/tracehandler_testdata/slashThrottle.json +++ /dev/null @@ -1 +0,0 @@ -[{"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},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.submitConsumerAdditionProposalAction","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},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"1":{"RawProposal":{"Deposit":10000001,"Chain":"consu","SpawnTime":0,"InitialHeight":{"revision_height":1},"Status":"PROPOSAL_STATUS_VOTING_PERIOD"},"Type":"main.ConsumerAdditionProposal"}}}}},{"ActionType":"main.assignConsumerPubKeyAction","Action":{"Chain":"consu","Validator":"carol","ConsumerPubkey":"{\"@type\":\"/cosmos.crypto.ed25519.PubKey\",\"key\":\"Ui5Gf1+mtWUdH8u3xlmzdKID+F3PK0sfXZ73GZ6q6is=\"}","ReconfigureNode":false,"ExpectError":false,"ExpectedError":""},"State":{"consu":{"ValBalances":null,"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":{"carol":"cosmosvalcons1kswr5sq599365kcjmhgufevfps9njf43e4lwdk"},"ProviderKeys":{"carol":"cosmosvalcons1ezyrq65s3gshhx5585w6mpusq3xsj3ayzf4uv6"},"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":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,"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":{"bob":"","carol":"cosmosvalcons1kswr5sq599365kcjmhgufevfps9njf43e4lwdk"},"ProviderKeys":{"carol":"cosmosvalcons1ezyrq65s3gshhx5585w6mpusq3xsj3ayzf4uv6"},"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.voteGovProposalAction","Action":{"Chain":"provi","From":["alice","bob","carol"],"Vote":["yes","yes","yes"],"PropNumber":1},"State":{"provi":{"ValBalances":{"alice":9500000000,"bob":9500000000},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"1":{"RawProposal":{"Deposit":10000001,"Chain":"consu","SpawnTime":0,"InitialHeight":{"revision_height":1},"Status":"PROPOSAL_STATUS_PASSED"},"Type":"main.ConsumerAdditionProposal"}}}}},{"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},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null},"provi":{"ValBalances":{"alice":9500000000,"bob":9500000000,"carol":9500000000},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":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","Version":""},"State":{}},{"ActionType":"main.delegateTokensAction","Action":{"Chain":"provi","From":"alice","To":"alice","Amount":11000000},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.SendTokensAction","Action":{"Chain":"consu","From":"alice","To":"bob","Amount":1},"State":{"consu":{"ValBalances":{"alice":10000000000,"bob":10000000000},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.SendTokensAction","Action":{"Chain":"consu","From":"alice","To":"bob","Amount":1},"State":{"consu":{"ValBalances":{"alice":9999999999,"bob":10000000001},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.downtimeSlashAction","Action":{"Chain":"consu","Validator":"bob"},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":null,"ValPowers":{"alice":511,"bob":0,"carol":500},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":{"consu":0},"GlobalSlashQueueSize":0,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.downtimeSlashAction","Action":{"Chain":"consu","Validator":"carol"},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.slashThrottleDequeue","Action":{"Chain":"consu","CurrentQueueSize":1,"NextQueueSize":0,"Timeout":80000000000},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":null,"ValPowers":{"alice":511,"bob":0,"carol":0},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null},"provi":{"ValBalances":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,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.submitConsumerRemovalProposalAction","Action":{"Chain":"provi","From":"bob","Deposit":10000001,"ConsumerChain":"consu","StopTimeOffset":0},"State":{"provi":{"ValBalances":{"bob":9489999999},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":{"consu":true},"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"2":{"RawProposal":{"Deposit":10000001,"Chain":"consu","StopTime":0,"Status":"PROPOSAL_STATUS_VOTING_PERIOD"},"Type":"main.ConsumerRemovalProposal"}}}}},{"ActionType":"main.voteGovProposalAction","Action":{"Chain":"provi","From":["alice","bob","carol"],"Vote":["yes","yes","yes"],"PropNumber":2},"State":{"provi":{"ValBalances":{"bob":9500000000},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":{},"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"2":{"RawProposal":{"Deposit":10000001,"Chain":"consu","StopTime":0,"Status":"PROPOSAL_STATUS_PASSED"},"Type":"main.ConsumerRemovalProposal"}}}}}] \ No newline at end of file diff --git a/tests/e2e/tracehandler_testdata/slashThrottleSteps.json b/tests/e2e/tracehandler_testdata/slashThrottleSteps.json deleted file mode 100644 index c06c4b4bb6..0000000000 --- a/tests/e2e/tracehandler_testdata/slashThrottleSteps.json +++ /dev/null @@ -1 +0,0 @@ -[{"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 deleted file mode 100644 index 7093324566..0000000000 --- a/tests/e2e/tracehandler_testdata/start_provider_chain.json +++ /dev/null @@ -1 +0,0 @@ -[{"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},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}}] \ No newline at end of file From 70350c2a5e14e890093ba1e426115e9d1936c21c Mon Sep 17 00:00:00 2001 From: Philip Offtermatt Date: Tue, 19 Sep 2023 13:25:07 +0200 Subject: [PATCH 11/32] Remove testdata from gitignore --- .gitignore | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index 12a07c8b91..6fa72580f5 100644 --- a/.gitignore +++ b/.gitignore @@ -7,6 +7,4 @@ docs/tla/states/ vendor/ build/ .vscode -.idea -# to ignore testdata generated by trace_handlers_test.go -*/tracehandler_testdata/ +.idea \ No newline at end of file From b02d4f7545e682be84e2f1b164c478a40dd1a877 Mon Sep 17 00:00:00 2001 From: Philip Offtermatt Date: Tue, 19 Sep 2023 13:26:01 +0200 Subject: [PATCH 12/32] Add tracehandler_testdata --- tests/e2e/tracehandler_testdata/changeover.json | 1 + tests/e2e/tracehandler_testdata/democracy.json | 1 + tests/e2e/tracehandler_testdata/democracyRewardsSteps.json | 1 + tests/e2e/tracehandler_testdata/happyPath.json | 1 + tests/e2e/tracehandler_testdata/multipleConsumers.json | 1 + tests/e2e/tracehandler_testdata/shorthappy.json | 1 + tests/e2e/tracehandler_testdata/slashThrottle.json | 1 + tests/e2e/tracehandler_testdata/start_provider_chain.json | 1 + 8 files changed, 8 insertions(+) create mode 100644 tests/e2e/tracehandler_testdata/changeover.json create mode 100644 tests/e2e/tracehandler_testdata/democracy.json create mode 100644 tests/e2e/tracehandler_testdata/democracyRewardsSteps.json create mode 100644 tests/e2e/tracehandler_testdata/happyPath.json create mode 100644 tests/e2e/tracehandler_testdata/multipleConsumers.json create mode 100644 tests/e2e/tracehandler_testdata/shorthappy.json create mode 100644 tests/e2e/tracehandler_testdata/slashThrottle.json create mode 100644 tests/e2e/tracehandler_testdata/start_provider_chain.json diff --git a/tests/e2e/tracehandler_testdata/changeover.json b/tests/e2e/tracehandler_testdata/changeover.json new file mode 100644 index 0000000000..83cf264bfc --- /dev/null +++ b/tests/e2e/tracehandler_testdata/changeover.json @@ -0,0 +1 @@ +[{"ActionType":"main.StartSovereignChainAction","Action":{"Chain":"sover","Validators":[{"Id":"alice","Allocation":10000000000,"Stake":500000000}],"GenesisChanges":""},"State":{"sover":{"ValBalances":{"alice":9500000000},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.delegateTokensAction","Action":{"Chain":"sover","From":"alice","To":"alice","Amount":11000000},"State":{"sover":{"ValBalances":null,"ValPowers":{"alice":511,"bob":0,"carol":0},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"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},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.createIbcClientsAction","Action":{"ChainA":"sover","ChainB":"provi"},"State":{}},{"ActionType":"main.addIbcChannelAction","Action":{"ChainA":"sover","ChainB":"provi","ConnectionA":0,"PortA":"transfer","PortB":"transfer","Order":"unordered","Version":"ics20-1"},"State":{}},{"ActionType":"main.LegacyUpgradeProposalAction","Action":{"ChainID":"sover","UpgradeTitle":"sovereign-changeover","Proposer":"alice","UpgradeHeight":110},"State":{"sover":{"ValBalances":null,"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"1":{"RawProposal":{"Title":"sovereign-changeover","Description":"","UpgradeHeight":110,"Type":"/cosmos.upgrade.v1beta1.SoftwareUpgradeProposal","Deposit":10000000,"Status":"PROPOSAL_STATUS_VOTING_PERIOD"},"Type":"main.UpgradeProposal"}}}}},{"ActionType":"main.voteGovProposalAction","Action":{"Chain":"sover","From":["alice"],"Vote":["yes"],"PropNumber":1},"State":{"sover":{"ValBalances":null,"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"1":{"RawProposal":{"Title":"sovereign-changeover","Description":"","UpgradeHeight":110,"Type":"/cosmos.upgrade.v1beta1.SoftwareUpgradeProposal","Deposit":10000000,"Status":"PROPOSAL_STATUS_PASSED"},"Type":"main.UpgradeProposal"}}}}},{"ActionType":"main.waitUntilBlockAction","Action":{"Block":110,"Chain":"sover"},"State":{}},{"ActionType":"main.submitConsumerAdditionProposalAction","Action":{"PreCCV":true,"Chain":"provi","From":"alice","Deposit":10000001,"ConsumerChain":"sover","SpawnTime":0,"InitialHeight":{"revision_height":111},"DistributionChannel":"channel-0"},"State":{"provi":{"ValBalances":{"alice":9489999999,"bob":9500000000},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"1":{"RawProposal":{"Deposit":10000001,"Chain":"sover","SpawnTime":0,"InitialHeight":{"revision_height":111},"Status":"PROPOSAL_STATUS_VOTING_PERIOD"},"Type":"main.ConsumerAdditionProposal"}}}}},{"ActionType":"main.voteGovProposalAction","Action":{"Chain":"provi","From":["alice","bob","carol"],"Vote":["yes","yes","yes"],"PropNumber":1},"State":{"provi":{"ValBalances":{"alice":9500000000,"bob":9500000000},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"1":{"RawProposal":{"Deposit":10000001,"Chain":"sover","SpawnTime":0,"InitialHeight":{"revision_height":111},"Status":"PROPOSAL_STATUS_PASSED"},"Type":"main.ConsumerAdditionProposal"}}}}},{"ActionType":"main.ChangeoverChainAction","Action":{"SovereignChain":"sover","ProviderChain":"provi","Validators":[{"Id":"alice","Allocation":10000000000,"Stake":500000000},{"Id":"bob","Allocation":10000000000,"Stake":500000000},{"Id":"carol","Allocation":10000000000,"Stake":500000000}],"GenesisChanges":".app_state.ccvconsumer.params.soft_opt_out_threshold = \"0.05\""},"State":{"provi":{"ValBalances":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,"Proposals":null},"sover":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.addIbcConnectionAction","Action":{"ChainA":"sover","ChainB":"provi","ClientA":1,"ClientB":1},"State":{}},{"ActionType":"main.addIbcChannelAction","Action":{"ChainA":"sover","ChainB":"provi","ConnectionA":1,"PortA":"consumer","PortB":"provider","Order":"ordered","Version":""},"State":{}},{"ActionType":"main.SendTokensAction","Action":{"Chain":"sover","From":"alice","To":"bob","Amount":100},"State":{"sover":{"ValBalances":{"bob":0},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.delegateTokensAction","Action":{"Chain":"provi","From":"alice","To":"alice","Amount":11000000},"State":{"provi":{"ValBalances":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,"Proposals":null},"sover":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"sover","Port":"provider","Channel":1},"State":{"sover":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.SendTokensAction","Action":{"Chain":"sover","From":"alice","To":"bob","Amount":100},"State":{"sover":{"ValBalances":{"bob":100},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.unbondTokensAction","Action":{"Chain":"provi","Sender":"alice","UnbondFrom":"alice","Amount":1000000},"State":{"provi":{"ValBalances":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,"Proposals":null},"sover":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"sover","Port":"provider","Channel":1},"State":{"sover":{"ValBalances":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,"Proposals":null}}}] \ No newline at end of file diff --git a/tests/e2e/tracehandler_testdata/democracy.json b/tests/e2e/tracehandler_testdata/democracy.json new file mode 100644 index 0000000000..62f242418a --- /dev/null +++ b/tests/e2e/tracehandler_testdata/democracy.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},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.submitConsumerAdditionProposalAction","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},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"1":{"RawProposal":{"Deposit":10000001,"Chain":"democ","SpawnTime":0,"InitialHeight":{"revision_height":1},"Status":"PROPOSAL_STATUS_VOTING_PERIOD"},"Type":"main.ConsumerAdditionProposal"}}}}},{"ActionType":"main.assignConsumerPubKeyAction","Action":{"Chain":"democ","Validator":"carol","ConsumerPubkey":"{\"@type\":\"/cosmos.crypto.ed25519.PubKey\",\"key\":\"Ui5Gf1+mtWUdH8u3xlmzdKID+F3PK0sfXZ73GZ6q6is=\"}","ReconfigureNode":false,"ExpectError":false,"ExpectedError":""},"State":{"democ":{"ValBalances":null,"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":{"carol":"cosmosvalcons1kswr5sq599365kcjmhgufevfps9njf43e4lwdk"},"ProviderKeys":{"carol":"cosmosvalcons1ezyrq65s3gshhx5585w6mpusq3xsj3ayzf4uv6"},"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":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,"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":{"bob":"","carol":"cosmosvalcons1kswr5sq599365kcjmhgufevfps9njf43e4lwdk"},"ProviderKeys":{"carol":"cosmosvalcons1ezyrq65s3gshhx5585w6mpusq3xsj3ayzf4uv6"},"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.voteGovProposalAction","Action":{"Chain":"provi","From":["alice","bob","carol"],"Vote":["yes","yes","yes"],"PropNumber":1},"State":{"provi":{"ValBalances":{"alice":9500000000,"bob":9500000000},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"1":{"RawProposal":{"Deposit":10000001,"Chain":"democ","SpawnTime":0,"InitialHeight":{"revision_height":1},"Status":"PROPOSAL_STATUS_PASSED"},"Type":"main.ConsumerAdditionProposal"}}}}},{"ActionType":"main.startConsumerChainAction","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},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null},"provi":{"ValBalances":{"alice":9500000000,"bob":9500000000,"carol":9500000000},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.addIbcConnectionAction","Action":{"ChainA":"democ","ChainB":"provi","ClientA":0,"ClientB":0},"State":{}},{"ActionType":"main.addIbcChannelAction","Action":{"ChainA":"democ","ChainB":"provi","ConnectionA":0,"PortA":"consumer","PortB":"provider","Order":"ordered","Version":""},"State":{}},{"ActionType":"main.transferChannelCompleteAction","Action":{"ChainA":"democ","ChainB":"provi","ConnectionA":0,"PortA":"transfer","PortB":"transfer","Order":"unordered","ChannelA":1,"ChannelB":1},"State":{}},{"ActionType":"main.delegateTokensAction","Action":{"Chain":"provi","From":"alice","To":"alice","Amount":11000000},"State":{"democ":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.SendTokensAction","Action":{"Chain":"democ","From":"alice","To":"bob","Amount":1},"State":{"democ":{"ValBalances":{"alice":10000000000,"bob":10000000000},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"democ","Port":"provider","Channel":0},"State":{"democ":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.SendTokensAction","Action":{"Chain":"democ","From":"alice","To":"bob","Amount":1},"State":{"democ":{"ValBalances":{"alice":9999999999,"bob":10000000001},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.registerRepresentativeAction","Action":{"Chain":"democ","Representatives":["alice","bob"],"Stakes":[100000000,40000000]},"State":{"democ":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.delegateTokensAction","Action":{"Chain":"democ","From":"carol","To":"alice","Amount":500000},"State":{"democ":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.submitParamChangeLegacyProposalAction","Action":{"Chain":"democ","From":"alice","Deposit":10000001,"Subspace":"transfer","Key":"SendEnabled","Value":true},"State":{"democ":{"ValBalances":{"alice":9889999998,"bob":9960000001},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"1":{"RawProposal":{"Deposit":10000001,"Status":"PROPOSAL_STATUS_VOTING_PERIOD","Subspace":"transfer","Key":"SendEnabled","Value":"true"},"Type":"main.ParamsProposal"}}}}},{"ActionType":"main.voteGovProposalAction","Action":{"Chain":"democ","From":["alice","bob"],"Vote":["yes","no"],"PropNumber":1},"State":{"democ":{"ValBalances":{"alice":9889999998,"bob":9960000001},"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,"Proposals":null}}},{"ActionType":"main.relayRewardPacketsToProviderAction","Action":{"ConsumerChain":"democ","ProviderChain":"provi","Port":"transfer","Channel":1},"State":{"provi":{"ValBalances":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":[],"Proposals":null}}},{"ActionType":"main.submitChangeRewardDenomsProposalAction","Action":{"Denom":"ibc/3C3D7B3BE4ECC85A0E5B52A3AEC3B7DFC2AA9CA47C37821E57020D6807043BE9","Deposit":10000001,"From":"bob"},"State":{"provi":{"ValBalances":null,"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":[],"Proposals":null}}},{"ActionType":"main.voteGovProposalAction","Action":{"Chain":"provi","From":["alice","bob","carol"],"Vote":["yes","yes","yes"],"PropNumber":2},"State":{"provi":{"ValBalances":null,"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":["ibc/3C3D7B3BE4ECC85A0E5B52A3AEC3B7DFC2AA9CA47C37821E57020D6807043BE9"],"Proposals":null}}},{"ActionType":"main.relayRewardPacketsToProviderAction","Action":{"ConsumerChain":"democ","ProviderChain":"provi","Port":"transfer","Channel":1},"State":{"provi":{"ValBalances":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":null,"Proposals":null}}},{"ActionType":"main.downtimeSlashAction","Action":{"Chain":"democ","Validator":"bob"},"State":{"democ":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"democ","Port":"provider","Channel":0},"State":{"democ":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"democ","Port":"provider","Channel":0},"State":{"democ":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.unjailValidatorAction","Action":{"Provider":"provi","Validator":"bob"},"State":{"democ":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"democ","Port":"provider","Channel":0},"State":{"democ":{"ValBalances":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,"Proposals":null}}}] \ No newline at end of file diff --git a/tests/e2e/tracehandler_testdata/democracyRewardsSteps.json b/tests/e2e/tracehandler_testdata/democracyRewardsSteps.json new file mode 100644 index 0000000000..b078d6f87e --- /dev/null +++ b/tests/e2e/tracehandler_testdata/democracyRewardsSteps.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},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.submitConsumerAdditionProposalAction","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},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"1":{"RawProposal":{"Deposit":10000001,"Chain":"democ","SpawnTime":0,"InitialHeight":{"revision_height":1},"Status":"PROPOSAL_STATUS_VOTING_PERIOD"},"Type":"main.ConsumerAdditionProposal"}}}}},{"ActionType":"main.assignConsumerPubKeyAction","Action":{"Chain":"democ","Validator":"carol","ConsumerPubkey":"{\"@type\":\"/cosmos.crypto.ed25519.PubKey\",\"key\":\"Ui5Gf1+mtWUdH8u3xlmzdKID+F3PK0sfXZ73GZ6q6is=\"}","ReconfigureNode":false,"ExpectError":false,"ExpectedError":""},"State":{"democ":{"ValBalances":null,"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":{"carol":"cosmosvalcons1kswr5sq599365kcjmhgufevfps9njf43e4lwdk"},"ProviderKeys":{"carol":"cosmosvalcons1ezyrq65s3gshhx5585w6mpusq3xsj3ayzf4uv6"},"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":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,"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":{"bob":"","carol":"cosmosvalcons1kswr5sq599365kcjmhgufevfps9njf43e4lwdk"},"ProviderKeys":{"carol":"cosmosvalcons1ezyrq65s3gshhx5585w6mpusq3xsj3ayzf4uv6"},"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.voteGovProposalAction","Action":{"Chain":"provi","From":["alice","bob","carol"],"Vote":["yes","yes","yes"],"PropNumber":1},"State":{"provi":{"ValBalances":{"alice":9500000000,"bob":9500000000},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"1":{"RawProposal":{"Deposit":10000001,"Chain":"democ","SpawnTime":0,"InitialHeight":{"revision_height":1},"Status":"PROPOSAL_STATUS_PASSED"},"Type":"main.ConsumerAdditionProposal"}}}}},{"ActionType":"main.startConsumerChainAction","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},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null},"provi":{"ValBalances":{"alice":9500000000,"bob":9500000000,"carol":9500000000},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.addIbcConnectionAction","Action":{"ChainA":"democ","ChainB":"provi","ClientA":0,"ClientB":0},"State":{}},{"ActionType":"main.addIbcChannelAction","Action":{"ChainA":"democ","ChainB":"provi","ConnectionA":0,"PortA":"consumer","PortB":"provider","Order":"ordered","Version":""},"State":{}},{"ActionType":"main.transferChannelCompleteAction","Action":{"ChainA":"democ","ChainB":"provi","ConnectionA":0,"PortA":"transfer","PortB":"transfer","Order":"unordered","ChannelA":1,"ChannelB":1},"State":{}},{"ActionType":"main.delegateTokensAction","Action":{"Chain":"provi","From":"alice","To":"alice","Amount":11000000},"State":{"democ":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.SendTokensAction","Action":{"Chain":"democ","From":"alice","To":"bob","Amount":1},"State":{"democ":{"ValBalances":{"alice":10000000000,"bob":10000000000},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"democ","Port":"provider","Channel":0},"State":{"democ":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.SendTokensAction","Action":{"Chain":"democ","From":"alice","To":"bob","Amount":1},"State":{"democ":{"ValBalances":{"alice":9999999999,"bob":10000000001},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.registerRepresentativeAction","Action":{"Chain":"democ","Representatives":["alice","bob"],"Stakes":[100000000,40000000]},"State":{"democ":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.delegateTokensAction","Action":{"Chain":"democ","From":"carol","To":"alice","Amount":500000},"State":{"democ":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.submitParamChangeLegacyProposalAction","Action":{"Chain":"democ","From":"alice","Deposit":10000001,"Subspace":"transfer","Key":"SendEnabled","Value":true},"State":{"democ":{"ValBalances":{"alice":9889999998,"bob":9960000001},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"1":{"RawProposal":{"Deposit":10000001,"Status":"PROPOSAL_STATUS_VOTING_PERIOD","Subspace":"transfer","Key":"SendEnabled","Value":"true"},"Type":"main.ParamsProposal"}}}}},{"ActionType":"main.voteGovProposalAction","Action":{"Chain":"democ","From":["alice","bob"],"Vote":["yes","no"],"PropNumber":1},"State":{"democ":{"ValBalances":{"alice":9889999998,"bob":9960000001},"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,"Proposals":null}}},{"ActionType":"main.relayRewardPacketsToProviderAction","Action":{"ConsumerChain":"democ","ProviderChain":"provi","Port":"transfer","Channel":1},"State":{"provi":{"ValBalances":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":[],"Proposals":null}}},{"ActionType":"main.submitChangeRewardDenomsProposalAction","Action":{"Denom":"ibc/3C3D7B3BE4ECC85A0E5B52A3AEC3B7DFC2AA9CA47C37821E57020D6807043BE9","Deposit":10000001,"From":"bob"},"State":{"provi":{"ValBalances":null,"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":[],"Proposals":null}}},{"ActionType":"main.voteGovProposalAction","Action":{"Chain":"provi","From":["alice","bob","carol"],"Vote":["yes","yes","yes"],"PropNumber":2},"State":{"provi":{"ValBalances":null,"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":["ibc/3C3D7B3BE4ECC85A0E5B52A3AEC3B7DFC2AA9CA47C37821E57020D6807043BE9"],"Proposals":null}}},{"ActionType":"main.relayRewardPacketsToProviderAction","Action":{"ConsumerChain":"democ","ProviderChain":"provi","Port":"transfer","Channel":1},"State":{"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.downtimeSlashAction","Action":{"Chain":"democ","Validator":"bob"},"State":{"democ":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"democ","Port":"provider","Channel":0},"State":{"democ":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"democ","Port":"provider","Channel":0},"State":{"democ":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.unjailValidatorAction","Action":{"Provider":"provi","Validator":"bob"},"State":{"democ":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"democ","Port":"provider","Channel":0},"State":{"democ":{"ValBalances":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,"Proposals":null}}}] \ No newline at end of file diff --git a/tests/e2e/tracehandler_testdata/happyPath.json b/tests/e2e/tracehandler_testdata/happyPath.json new file mode 100644 index 0000000000..fcfd57df3b --- /dev/null +++ b/tests/e2e/tracehandler_testdata/happyPath.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},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.submitConsumerAdditionProposalAction","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},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"1":{"RawProposal":{"Deposit":10000001,"Chain":"consu","SpawnTime":0,"InitialHeight":{"revision_height":1},"Status":"PROPOSAL_STATUS_VOTING_PERIOD"},"Type":"main.ConsumerAdditionProposal"}}}}},{"ActionType":"main.assignConsumerPubKeyAction","Action":{"Chain":"consu","Validator":"carol","ConsumerPubkey":"{\"@type\":\"/cosmos.crypto.ed25519.PubKey\",\"key\":\"Ui5Gf1+mtWUdH8u3xlmzdKID+F3PK0sfXZ73GZ6q6is=\"}","ReconfigureNode":false,"ExpectError":false,"ExpectedError":""},"State":{"consu":{"ValBalances":null,"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":{"carol":"cosmosvalcons1kswr5sq599365kcjmhgufevfps9njf43e4lwdk"},"ProviderKeys":{"carol":"cosmosvalcons1ezyrq65s3gshhx5585w6mpusq3xsj3ayzf4uv6"},"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":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,"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":{"bob":"","carol":"cosmosvalcons1kswr5sq599365kcjmhgufevfps9njf43e4lwdk"},"ProviderKeys":{"carol":"cosmosvalcons1ezyrq65s3gshhx5585w6mpusq3xsj3ayzf4uv6"},"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.voteGovProposalAction","Action":{"Chain":"provi","From":["alice","bob","carol"],"Vote":["yes","yes","yes"],"PropNumber":1},"State":{"provi":{"ValBalances":{"alice":9500000000,"bob":9500000000},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"1":{"RawProposal":{"Deposit":10000001,"Chain":"consu","SpawnTime":0,"InitialHeight":{"revision_height":1},"Status":"PROPOSAL_STATUS_PASSED"},"Type":"main.ConsumerAdditionProposal"}}}}},{"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},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null},"provi":{"ValBalances":{"alice":9500000000,"bob":9500000000,"carol":9500000000},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":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","Version":""},"State":{}},{"ActionType":"main.delegateTokensAction","Action":{"Chain":"provi","From":"alice","To":"alice","Amount":11000000},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.SendTokensAction","Action":{"Chain":"consu","From":"alice","To":"bob","Amount":1},"State":{"consu":{"ValBalances":{"alice":10000000000,"bob":10000000000},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.SendTokensAction","Action":{"Chain":"consu","From":"alice","To":"bob","Amount":1},"State":{"consu":{"ValBalances":{"alice":9999999999,"bob":10000000001},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.assignConsumerPubKeyAction","Action":{"Chain":"consu","Validator":"bob","ConsumerPubkey":"{\"@type\":\"/cosmos.crypto.ed25519.PubKey\",\"key\":\"QlG+iYe6AyYpvY1z9RNJKCVlH14Q/qSz4EjGdGCru3o=\"}","ReconfigureNode":true,"ExpectError":false,"ExpectedError":""},"State":{"consu":{"ValBalances":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,"RegisteredConsumerRewardDenoms":null,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"RegisteredConsumerRewardDenoms":null,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.unbondTokensAction","Action":{"Chain":"provi","Sender":"alice","UnbondFrom":"alice","Amount":1000000},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.unbondTokensAction","Action":{"Chain":"provi","Sender":"alice","UnbondFrom":"alice","Amount":1000000},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":null,"ValPowers":{"alice":509,"bob":500,"carol":500},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":null,"ValPowers":{"alice":509,"bob":500,"carol":500},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.cancelUnbondTokensAction","Action":{"Chain":"provi","Delegator":"alice","Validator":"alice","Amount":1000000},"State":{"consu":{"ValBalances":null,"ValPowers":{"alice":509,"bob":500,"carol":500},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.redelegateTokensAction","Action":{"Chain":"provi","Src":"alice","Dst":"carol","TxSender":"alice","Amount":450000000},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":null,"ValPowers":{"alice":60,"bob":500,"carol":950},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":null,"ValPowers":{"alice":60,"bob":500,"carol":950},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.downtimeSlashAction","Action":{"Chain":"consu","Validator":"alice"},"State":{"consu":{"ValBalances":null,"ValPowers":{"alice":60,"bob":500,"carol":950},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null},"provi":{"ValBalances":null,"ValPowers":{"alice":60,"bob":500,"carol":950},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":null,"ValPowers":{"alice":60,"bob":500,"carol":950},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null},"provi":{"ValBalances":null,"ValPowers":{"alice":60,"bob":500,"carol":950},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.redelegateTokensAction","Action":{"Chain":"provi","Src":"carol","Dst":"alice","TxSender":"carol","Amount":449000000},"State":{"consu":{"ValBalances":null,"ValPowers":{"alice":60,"bob":500,"carol":950},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.downtimeSlashAction","Action":{"Chain":"consu","Validator":"bob"},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.unjailValidatorAction","Action":{"Provider":"provi","Validator":"bob"},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.downtimeSlashAction","Action":{"Chain":"provi","Validator":"carol"},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.unjailValidatorAction","Action":{"Provider":"provi","Validator":"carol"},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.submitEquivocationProposalAction","Action":{"Chain":"consu","Height":10,"Time":"2023-09-19T13:25:50.602435+02:00","Power":500,"Validator":"bob","Deposit":10000001,"From":"bob"},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":{"bob":9500000000},"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,"Proposals":{"2":{"RawProposal":{"Title":"","Description":"","Deposit":0,"Status":""},"Type":"main.TextProposal"}}}}},{"ActionType":"main.doublesignSlashAction","Action":{"Validator":"carol","Chain":"provi"},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.doublesignSlashAction","Action":{"Validator":"bob","Chain":"consu"},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.submitEquivocationProposalAction","Action":{"Chain":"consu","Height":10,"Time":"2023-09-19T13:25:50.602438+02:00","Power":500,"Validator":"bob","Deposit":10000001,"From":"bob"},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":{"bob":9489999999},"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,"Proposals":{"2":{"RawProposal":{"Height":10,"Power":500,"ConsensusAddress":"cosmosvalcons1nx7n5uh0ztxsynn4sje6eyq2ud6rc6klc96w39","Deposit":10000001,"Status":"PROPOSAL_STATUS_VOTING_PERIOD"},"Type":"main.EquivocationProposal"}}}}},{"ActionType":"main.voteGovProposalAction","Action":{"Chain":"provi","From":["alice","bob","carol"],"Vote":["yes","yes","yes"],"PropNumber":2},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":null,"ValPowers":{"alice":509,"bob":0,"carol":0},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"2":{"RawProposal":{"Height":10,"Power":500,"ConsensusAddress":"cosmosvalcons1nx7n5uh0ztxsynn4sje6eyq2ud6rc6klc96w39","Deposit":10000001,"Status":"PROPOSAL_STATUS_PASSED"},"Type":"main.EquivocationProposal"}}}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":null,"ValPowers":{"alice":509,"bob":0,"carol":0},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null},"provi":{"ValBalances":null,"ValPowers":{"alice":509,"bob":0,"carol":0},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.startRelayerAction","Action":{},"State":{}},{"ActionType":"main.submitConsumerRemovalProposalAction","Action":{"Chain":"provi","From":"bob","Deposit":10000001,"ConsumerChain":"consu","StopTimeOffset":0},"State":{"provi":{"ValBalances":{"bob":9489999999},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":{"consu":true},"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"3":{"RawProposal":{"Deposit":10000001,"Chain":"consu","StopTime":0,"Status":"PROPOSAL_STATUS_VOTING_PERIOD"},"Type":"main.ConsumerRemovalProposal"}}}}},{"ActionType":"main.voteGovProposalAction","Action":{"Chain":"provi","From":["alice","bob","carol"],"Vote":["no","no","no"],"PropNumber":3},"State":{"provi":{"ValBalances":{"bob":9500000000},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":{"consu":true},"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"3":{"RawProposal":{"Deposit":10000001,"Chain":"consu","StopTime":0,"Status":"PROPOSAL_STATUS_REJECTED"},"Type":"main.ConsumerRemovalProposal"}}}}},{"ActionType":"main.submitConsumerRemovalProposalAction","Action":{"Chain":"provi","From":"bob","Deposit":10000001,"ConsumerChain":"consu","StopTimeOffset":0},"State":{"provi":{"ValBalances":{"bob":9489999999},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":{"consu":true},"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"4":{"RawProposal":{"Deposit":10000001,"Chain":"consu","StopTime":0,"Status":"PROPOSAL_STATUS_VOTING_PERIOD"},"Type":"main.ConsumerRemovalProposal"}}}}},{"ActionType":"main.voteGovProposalAction","Action":{"Chain":"provi","From":["alice","bob","carol"],"Vote":["yes","yes","yes"],"PropNumber":4},"State":{"provi":{"ValBalances":{"bob":9500000000},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":{},"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"4":{"RawProposal":{"Deposit":10000001,"Chain":"consu","StopTime":0,"Status":"PROPOSAL_STATUS_PASSED"},"Type":"main.ConsumerRemovalProposal"}}}}}] \ No newline at end of file diff --git a/tests/e2e/tracehandler_testdata/multipleConsumers.json b/tests/e2e/tracehandler_testdata/multipleConsumers.json new file mode 100644 index 0000000000..ebdc4a673a --- /dev/null +++ b/tests/e2e/tracehandler_testdata/multipleConsumers.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},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.submitConsumerAdditionProposalAction","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},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"1":{"RawProposal":{"Deposit":10000001,"Chain":"consu","SpawnTime":0,"InitialHeight":{"revision_height":1},"Status":"PROPOSAL_STATUS_VOTING_PERIOD"},"Type":"main.ConsumerAdditionProposal"}}}}},{"ActionType":"main.assignConsumerPubKeyAction","Action":{"Chain":"consu","Validator":"carol","ConsumerPubkey":"{\"@type\":\"/cosmos.crypto.ed25519.PubKey\",\"key\":\"Ui5Gf1+mtWUdH8u3xlmzdKID+F3PK0sfXZ73GZ6q6is=\"}","ReconfigureNode":false,"ExpectError":false,"ExpectedError":""},"State":{"consu":{"ValBalances":null,"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":{"carol":"cosmosvalcons1kswr5sq599365kcjmhgufevfps9njf43e4lwdk"},"ProviderKeys":{"carol":"cosmosvalcons1ezyrq65s3gshhx5585w6mpusq3xsj3ayzf4uv6"},"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":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,"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":{"bob":"","carol":"cosmosvalcons1kswr5sq599365kcjmhgufevfps9njf43e4lwdk"},"ProviderKeys":{"carol":"cosmosvalcons1ezyrq65s3gshhx5585w6mpusq3xsj3ayzf4uv6"},"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.voteGovProposalAction","Action":{"Chain":"provi","From":["alice","bob","carol"],"Vote":["yes","yes","yes"],"PropNumber":1},"State":{"provi":{"ValBalances":{"alice":9500000000,"bob":9500000000},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"1":{"RawProposal":{"Deposit":10000001,"Chain":"consu","SpawnTime":0,"InitialHeight":{"revision_height":1},"Status":"PROPOSAL_STATUS_PASSED"},"Type":"main.ConsumerAdditionProposal"}}}}},{"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},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null},"provi":{"ValBalances":{"alice":9500000000,"bob":9500000000,"carol":9500000000},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":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","Version":""},"State":{}},{"ActionType":"main.submitConsumerAdditionProposalAction","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},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"2":{"RawProposal":{"Deposit":10000001,"Chain":"densu","SpawnTime":0,"InitialHeight":{"revision_height":1},"Status":"PROPOSAL_STATUS_VOTING_PERIOD"},"Type":"main.ConsumerAdditionProposal"}}}}},{"ActionType":"main.assignConsumerPubKeyAction","Action":{"Chain":"densu","Validator":"carol","ConsumerPubkey":"{\"@type\":\"/cosmos.crypto.ed25519.PubKey\",\"key\":\"Ui5Gf1+mtWUdH8u3xlmzdKID+F3PK0sfXZ73GZ6q6is=\"}","ReconfigureNode":false,"ExpectError":false,"ExpectedError":""},"State":{"densu":{"ValBalances":null,"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":{"carol":"cosmosvalcons1kswr5sq599365kcjmhgufevfps9njf43e4lwdk"},"ProviderKeys":{"carol":"cosmosvalcons1ezyrq65s3gshhx5585w6mpusq3xsj3ayzf4uv6"},"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":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,"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":{"bob":"","carol":"cosmosvalcons1kswr5sq599365kcjmhgufevfps9njf43e4lwdk"},"ProviderKeys":{"carol":"cosmosvalcons1ezyrq65s3gshhx5585w6mpusq3xsj3ayzf4uv6"},"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.voteGovProposalAction","Action":{"Chain":"provi","From":["alice","bob","carol"],"Vote":["yes","yes","yes"],"PropNumber":2},"State":{"provi":{"ValBalances":{"alice":9500000000,"bob":9500000000},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"2":{"RawProposal":{"Deposit":10000001,"Chain":"densu","SpawnTime":0,"InitialHeight":{"revision_height":1},"Status":"PROPOSAL_STATUS_PASSED"},"Type":"main.ConsumerAdditionProposal"}}}}},{"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},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null},"provi":{"ValBalances":{"alice":9500000000,"bob":9500000000,"carol":9500000000},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":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","Version":""},"State":{}},{"ActionType":"main.delegateTokensAction","Action":{"Chain":"provi","From":"alice","To":"alice","Amount":11000000},"State":{"consu":{"ValBalances":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,"Proposals":null},"densu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null},"densu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"densu","Port":"provider","Channel":1},"State":{"consu":{"ValBalances":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,"Proposals":null},"densu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.unbondTokensAction","Action":{"Chain":"provi","Sender":"alice","UnbondFrom":"alice","Amount":1000000},"State":{"consu":{"ValBalances":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,"Proposals":null},"densu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null},"densu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"densu","Port":"provider","Channel":1},"State":{"consu":{"ValBalances":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,"Proposals":null},"densu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.redelegateTokensAction","Action":{"Chain":"provi","Src":"alice","Dst":"carol","TxSender":"alice","Amount":1000000},"State":{"consu":{"ValBalances":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,"Proposals":null},"densu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null},"densu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"densu","Port":"provider","Channel":1},"State":{"consu":{"ValBalances":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,"Proposals":null},"densu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.downtimeSlashAction","Action":{"Chain":"consu","Validator":"bob"},"State":{"consu":{"ValBalances":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,"Proposals":null},"densu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null},"densu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null},"densu":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"densu","Port":"provider","Channel":1},"State":{"consu":{"ValBalances":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,"Proposals":null},"densu":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.unjailValidatorAction","Action":{"Provider":"provi","Validator":"bob"},"State":{"consu":{"ValBalances":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,"Proposals":null},"densu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null},"densu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"densu","Port":"provider","Channel":1},"State":{"consu":{"ValBalances":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,"Proposals":null},"densu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.downtimeSlashAction","Action":{"Chain":"provi","Validator":"carol"},"State":{"consu":{"ValBalances":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,"Proposals":null},"densu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null},"densu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"densu","Port":"provider","Channel":1},"State":{"consu":{"ValBalances":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,"Proposals":null},"densu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.unjailValidatorAction","Action":{"Provider":"provi","Validator":"carol"},"State":{"consu":{"ValBalances":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,"Proposals":null},"densu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null},"densu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"densu","Port":"provider","Channel":1},"State":{"consu":{"ValBalances":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,"Proposals":null},"densu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.doublesignSlashAction","Action":{"Validator":"carol","Chain":"provi"},"State":{"consu":{"ValBalances":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,"Proposals":null},"densu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null},"densu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"densu","Port":"provider","Channel":1},"State":{"consu":{"ValBalances":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,"Proposals":null},"densu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.doublesignSlashAction","Action":{"Validator":"bob","Chain":"consu"},"State":{"consu":{"ValBalances":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,"Proposals":null},"densu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null},"densu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null},"densu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"densu","Port":"provider","Channel":1},"State":{"consu":{"ValBalances":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,"Proposals":null},"densu":{"ValBalances":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,"Proposals":null}}}] \ No newline at end of file diff --git a/tests/e2e/tracehandler_testdata/shorthappy.json b/tests/e2e/tracehandler_testdata/shorthappy.json new file mode 100644 index 0000000000..6a7e44c18e --- /dev/null +++ b/tests/e2e/tracehandler_testdata/shorthappy.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},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.submitConsumerAdditionProposalAction","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},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"1":{"RawProposal":{"Deposit":10000001,"Chain":"consu","SpawnTime":0,"InitialHeight":{"revision_height":1},"Status":"PROPOSAL_STATUS_VOTING_PERIOD"},"Type":"main.ConsumerAdditionProposal"}}}}},{"ActionType":"main.assignConsumerPubKeyAction","Action":{"Chain":"consu","Validator":"carol","ConsumerPubkey":"{\"@type\":\"/cosmos.crypto.ed25519.PubKey\",\"key\":\"Ui5Gf1+mtWUdH8u3xlmzdKID+F3PK0sfXZ73GZ6q6is=\"}","ReconfigureNode":false,"ExpectError":false,"ExpectedError":""},"State":{"consu":{"ValBalances":null,"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":{"carol":"cosmosvalcons1kswr5sq599365kcjmhgufevfps9njf43e4lwdk"},"ProviderKeys":{"carol":"cosmosvalcons1ezyrq65s3gshhx5585w6mpusq3xsj3ayzf4uv6"},"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":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,"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":{"bob":"","carol":"cosmosvalcons1kswr5sq599365kcjmhgufevfps9njf43e4lwdk"},"ProviderKeys":{"carol":"cosmosvalcons1ezyrq65s3gshhx5585w6mpusq3xsj3ayzf4uv6"},"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.voteGovProposalAction","Action":{"Chain":"provi","From":["alice","bob","carol"],"Vote":["yes","yes","yes"],"PropNumber":1},"State":{"provi":{"ValBalances":{"alice":9500000000,"bob":9500000000},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"1":{"RawProposal":{"Deposit":10000001,"Chain":"consu","SpawnTime":0,"InitialHeight":{"revision_height":1},"Status":"PROPOSAL_STATUS_PASSED"},"Type":"main.ConsumerAdditionProposal"}}}}},{"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},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null},"provi":{"ValBalances":{"alice":9500000000,"bob":9500000000,"carol":9500000000},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":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","Version":""},"State":{}},{"ActionType":"main.delegateTokensAction","Action":{"Chain":"provi","From":"alice","To":"alice","Amount":11000000},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.SendTokensAction","Action":{"Chain":"consu","From":"alice","To":"bob","Amount":1},"State":{"consu":{"ValBalances":{"alice":10000000000,"bob":10000000000},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.SendTokensAction","Action":{"Chain":"consu","From":"alice","To":"bob","Amount":1},"State":{"consu":{"ValBalances":{"alice":9999999999,"bob":10000000001},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.unbondTokensAction","Action":{"Chain":"provi","Sender":"alice","UnbondFrom":"alice","Amount":1000000},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.redelegateTokensAction","Action":{"Chain":"provi","Src":"alice","Dst":"carol","TxSender":"alice","Amount":1000000},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.downtimeSlashAction","Action":{"Chain":"consu","Validator":"bob"},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.unjailValidatorAction","Action":{"Provider":"provi","Validator":"bob"},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.downtimeSlashAction","Action":{"Chain":"provi","Validator":"carol"},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.unjailValidatorAction","Action":{"Provider":"provi","Validator":"carol"},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.submitEquivocationProposalAction","Action":{"Chain":"consu","Height":10,"Time":"2023-09-19T13:25:50.602464+02:00","Power":500,"Validator":"bob","Deposit":10000001,"From":"bob"},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":{"bob":9500000000},"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,"Proposals":{"2":{"RawProposal":{"Title":"","Description":"","Deposit":0,"Status":""},"Type":"main.TextProposal"}}}}},{"ActionType":"main.doublesignSlashAction","Action":{"Validator":"carol","Chain":"provi"},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.doublesignSlashAction","Action":{"Validator":"bob","Chain":"consu"},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.submitEquivocationProposalAction","Action":{"Chain":"consu","Height":10,"Time":"2023-09-19T13:25:50.602466+02:00","Power":500,"Validator":"bob","Deposit":10000001,"From":"bob"},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":{"bob":9489999999},"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,"Proposals":{"2":{"RawProposal":{"Height":10,"Power":500,"ConsensusAddress":"cosmosvalcons1nx7n5uh0ztxsynn4sje6eyq2ud6rc6klc96w39","Deposit":10000001,"Status":"PROPOSAL_STATUS_VOTING_PERIOD"},"Type":"main.EquivocationProposal"}}}}},{"ActionType":"main.voteGovProposalAction","Action":{"Chain":"provi","From":["alice","bob","carol"],"Vote":["yes","yes","yes"],"PropNumber":2},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":null,"ValPowers":{"alice":509,"bob":0,"carol":0},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"2":{"RawProposal":{"Height":10,"Power":500,"ConsensusAddress":"cosmosvalcons1nx7n5uh0ztxsynn4sje6eyq2ud6rc6klc96w39","Deposit":10000001,"Status":"PROPOSAL_STATUS_PASSED"},"Type":"main.EquivocationProposal"}}}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":null,"ValPowers":{"alice":509,"bob":0,"carol":0},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null},"provi":{"ValBalances":null,"ValPowers":{"alice":509,"bob":0,"carol":0},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.startRelayerAction","Action":{},"State":{}},{"ActionType":"main.submitConsumerRemovalProposalAction","Action":{"Chain":"provi","From":"bob","Deposit":10000001,"ConsumerChain":"consu","StopTimeOffset":0},"State":{"provi":{"ValBalances":{"bob":9489999999},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":{"consu":true},"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"3":{"RawProposal":{"Deposit":10000001,"Chain":"consu","StopTime":0,"Status":"PROPOSAL_STATUS_VOTING_PERIOD"},"Type":"main.ConsumerRemovalProposal"}}}}},{"ActionType":"main.voteGovProposalAction","Action":{"Chain":"provi","From":["alice","bob","carol"],"Vote":["no","no","no"],"PropNumber":3},"State":{"provi":{"ValBalances":{"bob":9500000000},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":{"consu":true},"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"3":{"RawProposal":{"Deposit":10000001,"Chain":"consu","StopTime":0,"Status":"PROPOSAL_STATUS_REJECTED"},"Type":"main.ConsumerRemovalProposal"}}}}},{"ActionType":"main.submitConsumerRemovalProposalAction","Action":{"Chain":"provi","From":"bob","Deposit":10000001,"ConsumerChain":"consu","StopTimeOffset":0},"State":{"provi":{"ValBalances":{"bob":9489999999},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":{"consu":true},"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"4":{"RawProposal":{"Deposit":10000001,"Chain":"consu","StopTime":0,"Status":"PROPOSAL_STATUS_VOTING_PERIOD"},"Type":"main.ConsumerRemovalProposal"}}}}},{"ActionType":"main.voteGovProposalAction","Action":{"Chain":"provi","From":["alice","bob","carol"],"Vote":["yes","yes","yes"],"PropNumber":4},"State":{"provi":{"ValBalances":{"bob":9500000000},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":{},"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"4":{"RawProposal":{"Deposit":10000001,"Chain":"consu","StopTime":0,"Status":"PROPOSAL_STATUS_PASSED"},"Type":"main.ConsumerRemovalProposal"}}}}}] \ No newline at end of file diff --git a/tests/e2e/tracehandler_testdata/slashThrottle.json b/tests/e2e/tracehandler_testdata/slashThrottle.json new file mode 100644 index 0000000000..f44effb891 --- /dev/null +++ b/tests/e2e/tracehandler_testdata/slashThrottle.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},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.submitConsumerAdditionProposalAction","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},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"1":{"RawProposal":{"Deposit":10000001,"Chain":"consu","SpawnTime":0,"InitialHeight":{"revision_height":1},"Status":"PROPOSAL_STATUS_VOTING_PERIOD"},"Type":"main.ConsumerAdditionProposal"}}}}},{"ActionType":"main.assignConsumerPubKeyAction","Action":{"Chain":"consu","Validator":"carol","ConsumerPubkey":"{\"@type\":\"/cosmos.crypto.ed25519.PubKey\",\"key\":\"Ui5Gf1+mtWUdH8u3xlmzdKID+F3PK0sfXZ73GZ6q6is=\"}","ReconfigureNode":false,"ExpectError":false,"ExpectedError":""},"State":{"consu":{"ValBalances":null,"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":{"carol":"cosmosvalcons1kswr5sq599365kcjmhgufevfps9njf43e4lwdk"},"ProviderKeys":{"carol":"cosmosvalcons1ezyrq65s3gshhx5585w6mpusq3xsj3ayzf4uv6"},"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":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,"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":{"bob":"","carol":"cosmosvalcons1kswr5sq599365kcjmhgufevfps9njf43e4lwdk"},"ProviderKeys":{"carol":"cosmosvalcons1ezyrq65s3gshhx5585w6mpusq3xsj3ayzf4uv6"},"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.voteGovProposalAction","Action":{"Chain":"provi","From":["alice","bob","carol"],"Vote":["yes","yes","yes"],"PropNumber":1},"State":{"provi":{"ValBalances":{"alice":9500000000,"bob":9500000000},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"1":{"RawProposal":{"Deposit":10000001,"Chain":"consu","SpawnTime":0,"InitialHeight":{"revision_height":1},"Status":"PROPOSAL_STATUS_PASSED"},"Type":"main.ConsumerAdditionProposal"}}}}},{"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},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null},"provi":{"ValBalances":{"alice":9500000000,"bob":9500000000,"carol":9500000000},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":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","Version":""},"State":{}},{"ActionType":"main.delegateTokensAction","Action":{"Chain":"provi","From":"alice","To":"alice","Amount":11000000},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.SendTokensAction","Action":{"Chain":"consu","From":"alice","To":"bob","Amount":1},"State":{"consu":{"ValBalances":{"alice":10000000000,"bob":10000000000},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.SendTokensAction","Action":{"Chain":"consu","From":"alice","To":"bob","Amount":1},"State":{"consu":{"ValBalances":{"alice":9999999999,"bob":10000000001},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.downtimeSlashAction","Action":{"Chain":"consu","Validator":"bob"},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":null,"ValPowers":{"alice":511,"bob":0,"carol":500},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":{"consu":0},"GlobalSlashQueueSize":0,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.downtimeSlashAction","Action":{"Chain":"consu","Validator":"carol"},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.slashThrottleDequeue","Action":{"Chain":"consu","CurrentQueueSize":1,"NextQueueSize":0,"Timeout":80000000000},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":null,"ValPowers":{"alice":511,"bob":0,"carol":0},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null},"provi":{"ValBalances":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,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.submitConsumerRemovalProposalAction","Action":{"Chain":"provi","From":"bob","Deposit":10000001,"ConsumerChain":"consu","StopTimeOffset":0},"State":{"provi":{"ValBalances":{"bob":9489999999},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":{"consu":true},"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"2":{"RawProposal":{"Deposit":10000001,"Chain":"consu","StopTime":0,"Status":"PROPOSAL_STATUS_VOTING_PERIOD"},"Type":"main.ConsumerRemovalProposal"}}}}},{"ActionType":"main.voteGovProposalAction","Action":{"Chain":"provi","From":["alice","bob","carol"],"Vote":["yes","yes","yes"],"PropNumber":2},"State":{"provi":{"ValBalances":{"bob":9500000000},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":{},"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"2":{"RawProposal":{"Deposit":10000001,"Chain":"consu","StopTime":0,"Status":"PROPOSAL_STATUS_PASSED"},"Type":"main.ConsumerRemovalProposal"}}}}}] \ 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 new file mode 100644 index 0000000000..7093324566 --- /dev/null +++ b/tests/e2e/tracehandler_testdata/start_provider_chain.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},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}}] \ No newline at end of file From a519315b98ecc5648991846f1623fb0ddd99127d Mon Sep 17 00:00:00 2001 From: Philip Offtermatt Date: Tue, 19 Sep 2023 13:26:22 +0200 Subject: [PATCH 13/32] Remove example trace, since there are examples in the test data --- tests/e2e/example_trace.json | 935 ----------------------------------- 1 file changed, 935 deletions(-) delete mode 100644 tests/e2e/example_trace.json diff --git a/tests/e2e/example_trace.json b/tests/e2e/example_trace.json deleted file mode 100644 index 5f57b7253a..0000000000 --- a/tests/e2e/example_trace.json +++ /dev/null @@ -1,935 +0,0 @@ -[ - { - "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 - }, - "ValPowers": null, - "RepresentativePowers": null, - "Params": null, - "Rewards": null, - "ConsumerChains": null, - "AssignedKeys": null, - "ProviderKeys": null, - "ConsumerChainQueueSizes": null, - "GlobalSlashQueueSize": null, - "RegisteredConsumerRewardDenoms": null, - "Proposals": null - } - } - }, - { - "ActionType": "main.submitConsumerAdditionProposalAction", - "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 - }, - "ValPowers": null, - "RepresentativePowers": null, - "Params": null, - "Rewards": null, - "ConsumerChains": null, - "AssignedKeys": null, - "ProviderKeys": null, - "ConsumerChainQueueSizes": null, - "GlobalSlashQueueSize": null, - "RegisteredConsumerRewardDenoms": null, - "Proposals": { - "1": { - "RawProposal": { - "Deposit": 10000001, - "Chain": "democ", - "SpawnTime": 0, - "InitialHeight": { - "revision_height": 1 - }, - "Status": "PROPOSAL_STATUS_VOTING_PERIOD" - }, - "Type": "main.ConsumerAdditionProposal" - } - } - } - } - }, - { - "ActionType": "main.assignConsumerPubKeyAction", - "Action": { - "Chain": "democ", - "Validator": "carol", - "ConsumerPubkey": "{\"@type\":\"/cosmos.crypto.ed25519.PubKey\",\"key\":\"Ui5Gf1+mtWUdH8u3xlmzdKID+F3PK0sfXZ73GZ6q6is=\"}", - "ReconfigureNode": false, - "ExpectError": false, - "ExpectedError": "" - }, - "State": { - "democ": { - "ValBalances": null, - "ValPowers": null, - "RepresentativePowers": null, - "Params": null, - "Rewards": null, - "ConsumerChains": null, - "AssignedKeys": { - "carol": "cosmosvalcons1kswr5sq599365kcjmhgufevfps9njf43e4lwdk" - }, - "ProviderKeys": { - "carol": "cosmosvalcons1ezyrq65s3gshhx5585w6mpusq3xsj3ayzf4uv6" - }, - "ConsumerChainQueueSizes": null, - "GlobalSlashQueueSize": null, - "RegisteredConsumerRewardDenoms": null, - "Proposals": 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, - "ValPowers": null, - "RepresentativePowers": null, - "Params": null, - "Rewards": null, - "ConsumerChains": null, - "AssignedKeys": { - "bob": "", - "carol": "cosmosvalcons1kswr5sq599365kcjmhgufevfps9njf43e4lwdk" - }, - "ProviderKeys": { - "carol": "cosmosvalcons1ezyrq65s3gshhx5585w6mpusq3xsj3ayzf4uv6" - }, - "ConsumerChainQueueSizes": null, - "GlobalSlashQueueSize": null, - "RegisteredConsumerRewardDenoms": null, - "Proposals": null - } - } - }, - { - "ActionType": "main.voteGovProposalAction", - "Action": { - "Chain": "provi", - "From": [ - "alice", - "bob", - "carol" - ], - "Vote": [ - "yes", - "yes", - "yes" - ], - "PropNumber": 1 - }, - "State": { - "provi": { - "ValBalances": { - "alice": 9500000000, - "bob": 9500000000 - }, - "ValPowers": null, - "RepresentativePowers": null, - "Params": null, - "Rewards": null, - "ConsumerChains": null, - "AssignedKeys": null, - "ProviderKeys": null, - "ConsumerChainQueueSizes": null, - "GlobalSlashQueueSize": null, - "RegisteredConsumerRewardDenoms": null, - "Proposals": { - "1": { - "RawProposal": { - "Deposit": 10000001, - "Chain": "democ", - "SpawnTime": 0, - "InitialHeight": { - "revision_height": 1 - }, - "Status": "PROPOSAL_STATUS_PASSED" - }, - "Type": "main.ConsumerAdditionProposal" - } - } - } - } - }, - { - "ActionType": "main.startConsumerChainAction", - "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 - }, - "ValPowers": null, - "RepresentativePowers": null, - "Params": null, - "Rewards": null, - "ConsumerChains": null, - "AssignedKeys": null, - "ProviderKeys": null, - "ConsumerChainQueueSizes": null, - "GlobalSlashQueueSize": null, - "RegisteredConsumerRewardDenoms": null, - "Proposals": null - }, - "provi": { - "ValBalances": { - "alice": 9500000000, - "bob": 9500000000, - "carol": 9500000000 - }, - "ValPowers": null, - "RepresentativePowers": null, - "Params": null, - "Rewards": null, - "ConsumerChains": null, - "AssignedKeys": null, - "ProviderKeys": null, - "ConsumerChainQueueSizes": null, - "GlobalSlashQueueSize": null, - "RegisteredConsumerRewardDenoms": null, - "Proposals": null - } - } - }, - { - "ActionType": "main.addIbcConnectionAction", - "Action": { - "ChainA": "democ", - "ChainB": "provi", - "ClientA": 0, - "ClientB": 0 - }, - "State": {} - }, - { - "ActionType": "main.addIbcChannelAction", - "Action": { - "ChainA": "democ", - "ChainB": "provi", - "ConnectionA": 0, - "PortA": "consumer", - "PortB": "provider", - "Order": "ordered", - "Version": "" - }, - "State": {} - }, - { - "ActionType": "main.transferChannelCompleteAction", - "Action": { - "ChainA": "democ", - "ChainB": "provi", - "ConnectionA": 0, - "PortA": "transfer", - "PortB": "transfer", - "Order": "unordered", - "ChannelA": 1, - "ChannelB": 1 - }, - "State": {} - }, - { - "ActionType": "main.delegateTokensAction", - "Action": { - "Chain": "provi", - "From": "alice", - "To": "alice", - "Amount": 11000000 - }, - "State": { - "democ": { - "ValBalances": 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, - "Proposals": null - }, - "provi": { - "ValBalances": 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, - "Proposals": null - } - } - }, - { - "ActionType": "main.SendTokensAction", - "Action": { - "Chain": "democ", - "From": "alice", - "To": "bob", - "Amount": 1 - }, - "State": { - "democ": { - "ValBalances": { - "alice": 10000000000, - "bob": 10000000000 - }, - "ValPowers": null, - "RepresentativePowers": null, - "Params": null, - "Rewards": null, - "ConsumerChains": null, - "AssignedKeys": null, - "ProviderKeys": null, - "ConsumerChainQueueSizes": null, - "GlobalSlashQueueSize": null, - "RegisteredConsumerRewardDenoms": null, - "Proposals": null - } - } - }, - { - "ActionType": "main.relayPacketsAction", - "Action": { - "ChainA": "provi", - "ChainB": "democ", - "Port": "provider", - "Channel": 0 - }, - "State": { - "democ": { - "ValBalances": 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, - "Proposals": null - } - } - }, - { - "ActionType": "main.SendTokensAction", - "Action": { - "Chain": "democ", - "From": "alice", - "To": "bob", - "Amount": 1 - }, - "State": { - "democ": { - "ValBalances": { - "alice": 9999999999, - "bob": 10000000001 - }, - "ValPowers": null, - "RepresentativePowers": null, - "Params": null, - "Rewards": null, - "ConsumerChains": null, - "AssignedKeys": null, - "ProviderKeys": null, - "ConsumerChainQueueSizes": null, - "GlobalSlashQueueSize": null, - "RegisteredConsumerRewardDenoms": null, - "Proposals": null - } - } - }, - { - "ActionType": "main.registerRepresentativeAction", - "Action": { - "Chain": "democ", - "Representatives": [ - "alice", - "bob" - ], - "Stakes": [ - 100000000, - 40000000 - ] - }, - "State": { - "democ": { - "ValBalances": 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, - "Proposals": null - } - } - }, - { - "ActionType": "main.delegateTokensAction", - "Action": { - "Chain": "democ", - "From": "carol", - "To": "alice", - "Amount": 500000 - }, - "State": { - "democ": { - "ValBalances": 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, - "Proposals": null - } - } - }, - { - "ActionType": "main.submitParamChangeLegacyProposalAction", - "Action": { - "Chain": "democ", - "From": "alice", - "Deposit": 10000001, - "Subspace": "transfer", - "Key": "SendEnabled", - "Value": true - }, - "State": { - "democ": { - "ValBalances": { - "alice": 9889999998, - "bob": 9960000001 - }, - "ValPowers": null, - "RepresentativePowers": null, - "Params": null, - "Rewards": null, - "ConsumerChains": null, - "AssignedKeys": null, - "ProviderKeys": null, - "ConsumerChainQueueSizes": null, - "GlobalSlashQueueSize": null, - "RegisteredConsumerRewardDenoms": null, - "Proposals": { - "1": { - "RawProposal": { - "Deposit": 10000001, - "Status": "PROPOSAL_STATUS_VOTING_PERIOD", - "Subspace": "transfer", - "Key": "SendEnabled", - "Value": "true" - }, - "Type": "main.ParamsProposal" - } - } - } - } - }, - { - "ActionType": "main.voteGovProposalAction", - "Action": { - "Chain": "democ", - "From": [ - "alice", - "bob" - ], - "Vote": [ - "yes", - "no" - ], - "PropNumber": 1 - }, - "State": { - "democ": { - "ValBalances": { - "alice": 9889999998, - "bob": 9960000001 - }, - "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, - "Proposals": null - } - } - }, - { - "ActionType": "main.relayRewardPacketsToProviderAction", - "Action": { - "ConsumerChain": "democ", - "ProviderChain": "provi", - "Port": "transfer", - "Channel": 1 - }, - "State": { - "provi": { - "ValBalances": 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": [], - "Proposals": null - } - } - }, - { - "ActionType": "main.submitChangeRewardDenomsProposalAction", - "Action": { - "Denom": "ibc/3C3D7B3BE4ECC85A0E5B52A3AEC3B7DFC2AA9CA47C37821E57020D6807043BE9", - "Deposit": 10000001, - "From": "bob" - }, - "State": { - "provi": { - "ValBalances": null, - "ValPowers": null, - "RepresentativePowers": null, - "Params": null, - "Rewards": null, - "ConsumerChains": null, - "AssignedKeys": null, - "ProviderKeys": null, - "ConsumerChainQueueSizes": null, - "GlobalSlashQueueSize": null, - "RegisteredConsumerRewardDenoms": [], - "Proposals": null - } - } - }, - { - "ActionType": "main.voteGovProposalAction", - "Action": { - "Chain": "provi", - "From": [ - "alice", - "bob", - "carol" - ], - "Vote": [ - "yes", - "yes", - "yes" - ], - "PropNumber": 2 - }, - "State": { - "provi": { - "ValBalances": null, - "ValPowers": null, - "RepresentativePowers": null, - "Params": null, - "Rewards": null, - "ConsumerChains": null, - "AssignedKeys": null, - "ProviderKeys": null, - "ConsumerChainQueueSizes": null, - "GlobalSlashQueueSize": null, - "RegisteredConsumerRewardDenoms": [ - "ibc/3C3D7B3BE4ECC85A0E5B52A3AEC3B7DFC2AA9CA47C37821E57020D6807043BE9" - ], - "Proposals": null - } - } - }, - { - "ActionType": "main.relayRewardPacketsToProviderAction", - "Action": { - "ConsumerChain": "democ", - "ProviderChain": "provi", - "Port": "transfer", - "Channel": 1 - }, - "State": { - "provi": { - "ValBalances": 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, - "Proposals": null - } - } - }, - { - "ActionType": "main.downtimeSlashAction", - "Action": { - "Chain": "democ", - "Validator": "bob" - }, - "State": { - "democ": { - "ValBalances": 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, - "Proposals": null - }, - "provi": { - "ValBalances": 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, - "Proposals": null - } - } - }, - { - "ActionType": "main.relayPacketsAction", - "Action": { - "ChainA": "provi", - "ChainB": "democ", - "Port": "provider", - "Channel": 0 - }, - "State": { - "democ": { - "ValBalances": 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, - "Proposals": null - }, - "provi": { - "ValBalances": 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, - "Proposals": null - } - } - }, - { - "ActionType": "main.relayPacketsAction", - "Action": { - "ChainA": "provi", - "ChainB": "democ", - "Port": "provider", - "Channel": 0 - }, - "State": { - "democ": { - "ValBalances": 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, - "Proposals": null - } - } - }, - { - "ActionType": "main.unjailValidatorAction", - "Action": { - "Provider": "provi", - "Validator": "bob" - }, - "State": { - "democ": { - "ValBalances": 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, - "Proposals": null - }, - "provi": { - "ValBalances": 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, - "Proposals": null - } - } - }, - { - "ActionType": "main.relayPacketsAction", - "Action": { - "ChainA": "provi", - "ChainB": "democ", - "Port": "provider", - "Channel": 0 - }, - "State": { - "democ": { - "ValBalances": 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, - "Proposals": null - } - } - } -] \ No newline at end of file From 9eb0a1f5e3a6503fa18bd1aaede6757ce3878640 Mon Sep 17 00:00:00 2001 From: Philip Offtermatt Date: Wed, 20 Sep 2023 09:46:25 +0200 Subject: [PATCH 14/32] Revert unintentional change to .gitignore --- .gitignore | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 6fa72580f5..e83a69a504 100644 --- a/.gitignore +++ b/.gitignore @@ -7,4 +7,4 @@ docs/tla/states/ vendor/ build/ .vscode -.idea \ No newline at end of file +.idea From 2f961cf716afa27a77e3fb513e570c08b2d93238 Mon Sep 17 00:00:00 2001 From: Philip Offtermatt Date: Wed, 20 Sep 2023 09:49:03 +0200 Subject: [PATCH 15/32] Remove propType field from generator --- tests/e2e/action_rapid_test.go | 1 - 1 file changed, 1 deletion(-) diff --git a/tests/e2e/action_rapid_test.go b/tests/e2e/action_rapid_test.go index a59a0ba2aa..be8f90745f 100644 --- a/tests/e2e/action_rapid_test.go +++ b/tests/e2e/action_rapid_test.go @@ -218,7 +218,6 @@ func GetSubmitTextProposalActionGen() *rapid.Generator[submitTextProposalAction] Chain: GetChainIDGen().Draw(t, "Chain"), From: GetValidatorIDGen().Draw(t, "From"), Deposit: rapid.Uint().Draw(t, "Deposit"), - PropType: rapid.String().Draw(t, "PropType"), Title: rapid.String().Draw(t, "Title"), Description: rapid.String().Draw(t, "Description"), } From 760c67a938cfa6be49451681d2c68d8d9831d2c0 Mon Sep 17 00:00:00 2001 From: Philip Offtermatt Date: Wed, 20 Sep 2023 10:05:39 +0200 Subject: [PATCH 16/32] Add docstrings to action_rapid test and state_rapid_test to better explain what the files are doing --- tests/e2e/action_rapid_test.go | 7 +++++++ tests/e2e/state_rapid_test.go | 7 +++++++ 2 files changed, 14 insertions(+) diff --git a/tests/e2e/action_rapid_test.go b/tests/e2e/action_rapid_test.go index be8f90745f..4718dc9abc 100644 --- a/tests/e2e/action_rapid_test.go +++ b/tests/e2e/action_rapid_test.go @@ -11,6 +11,13 @@ import ( "pgregory.net/rapid" ) +// This file contains tests for serialization/deserialization of actions. +// The tests are written using the rapid testing library, which allows us to +// generate arbitrary actions and test that they can be serialized and +// deserialized without error. +// The generators for the various actions are defined in this file, and +// essentially tell rapid how to build these actions. + func TestActionMarshalling(t *testing.T) { rapid.Check(t, func(t *rapid.T) { action := GetActionGen().Draw(t, "Action") diff --git a/tests/e2e/state_rapid_test.go b/tests/e2e/state_rapid_test.go index f9ce7fcadb..86d4cfe880 100644 --- a/tests/e2e/state_rapid_test.go +++ b/tests/e2e/state_rapid_test.go @@ -7,6 +7,13 @@ import ( "pgregory.net/rapid" ) +// This file contains tests for serialization/deserialization of state. +// The tests are written using the rapid testing library, which allows us to +// generate arbitrary state structs and test that they can be serialized and +// deserialized without error. +// The generators for the various parts of the state are defined in this file, and +// essentially tell rapid how to build the state. + func TestChainStateMarshalling(t *testing.T) { rapid.Check(t, func(t *rapid.T) { chainState := GetChainStateGen().Draw(t, "ChainState") From dcd49a4474e7e31e21080aa7903a9c019957a971 Mon Sep 17 00:00:00 2001 From: Philip Offtermatt Date: Wed, 20 Sep 2023 14:41:15 +0200 Subject: [PATCH 17/32] bite -> byte --- tests/e2e/json_parser.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/e2e/json_parser.go b/tests/e2e/json_parser.go index 9dfcbb494b..3f85a23e30 100644 --- a/tests/e2e/json_parser.go +++ b/tests/e2e/json_parser.go @@ -17,7 +17,7 @@ type JSONParser struct{} var GlobalJSONParser = JSONParser{} func (parser JSONParser) ReadTraceFromFile(path string) ([]Step, error) { - // Open the JSON file and read into a bite array + // Open the JSON file and read into a byte array jsonData, err := os.ReadFile(filepath.Clean(path)) if err != nil { return nil, err From b04adb33803ede59ddf9e488fb583fe38948d00d Mon Sep 17 00:00:00 2001 From: Philip Offtermatt Date: Wed, 20 Sep 2023 14:45:25 +0200 Subject: [PATCH 18/32] Refactor: slashThrottleDequeue to slashThrottleDequeueAction --- tests/e2e/action_rapid_test.go | 8 ++++---- tests/e2e/actions.go | 8 ++++---- tests/e2e/json_utils.go | 2 +- tests/e2e/main.go | 2 +- tests/e2e/steps_downtime.go | 2 +- 5 files changed, 11 insertions(+), 11 deletions(-) diff --git a/tests/e2e/action_rapid_test.go b/tests/e2e/action_rapid_test.go index 4718dc9abc..5f679e42d6 100644 --- a/tests/e2e/action_rapid_test.go +++ b/tests/e2e/action_rapid_test.go @@ -84,7 +84,7 @@ func GetActionGen() *rapid.Generator[any] { GetRegisterRepresentativeActionGen().AsAny(), GetDoublesignSlashActionGen().AsAny(), GetAssignConsumerPubKeyActionGen().AsAny(), - GetSlashThrottleDequeueGen().AsAny(), + GetSlashThrottleDequeueActionGen().AsAny(), GetCreateIbcClientsActionGen().AsAny(), CreateCancelUnbondTokensActionGen().AsAny(), CreateLightClientEquivocationAttackActionGen().AsAny(), @@ -479,9 +479,9 @@ func GetAssignConsumerPubKeyActionGen() *rapid.Generator[assignConsumerPubKeyAct }) } -func GetSlashThrottleDequeueGen() *rapid.Generator[slashThrottleDequeue] { - return rapid.Custom(func(t *rapid.T) slashThrottleDequeue { - return slashThrottleDequeue{ +func GetSlashThrottleDequeueActionGen() *rapid.Generator[slashThrottleDequeueAction] { + return rapid.Custom(func(t *rapid.T) slashThrottleDequeueAction { + return slashThrottleDequeueAction{ Chain: GetChainIDGen().Draw(t, "Chain"), CurrentQueueSize: rapid.Int().Draw(t, "CurrentQueueSize"), NextQueueSize: rapid.Int().Draw(t, "NextQueueSize"), diff --git a/tests/e2e/actions.go b/tests/e2e/actions.go index 36e0c47dd2..408c9066fc 100644 --- a/tests/e2e/actions.go +++ b/tests/e2e/actions.go @@ -2045,8 +2045,8 @@ func (tr TestRun) assignConsumerPubKey(action assignConsumerPubKeyAction, verbos tr.waitBlocks(ChainID("provi"), 2, 30*time.Second) } -// slashThrottleDequeue polls slash queue sizes until nextQueueSize is achieved -type slashThrottleDequeue struct { +// slashThrottleDequeueAction polls slash queue sizes until nextQueueSize is achieved +type slashThrottleDequeueAction struct { Chain ChainID CurrentQueueSize int NextQueueSize int @@ -2055,7 +2055,7 @@ type slashThrottleDequeue struct { } func (tr TestRun) waitForSlashThrottleDequeue( - action slashThrottleDequeue, + action slashThrottleDequeueAction, verbose bool, ) { timeout := time.Now().Add(action.Timeout) @@ -2077,7 +2077,7 @@ func (tr TestRun) waitForSlashThrottleDequeue( } if time.Now().After(timeout) { - panic(fmt.Sprintf("\n\n\nwaitForSlashThrottleDequeuemethod has timed out after: %s\n\n", action.Timeout)) + panic(fmt.Sprintf("\n\n\nwaitForSlashThrottleDequeue method has timed out after: %s\n\n", action.Timeout)) } time.Sleep(500 * time.Millisecond) diff --git a/tests/e2e/json_utils.go b/tests/e2e/json_utils.go index 62e6882735..57d22f086e 100644 --- a/tests/e2e/json_utils.go +++ b/tests/e2e/json_utils.go @@ -205,7 +205,7 @@ func UnmarshalMapToActionType(rawAction json.RawMessage, actionTypeString string return a, nil } case "main.slashThrottleDequeue": - var a slashThrottleDequeue + var a slashThrottleDequeueAction err := json.Unmarshal(rawAction, &a) if err == nil { return a, nil diff --git a/tests/e2e/main.go b/tests/e2e/main.go index 0a376664a0..d24f42676a 100644 --- a/tests/e2e/main.go +++ b/tests/e2e/main.go @@ -254,7 +254,7 @@ func (tr *TestRun) runStep(step Step, verbose bool) { tr.registerRepresentative(action, verbose) case assignConsumerPubKeyAction: tr.assignConsumerPubKey(action, verbose) - case slashThrottleDequeue: + case slashThrottleDequeueAction: tr.waitForSlashThrottleDequeue(action, verbose) case startRelayerAction: tr.startRelayer(action, verbose) diff --git a/tests/e2e/steps_downtime.go b/tests/e2e/steps_downtime.go index 08054f9089..7b4152023b 100644 --- a/tests/e2e/steps_downtime.go +++ b/tests/e2e/steps_downtime.go @@ -381,7 +381,7 @@ func stepsThrottledDowntime(consumerName string) []Step { }, }, { - Action: slashThrottleDequeue{ + Action: slashThrottleDequeueAction{ Chain: ChainID(consumerName), CurrentQueueSize: 1, NextQueueSize: 0, From 4b4c76d024444206f115241818a5822bfe8278a3 Mon Sep 17 00:00:00 2001 From: Philip Offtermatt Date: Wed, 20 Sep 2023 17:18:48 +0200 Subject: [PATCH 19/32] action name -> action type --- tests/e2e/json_utils.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/e2e/json_utils.go b/tests/e2e/json_utils.go index 57d22f086e..3ac33b480d 100644 --- a/tests/e2e/json_utils.go +++ b/tests/e2e/json_utils.go @@ -204,7 +204,7 @@ func UnmarshalMapToActionType(rawAction json.RawMessage, actionTypeString string if err == nil { return a, nil } - case "main.slashThrottleDequeue": + case "main.slashThrottleDequeueAction": var a slashThrottleDequeueAction err := json.Unmarshal(rawAction, &a) if err == nil { @@ -259,7 +259,7 @@ func UnmarshalMapToActionType(rawAction json.RawMessage, actionTypeString string return a, nil } default: - return nil, fmt.Errorf("unknown action name: %s", actionTypeString) + return nil, fmt.Errorf("unknown action type: %s", actionTypeString) } return nil, err } From d1465053a4495a90af3a12c92842ecb2e3a5ec21 Mon Sep 17 00:00:00 2001 From: Philip Offtermatt Date: Wed, 20 Sep 2023 17:28:10 +0200 Subject: [PATCH 20/32] use method name as first word in docstring --- tests/e2e/json_utils.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/e2e/json_utils.go b/tests/e2e/json_utils.go index 3ac33b480d..8ef7a4918f 100644 --- a/tests/e2e/json_utils.go +++ b/tests/e2e/json_utils.go @@ -266,7 +266,7 @@ func UnmarshalMapToActionType(rawAction json.RawMessage, actionTypeString string // custom marshal and unmarshal functions for the chainstate that convert proposals to/from the auxiliary type with type info -// transform the ChainState into a ChainStateWithProposalTypes by adding type info to the proposals +// MarshalJSON transforms the ChainState into a ChainStateWithProposalTypes by adding type info to the proposals func (c ChainState) MarshalJSON() ([]byte, error) { type ProposalAndType struct { RawProposal interface{} @@ -311,7 +311,7 @@ func (c ChainState) MarshalJSON() ([]byte, error) { return json.Marshal(chainStateWithProposalTypes) } -// unmarshal the ChainStateWithProposalTypes into a ChainState by removing the type info from the proposals and getting back standard proposals +// UnmarshalJSON unmarshals the ChainStateWithProposalTypes into a ChainState by removing the type info from the proposals and getting back standard proposals func (c *ChainState) UnmarshalJSON(data []byte) error { type ProposalAndType struct { RawProposal json.RawMessage From 720962834ecb08ed3c124c8c4b1ce5dcb0cc8d5c Mon Sep 17 00:00:00 2001 From: Philip Offtermatt Date: Wed, 20 Sep 2023 17:29:15 +0200 Subject: [PATCH 21/32] Simply remove simply --- tests/e2e/json_writer.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/e2e/json_writer.go b/tests/e2e/json_writer.go index 97a01a47cd..72494a3444 100644 --- a/tests/e2e/json_writer.go +++ b/tests/e2e/json_writer.go @@ -10,7 +10,7 @@ type TraceWriter interface { WriteTraceToFile(filepath string, trace []Step) error } -// JSONWriter is a simple writer that simply marshals the array of Step objects. +// JSONWriter is a simple writer that marshals the array of Step objects. // To identify which type of action is being used, we add a field to the Step struct. type JSONWriter struct{} From b4e35e35127bb3db0af7f780c72e05c37642be67 Mon Sep 17 00:00:00 2001 From: Philip Offtermatt Date: Wed, 20 Sep 2023 17:30:43 +0200 Subject: [PATCH 22/32] Clarify that WriteTrace overrides --- tests/e2e/json_writer.go | 1 + 1 file changed, 1 insertion(+) diff --git a/tests/e2e/json_writer.go b/tests/e2e/json_writer.go index 72494a3444..73cd7ebf9f 100644 --- a/tests/e2e/json_writer.go +++ b/tests/e2e/json_writer.go @@ -7,6 +7,7 @@ import ( // TraceWriter is an interface for writers that write steps to files. type TraceWriter interface { + // WriteTraceToFile writes a given trace to a file, overwriting the file if it already exists. WriteTraceToFile(filepath string, trace []Step) error } From 55d2686593b33384b065937ed5ed9ee5304f0536 Mon Sep 17 00:00:00 2001 From: Philip Offtermatt Date: Wed, 20 Sep 2023 17:51:10 +0200 Subject: [PATCH 23/32] Remove outdated comments --- tests/e2e/json_writer.go | 3 --- 1 file changed, 3 deletions(-) diff --git a/tests/e2e/json_writer.go b/tests/e2e/json_writer.go index 73cd7ebf9f..681d3722d2 100644 --- a/tests/e2e/json_writer.go +++ b/tests/e2e/json_writer.go @@ -18,9 +18,6 @@ type JSONWriter struct{} var GlobalJSONWriter = JSONWriter{} func (writer JSONWriter) WriteTraceToFile(filepath string, trace []Step) error { - // collect missing action types, if any. this way, we can provide a more helpful error message. - - // workaround: we would keep a set, but go doesn't have sets. jsonobj, err := json.Marshal(trace) if err != nil { panic(err) From 5841fcefbe78c774694991bd9d548f16fc70c641 Mon Sep 17 00:00:00 2001 From: Philip Offtermatt Date: Wed, 20 Sep 2023 18:00:54 +0200 Subject: [PATCH 24/32] Add RegisteredConsumerRewardDenoms to rapid test --- tests/e2e/state_rapid_test.go | 30 +++++++++++++++++++----------- 1 file changed, 19 insertions(+), 11 deletions(-) diff --git a/tests/e2e/state_rapid_test.go b/tests/e2e/state_rapid_test.go index 86d4cfe880..6c82c2e7fb 100644 --- a/tests/e2e/state_rapid_test.go +++ b/tests/e2e/state_rapid_test.go @@ -47,23 +47,31 @@ func GetChainStateGen() *rapid.Generator[ChainState] { providerKeys := GetProviderKeysGen().Draw(t, "ProviderKeys") consumerChainQueueSizes := GetConsumerChainQueueSizesGen().Draw(t, "ConsumerChainQueueSizes") globalSlashQueueSize := rapid.Uint().Draw(t, "GlobalSlashQueueSize") + registeredConsumerRewardDenoms := GetRegisteredConsumerRewardDenomsGen().Draw(t, "RegisteredConsumerRewardDenoms") return ChainState{ - ValBalances: &valBalances, - Proposals: &proposals, - ValPowers: &valPowers, - RepresentativePowers: &representativePowers, - Params: ¶ms, - Rewards: &rewards, - ConsumerChains: &consumerChains, - AssignedKeys: &assignedKeys, - ProviderKeys: &providerKeys, - ConsumerChainQueueSizes: &consumerChainQueueSizes, - GlobalSlashQueueSize: &globalSlashQueueSize, + ValBalances: &valBalances, + Proposals: &proposals, + ValPowers: &valPowers, + RepresentativePowers: &representativePowers, + Params: ¶ms, + Rewards: &rewards, + ConsumerChains: &consumerChains, + AssignedKeys: &assignedKeys, + ProviderKeys: &providerKeys, + ConsumerChainQueueSizes: &consumerChainQueueSizes, + GlobalSlashQueueSize: &globalSlashQueueSize, + RegisteredConsumerRewardDenoms: ®isteredConsumerRewardDenoms, } }) } +func GetRegisteredConsumerRewardDenomsGen() *rapid.Generator[[]string] { + return rapid.Custom(func(t *rapid.T) []string { + return rapid.SliceOf(rapid.String()).Draw(t, "RegisteredConsumerRewardDenoms") + }) +} + func GetConsumerChainQueueSizesGen() *rapid.Generator[map[ChainID]uint] { return rapid.Custom(func(t *rapid.T) map[ChainID]uint { return rapid.MapOf(GetChainIDGen(), rapid.Uint()).Draw(t, "ConsumerChainQueueSizes") From 1168acab2db7aa8104ed7cc8d6b00493cb521fad Mon Sep 17 00:00:00 2001 From: Philip Offtermatt Date: Wed, 20 Sep 2023 18:05:34 +0200 Subject: [PATCH 25/32] Add gen for submitChangeRewardDenomsProposalAction --- tests/e2e/action_rapid_test.go | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/tests/e2e/action_rapid_test.go b/tests/e2e/action_rapid_test.go index 5f679e42d6..005f52610d 100644 --- a/tests/e2e/action_rapid_test.go +++ b/tests/e2e/action_rapid_test.go @@ -93,6 +93,16 @@ func GetActionGen() *rapid.Generator[any] { ) } +func CreateSubmitChangeRewardDenomsProposalActionGen() *rapid.Generator[submitChangeRewardDenomsProposalAction] { + return rapid.Custom(func(t *rapid.T) submitChangeRewardDenomsProposalAction { + return submitChangeRewardDenomsProposalAction{ + From: GetValidatorIDGen().Draw(t, "From"), + Deposit: rapid.Uint().Draw(t, "Deposit"), + Denom: rapid.String().Draw(t, "Denom"), + } + }) +} + func CreateLightClientEquivocationAttackActionGen() *rapid.Generator[lightClientEquivocationAttackAction] { return rapid.Custom(func(t *rapid.T) lightClientEquivocationAttackAction { return lightClientEquivocationAttackAction{ From 72729a8313401c6d22f5c22b6be8ff9fd17b75a0 Mon Sep 17 00:00:00 2001 From: Philip Offtermatt Date: Wed, 20 Sep 2023 18:25:10 +0200 Subject: [PATCH 26/32] Remove startChain steps --- tests/e2e/trace_handlers_test.go | 1 - 1 file changed, 1 deletion(-) diff --git a/tests/e2e/trace_handlers_test.go b/tests/e2e/trace_handlers_test.go index 834b0a07c7..9f34b7a761 100644 --- a/tests/e2e/trace_handlers_test.go +++ b/tests/e2e/trace_handlers_test.go @@ -94,7 +94,6 @@ func TestWriteExamples(t *testing.T) { tests := map[string]struct { trace []Step }{ - "start_provider_chain": {stepStartProviderChain()}, "happyPath": {happyPathSteps}, "democracy": {democracySteps}, "slashThrottle": {slashThrottleSteps}, From 90163279ac89c3a1c03045c40fea8dad2ec2fabb Mon Sep 17 00:00:00 2001 From: Philip Offtermatt Date: Wed, 20 Sep 2023 18:26:07 +0200 Subject: [PATCH 27/32] Marshal step files with indent --- tests/e2e/json_writer.go | 2 +- .../e2e/tracehandler_testdata/changeover.json | 604 ++++- .../e2e/tracehandler_testdata/democracy.json | 936 ++++++- .../democracyRewardsSteps.json | 936 ++++++- .../e2e/tracehandler_testdata/happyPath.json | 2008 +++++++++++++- .../multipleConsumers.json | 2382 ++++++++++++++++- .../e2e/tracehandler_testdata/shorthappy.json | 1579 ++++++++++- .../tracehandler_testdata/slashThrottle.json | 808 +++++- .../start_provider_chain.json | 1 - 9 files changed, 9247 insertions(+), 9 deletions(-) delete mode 100644 tests/e2e/tracehandler_testdata/start_provider_chain.json diff --git a/tests/e2e/json_writer.go b/tests/e2e/json_writer.go index 681d3722d2..ea56d779dd 100644 --- a/tests/e2e/json_writer.go +++ b/tests/e2e/json_writer.go @@ -18,7 +18,7 @@ type JSONWriter struct{} var GlobalJSONWriter = JSONWriter{} func (writer JSONWriter) WriteTraceToFile(filepath string, trace []Step) error { - jsonobj, err := json.Marshal(trace) + jsonobj, err := json.MarshalIndent(trace, "", " ") if err != nil { panic(err) } diff --git a/tests/e2e/tracehandler_testdata/changeover.json b/tests/e2e/tracehandler_testdata/changeover.json index 83cf264bfc..42613462f8 100644 --- a/tests/e2e/tracehandler_testdata/changeover.json +++ b/tests/e2e/tracehandler_testdata/changeover.json @@ -1 +1,603 @@ -[{"ActionType":"main.StartSovereignChainAction","Action":{"Chain":"sover","Validators":[{"Id":"alice","Allocation":10000000000,"Stake":500000000}],"GenesisChanges":""},"State":{"sover":{"ValBalances":{"alice":9500000000},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.delegateTokensAction","Action":{"Chain":"sover","From":"alice","To":"alice","Amount":11000000},"State":{"sover":{"ValBalances":null,"ValPowers":{"alice":511,"bob":0,"carol":0},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"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},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.createIbcClientsAction","Action":{"ChainA":"sover","ChainB":"provi"},"State":{}},{"ActionType":"main.addIbcChannelAction","Action":{"ChainA":"sover","ChainB":"provi","ConnectionA":0,"PortA":"transfer","PortB":"transfer","Order":"unordered","Version":"ics20-1"},"State":{}},{"ActionType":"main.LegacyUpgradeProposalAction","Action":{"ChainID":"sover","UpgradeTitle":"sovereign-changeover","Proposer":"alice","UpgradeHeight":110},"State":{"sover":{"ValBalances":null,"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"1":{"RawProposal":{"Title":"sovereign-changeover","Description":"","UpgradeHeight":110,"Type":"/cosmos.upgrade.v1beta1.SoftwareUpgradeProposal","Deposit":10000000,"Status":"PROPOSAL_STATUS_VOTING_PERIOD"},"Type":"main.UpgradeProposal"}}}}},{"ActionType":"main.voteGovProposalAction","Action":{"Chain":"sover","From":["alice"],"Vote":["yes"],"PropNumber":1},"State":{"sover":{"ValBalances":null,"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"1":{"RawProposal":{"Title":"sovereign-changeover","Description":"","UpgradeHeight":110,"Type":"/cosmos.upgrade.v1beta1.SoftwareUpgradeProposal","Deposit":10000000,"Status":"PROPOSAL_STATUS_PASSED"},"Type":"main.UpgradeProposal"}}}}},{"ActionType":"main.waitUntilBlockAction","Action":{"Block":110,"Chain":"sover"},"State":{}},{"ActionType":"main.submitConsumerAdditionProposalAction","Action":{"PreCCV":true,"Chain":"provi","From":"alice","Deposit":10000001,"ConsumerChain":"sover","SpawnTime":0,"InitialHeight":{"revision_height":111},"DistributionChannel":"channel-0"},"State":{"provi":{"ValBalances":{"alice":9489999999,"bob":9500000000},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"1":{"RawProposal":{"Deposit":10000001,"Chain":"sover","SpawnTime":0,"InitialHeight":{"revision_height":111},"Status":"PROPOSAL_STATUS_VOTING_PERIOD"},"Type":"main.ConsumerAdditionProposal"}}}}},{"ActionType":"main.voteGovProposalAction","Action":{"Chain":"provi","From":["alice","bob","carol"],"Vote":["yes","yes","yes"],"PropNumber":1},"State":{"provi":{"ValBalances":{"alice":9500000000,"bob":9500000000},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"1":{"RawProposal":{"Deposit":10000001,"Chain":"sover","SpawnTime":0,"InitialHeight":{"revision_height":111},"Status":"PROPOSAL_STATUS_PASSED"},"Type":"main.ConsumerAdditionProposal"}}}}},{"ActionType":"main.ChangeoverChainAction","Action":{"SovereignChain":"sover","ProviderChain":"provi","Validators":[{"Id":"alice","Allocation":10000000000,"Stake":500000000},{"Id":"bob","Allocation":10000000000,"Stake":500000000},{"Id":"carol","Allocation":10000000000,"Stake":500000000}],"GenesisChanges":".app_state.ccvconsumer.params.soft_opt_out_threshold = \"0.05\""},"State":{"provi":{"ValBalances":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,"Proposals":null},"sover":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.addIbcConnectionAction","Action":{"ChainA":"sover","ChainB":"provi","ClientA":1,"ClientB":1},"State":{}},{"ActionType":"main.addIbcChannelAction","Action":{"ChainA":"sover","ChainB":"provi","ConnectionA":1,"PortA":"consumer","PortB":"provider","Order":"ordered","Version":""},"State":{}},{"ActionType":"main.SendTokensAction","Action":{"Chain":"sover","From":"alice","To":"bob","Amount":100},"State":{"sover":{"ValBalances":{"bob":0},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.delegateTokensAction","Action":{"Chain":"provi","From":"alice","To":"alice","Amount":11000000},"State":{"provi":{"ValBalances":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,"Proposals":null},"sover":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"sover","Port":"provider","Channel":1},"State":{"sover":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.SendTokensAction","Action":{"Chain":"sover","From":"alice","To":"bob","Amount":100},"State":{"sover":{"ValBalances":{"bob":100},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.unbondTokensAction","Action":{"Chain":"provi","Sender":"alice","UnbondFrom":"alice","Amount":1000000},"State":{"provi":{"ValBalances":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,"Proposals":null},"sover":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"sover","Port":"provider","Channel":1},"State":{"sover":{"ValBalances":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,"Proposals":null}}}] \ No newline at end of file +[ + { + "ActionType": "main.StartSovereignChainAction", + "Action": { + "Chain": "sover", + "Validators": [ + { + "Id": "alice", + "Allocation": 10000000000, + "Stake": 500000000 + } + ], + "GenesisChanges": "" + }, + "State": { + "sover": { + "ValBalances": { + "alice": 9500000000 + }, + "ValPowers": null, + "RepresentativePowers": null, + "Params": null, + "Rewards": null, + "ConsumerChains": null, + "AssignedKeys": null, + "ProviderKeys": null, + "ConsumerChainQueueSizes": null, + "GlobalSlashQueueSize": null, + "RegisteredConsumerRewardDenoms": null, + "Proposals": null + } + } + }, + { + "ActionType": "main.delegateTokensAction", + "Action": { + "Chain": "sover", + "From": "alice", + "To": "alice", + "Amount": 11000000 + }, + "State": { + "sover": { + "ValBalances": null, + "ValPowers": { + "alice": 511, + "bob": 0, + "carol": 0 + }, + "RepresentativePowers": null, + "Params": null, + "Rewards": null, + "ConsumerChains": null, + "AssignedKeys": null, + "ProviderKeys": null, + "ConsumerChainQueueSizes": null, + "GlobalSlashQueueSize": null, + "RegisteredConsumerRewardDenoms": null, + "Proposals": null + } + } + }, + { + "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 + }, + "ValPowers": null, + "RepresentativePowers": null, + "Params": null, + "Rewards": null, + "ConsumerChains": null, + "AssignedKeys": null, + "ProviderKeys": null, + "ConsumerChainQueueSizes": null, + "GlobalSlashQueueSize": null, + "RegisteredConsumerRewardDenoms": null, + "Proposals": null + } + } + }, + { + "ActionType": "main.createIbcClientsAction", + "Action": { + "ChainA": "sover", + "ChainB": "provi" + }, + "State": {} + }, + { + "ActionType": "main.addIbcChannelAction", + "Action": { + "ChainA": "sover", + "ChainB": "provi", + "ConnectionA": 0, + "PortA": "transfer", + "PortB": "transfer", + "Order": "unordered", + "Version": "ics20-1" + }, + "State": {} + }, + { + "ActionType": "main.LegacyUpgradeProposalAction", + "Action": { + "ChainID": "sover", + "UpgradeTitle": "sovereign-changeover", + "Proposer": "alice", + "UpgradeHeight": 110 + }, + "State": { + "sover": { + "ValBalances": null, + "ValPowers": null, + "RepresentativePowers": null, + "Params": null, + "Rewards": null, + "ConsumerChains": null, + "AssignedKeys": null, + "ProviderKeys": null, + "ConsumerChainQueueSizes": null, + "GlobalSlashQueueSize": null, + "RegisteredConsumerRewardDenoms": null, + "Proposals": { + "1": { + "RawProposal": { + "Title": "sovereign-changeover", + "Description": "", + "UpgradeHeight": 110, + "Type": "/cosmos.upgrade.v1beta1.SoftwareUpgradeProposal", + "Deposit": 10000000, + "Status": "PROPOSAL_STATUS_VOTING_PERIOD" + }, + "Type": "main.UpgradeProposal" + } + } + } + } + }, + { + "ActionType": "main.voteGovProposalAction", + "Action": { + "Chain": "sover", + "From": [ + "alice" + ], + "Vote": [ + "yes" + ], + "PropNumber": 1 + }, + "State": { + "sover": { + "ValBalances": null, + "ValPowers": null, + "RepresentativePowers": null, + "Params": null, + "Rewards": null, + "ConsumerChains": null, + "AssignedKeys": null, + "ProviderKeys": null, + "ConsumerChainQueueSizes": null, + "GlobalSlashQueueSize": null, + "RegisteredConsumerRewardDenoms": null, + "Proposals": { + "1": { + "RawProposal": { + "Title": "sovereign-changeover", + "Description": "", + "UpgradeHeight": 110, + "Type": "/cosmos.upgrade.v1beta1.SoftwareUpgradeProposal", + "Deposit": 10000000, + "Status": "PROPOSAL_STATUS_PASSED" + }, + "Type": "main.UpgradeProposal" + } + } + } + } + }, + { + "ActionType": "main.waitUntilBlockAction", + "Action": { + "Block": 110, + "Chain": "sover" + }, + "State": {} + }, + { + "ActionType": "main.submitConsumerAdditionProposalAction", + "Action": { + "PreCCV": true, + "Chain": "provi", + "From": "alice", + "Deposit": 10000001, + "ConsumerChain": "sover", + "SpawnTime": 0, + "InitialHeight": { + "revision_height": 111 + }, + "DistributionChannel": "channel-0" + }, + "State": { + "provi": { + "ValBalances": { + "alice": 9489999999, + "bob": 9500000000 + }, + "ValPowers": null, + "RepresentativePowers": null, + "Params": null, + "Rewards": null, + "ConsumerChains": null, + "AssignedKeys": null, + "ProviderKeys": null, + "ConsumerChainQueueSizes": null, + "GlobalSlashQueueSize": null, + "RegisteredConsumerRewardDenoms": null, + "Proposals": { + "1": { + "RawProposal": { + "Deposit": 10000001, + "Chain": "sover", + "SpawnTime": 0, + "InitialHeight": { + "revision_height": 111 + }, + "Status": "PROPOSAL_STATUS_VOTING_PERIOD" + }, + "Type": "main.ConsumerAdditionProposal" + } + } + } + } + }, + { + "ActionType": "main.voteGovProposalAction", + "Action": { + "Chain": "provi", + "From": [ + "alice", + "bob", + "carol" + ], + "Vote": [ + "yes", + "yes", + "yes" + ], + "PropNumber": 1 + }, + "State": { + "provi": { + "ValBalances": { + "alice": 9500000000, + "bob": 9500000000 + }, + "ValPowers": null, + "RepresentativePowers": null, + "Params": null, + "Rewards": null, + "ConsumerChains": null, + "AssignedKeys": null, + "ProviderKeys": null, + "ConsumerChainQueueSizes": null, + "GlobalSlashQueueSize": null, + "RegisteredConsumerRewardDenoms": null, + "Proposals": { + "1": { + "RawProposal": { + "Deposit": 10000001, + "Chain": "sover", + "SpawnTime": 0, + "InitialHeight": { + "revision_height": 111 + }, + "Status": "PROPOSAL_STATUS_PASSED" + }, + "Type": "main.ConsumerAdditionProposal" + } + } + } + } + }, + { + "ActionType": "main.ChangeoverChainAction", + "Action": { + "SovereignChain": "sover", + "ProviderChain": "provi", + "Validators": [ + { + "Id": "alice", + "Allocation": 10000000000, + "Stake": 500000000 + }, + { + "Id": "bob", + "Allocation": 10000000000, + "Stake": 500000000 + }, + { + "Id": "carol", + "Allocation": 10000000000, + "Stake": 500000000 + } + ], + "GenesisChanges": ".app_state.ccvconsumer.params.soft_opt_out_threshold = \"0.05\"" + }, + "State": { + "provi": { + "ValBalances": 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, + "Proposals": null + }, + "sover": { + "ValBalances": 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, + "Proposals": null + } + } + }, + { + "ActionType": "main.addIbcConnectionAction", + "Action": { + "ChainA": "sover", + "ChainB": "provi", + "ClientA": 1, + "ClientB": 1 + }, + "State": {} + }, + { + "ActionType": "main.addIbcChannelAction", + "Action": { + "ChainA": "sover", + "ChainB": "provi", + "ConnectionA": 1, + "PortA": "consumer", + "PortB": "provider", + "Order": "ordered", + "Version": "" + }, + "State": {} + }, + { + "ActionType": "main.SendTokensAction", + "Action": { + "Chain": "sover", + "From": "alice", + "To": "bob", + "Amount": 100 + }, + "State": { + "sover": { + "ValBalances": { + "bob": 0 + }, + "ValPowers": null, + "RepresentativePowers": null, + "Params": null, + "Rewards": null, + "ConsumerChains": null, + "AssignedKeys": null, + "ProviderKeys": null, + "ConsumerChainQueueSizes": null, + "GlobalSlashQueueSize": null, + "RegisteredConsumerRewardDenoms": null, + "Proposals": null + } + } + }, + { + "ActionType": "main.delegateTokensAction", + "Action": { + "Chain": "provi", + "From": "alice", + "To": "alice", + "Amount": 11000000 + }, + "State": { + "provi": { + "ValBalances": 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, + "Proposals": null + }, + "sover": { + "ValBalances": 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, + "Proposals": null + } + } + }, + { + "ActionType": "main.relayPacketsAction", + "Action": { + "ChainA": "provi", + "ChainB": "sover", + "Port": "provider", + "Channel": 1 + }, + "State": { + "sover": { + "ValBalances": 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, + "Proposals": null + } + } + }, + { + "ActionType": "main.SendTokensAction", + "Action": { + "Chain": "sover", + "From": "alice", + "To": "bob", + "Amount": 100 + }, + "State": { + "sover": { + "ValBalances": { + "bob": 100 + }, + "ValPowers": null, + "RepresentativePowers": null, + "Params": null, + "Rewards": null, + "ConsumerChains": null, + "AssignedKeys": null, + "ProviderKeys": null, + "ConsumerChainQueueSizes": null, + "GlobalSlashQueueSize": null, + "RegisteredConsumerRewardDenoms": null, + "Proposals": null + } + } + }, + { + "ActionType": "main.unbondTokensAction", + "Action": { + "Chain": "provi", + "Sender": "alice", + "UnbondFrom": "alice", + "Amount": 1000000 + }, + "State": { + "provi": { + "ValBalances": 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, + "Proposals": null + }, + "sover": { + "ValBalances": 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, + "Proposals": null + } + } + }, + { + "ActionType": "main.relayPacketsAction", + "Action": { + "ChainA": "provi", + "ChainB": "sover", + "Port": "provider", + "Channel": 1 + }, + "State": { + "sover": { + "ValBalances": 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, + "Proposals": null + } + } + } +] \ No newline at end of file diff --git a/tests/e2e/tracehandler_testdata/democracy.json b/tests/e2e/tracehandler_testdata/democracy.json index 62f242418a..706eb944f5 100644 --- a/tests/e2e/tracehandler_testdata/democracy.json +++ b/tests/e2e/tracehandler_testdata/democracy.json @@ -1 +1,935 @@ -[{"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},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.submitConsumerAdditionProposalAction","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},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"1":{"RawProposal":{"Deposit":10000001,"Chain":"democ","SpawnTime":0,"InitialHeight":{"revision_height":1},"Status":"PROPOSAL_STATUS_VOTING_PERIOD"},"Type":"main.ConsumerAdditionProposal"}}}}},{"ActionType":"main.assignConsumerPubKeyAction","Action":{"Chain":"democ","Validator":"carol","ConsumerPubkey":"{\"@type\":\"/cosmos.crypto.ed25519.PubKey\",\"key\":\"Ui5Gf1+mtWUdH8u3xlmzdKID+F3PK0sfXZ73GZ6q6is=\"}","ReconfigureNode":false,"ExpectError":false,"ExpectedError":""},"State":{"democ":{"ValBalances":null,"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":{"carol":"cosmosvalcons1kswr5sq599365kcjmhgufevfps9njf43e4lwdk"},"ProviderKeys":{"carol":"cosmosvalcons1ezyrq65s3gshhx5585w6mpusq3xsj3ayzf4uv6"},"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":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,"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":{"bob":"","carol":"cosmosvalcons1kswr5sq599365kcjmhgufevfps9njf43e4lwdk"},"ProviderKeys":{"carol":"cosmosvalcons1ezyrq65s3gshhx5585w6mpusq3xsj3ayzf4uv6"},"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.voteGovProposalAction","Action":{"Chain":"provi","From":["alice","bob","carol"],"Vote":["yes","yes","yes"],"PropNumber":1},"State":{"provi":{"ValBalances":{"alice":9500000000,"bob":9500000000},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"1":{"RawProposal":{"Deposit":10000001,"Chain":"democ","SpawnTime":0,"InitialHeight":{"revision_height":1},"Status":"PROPOSAL_STATUS_PASSED"},"Type":"main.ConsumerAdditionProposal"}}}}},{"ActionType":"main.startConsumerChainAction","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},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null},"provi":{"ValBalances":{"alice":9500000000,"bob":9500000000,"carol":9500000000},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.addIbcConnectionAction","Action":{"ChainA":"democ","ChainB":"provi","ClientA":0,"ClientB":0},"State":{}},{"ActionType":"main.addIbcChannelAction","Action":{"ChainA":"democ","ChainB":"provi","ConnectionA":0,"PortA":"consumer","PortB":"provider","Order":"ordered","Version":""},"State":{}},{"ActionType":"main.transferChannelCompleteAction","Action":{"ChainA":"democ","ChainB":"provi","ConnectionA":0,"PortA":"transfer","PortB":"transfer","Order":"unordered","ChannelA":1,"ChannelB":1},"State":{}},{"ActionType":"main.delegateTokensAction","Action":{"Chain":"provi","From":"alice","To":"alice","Amount":11000000},"State":{"democ":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.SendTokensAction","Action":{"Chain":"democ","From":"alice","To":"bob","Amount":1},"State":{"democ":{"ValBalances":{"alice":10000000000,"bob":10000000000},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"democ","Port":"provider","Channel":0},"State":{"democ":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.SendTokensAction","Action":{"Chain":"democ","From":"alice","To":"bob","Amount":1},"State":{"democ":{"ValBalances":{"alice":9999999999,"bob":10000000001},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.registerRepresentativeAction","Action":{"Chain":"democ","Representatives":["alice","bob"],"Stakes":[100000000,40000000]},"State":{"democ":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.delegateTokensAction","Action":{"Chain":"democ","From":"carol","To":"alice","Amount":500000},"State":{"democ":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.submitParamChangeLegacyProposalAction","Action":{"Chain":"democ","From":"alice","Deposit":10000001,"Subspace":"transfer","Key":"SendEnabled","Value":true},"State":{"democ":{"ValBalances":{"alice":9889999998,"bob":9960000001},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"1":{"RawProposal":{"Deposit":10000001,"Status":"PROPOSAL_STATUS_VOTING_PERIOD","Subspace":"transfer","Key":"SendEnabled","Value":"true"},"Type":"main.ParamsProposal"}}}}},{"ActionType":"main.voteGovProposalAction","Action":{"Chain":"democ","From":["alice","bob"],"Vote":["yes","no"],"PropNumber":1},"State":{"democ":{"ValBalances":{"alice":9889999998,"bob":9960000001},"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,"Proposals":null}}},{"ActionType":"main.relayRewardPacketsToProviderAction","Action":{"ConsumerChain":"democ","ProviderChain":"provi","Port":"transfer","Channel":1},"State":{"provi":{"ValBalances":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":[],"Proposals":null}}},{"ActionType":"main.submitChangeRewardDenomsProposalAction","Action":{"Denom":"ibc/3C3D7B3BE4ECC85A0E5B52A3AEC3B7DFC2AA9CA47C37821E57020D6807043BE9","Deposit":10000001,"From":"bob"},"State":{"provi":{"ValBalances":null,"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":[],"Proposals":null}}},{"ActionType":"main.voteGovProposalAction","Action":{"Chain":"provi","From":["alice","bob","carol"],"Vote":["yes","yes","yes"],"PropNumber":2},"State":{"provi":{"ValBalances":null,"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":["ibc/3C3D7B3BE4ECC85A0E5B52A3AEC3B7DFC2AA9CA47C37821E57020D6807043BE9"],"Proposals":null}}},{"ActionType":"main.relayRewardPacketsToProviderAction","Action":{"ConsumerChain":"democ","ProviderChain":"provi","Port":"transfer","Channel":1},"State":{"provi":{"ValBalances":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":null,"Proposals":null}}},{"ActionType":"main.downtimeSlashAction","Action":{"Chain":"democ","Validator":"bob"},"State":{"democ":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"democ","Port":"provider","Channel":0},"State":{"democ":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"democ","Port":"provider","Channel":0},"State":{"democ":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.unjailValidatorAction","Action":{"Provider":"provi","Validator":"bob"},"State":{"democ":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"democ","Port":"provider","Channel":0},"State":{"democ":{"ValBalances":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,"Proposals":null}}}] \ 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 + }, + "ValPowers": null, + "RepresentativePowers": null, + "Params": null, + "Rewards": null, + "ConsumerChains": null, + "AssignedKeys": null, + "ProviderKeys": null, + "ConsumerChainQueueSizes": null, + "GlobalSlashQueueSize": null, + "RegisteredConsumerRewardDenoms": null, + "Proposals": null + } + } + }, + { + "ActionType": "main.submitConsumerAdditionProposalAction", + "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 + }, + "ValPowers": null, + "RepresentativePowers": null, + "Params": null, + "Rewards": null, + "ConsumerChains": null, + "AssignedKeys": null, + "ProviderKeys": null, + "ConsumerChainQueueSizes": null, + "GlobalSlashQueueSize": null, + "RegisteredConsumerRewardDenoms": null, + "Proposals": { + "1": { + "RawProposal": { + "Deposit": 10000001, + "Chain": "democ", + "SpawnTime": 0, + "InitialHeight": { + "revision_height": 1 + }, + "Status": "PROPOSAL_STATUS_VOTING_PERIOD" + }, + "Type": "main.ConsumerAdditionProposal" + } + } + } + } + }, + { + "ActionType": "main.assignConsumerPubKeyAction", + "Action": { + "Chain": "democ", + "Validator": "carol", + "ConsumerPubkey": "{\"@type\":\"/cosmos.crypto.ed25519.PubKey\",\"key\":\"Ui5Gf1+mtWUdH8u3xlmzdKID+F3PK0sfXZ73GZ6q6is=\"}", + "ReconfigureNode": false, + "ExpectError": false, + "ExpectedError": "" + }, + "State": { + "democ": { + "ValBalances": null, + "ValPowers": null, + "RepresentativePowers": null, + "Params": null, + "Rewards": null, + "ConsumerChains": null, + "AssignedKeys": { + "carol": "cosmosvalcons1kswr5sq599365kcjmhgufevfps9njf43e4lwdk" + }, + "ProviderKeys": { + "carol": "cosmosvalcons1ezyrq65s3gshhx5585w6mpusq3xsj3ayzf4uv6" + }, + "ConsumerChainQueueSizes": null, + "GlobalSlashQueueSize": null, + "RegisteredConsumerRewardDenoms": null, + "Proposals": 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, + "ValPowers": null, + "RepresentativePowers": null, + "Params": null, + "Rewards": null, + "ConsumerChains": null, + "AssignedKeys": { + "bob": "", + "carol": "cosmosvalcons1kswr5sq599365kcjmhgufevfps9njf43e4lwdk" + }, + "ProviderKeys": { + "carol": "cosmosvalcons1ezyrq65s3gshhx5585w6mpusq3xsj3ayzf4uv6" + }, + "ConsumerChainQueueSizes": null, + "GlobalSlashQueueSize": null, + "RegisteredConsumerRewardDenoms": null, + "Proposals": null + } + } + }, + { + "ActionType": "main.voteGovProposalAction", + "Action": { + "Chain": "provi", + "From": [ + "alice", + "bob", + "carol" + ], + "Vote": [ + "yes", + "yes", + "yes" + ], + "PropNumber": 1 + }, + "State": { + "provi": { + "ValBalances": { + "alice": 9500000000, + "bob": 9500000000 + }, + "ValPowers": null, + "RepresentativePowers": null, + "Params": null, + "Rewards": null, + "ConsumerChains": null, + "AssignedKeys": null, + "ProviderKeys": null, + "ConsumerChainQueueSizes": null, + "GlobalSlashQueueSize": null, + "RegisteredConsumerRewardDenoms": null, + "Proposals": { + "1": { + "RawProposal": { + "Deposit": 10000001, + "Chain": "democ", + "SpawnTime": 0, + "InitialHeight": { + "revision_height": 1 + }, + "Status": "PROPOSAL_STATUS_PASSED" + }, + "Type": "main.ConsumerAdditionProposal" + } + } + } + } + }, + { + "ActionType": "main.startConsumerChainAction", + "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 + }, + "ValPowers": null, + "RepresentativePowers": null, + "Params": null, + "Rewards": null, + "ConsumerChains": null, + "AssignedKeys": null, + "ProviderKeys": null, + "ConsumerChainQueueSizes": null, + "GlobalSlashQueueSize": null, + "RegisteredConsumerRewardDenoms": null, + "Proposals": null + }, + "provi": { + "ValBalances": { + "alice": 9500000000, + "bob": 9500000000, + "carol": 9500000000 + }, + "ValPowers": null, + "RepresentativePowers": null, + "Params": null, + "Rewards": null, + "ConsumerChains": null, + "AssignedKeys": null, + "ProviderKeys": null, + "ConsumerChainQueueSizes": null, + "GlobalSlashQueueSize": null, + "RegisteredConsumerRewardDenoms": null, + "Proposals": null + } + } + }, + { + "ActionType": "main.addIbcConnectionAction", + "Action": { + "ChainA": "democ", + "ChainB": "provi", + "ClientA": 0, + "ClientB": 0 + }, + "State": {} + }, + { + "ActionType": "main.addIbcChannelAction", + "Action": { + "ChainA": "democ", + "ChainB": "provi", + "ConnectionA": 0, + "PortA": "consumer", + "PortB": "provider", + "Order": "ordered", + "Version": "" + }, + "State": {} + }, + { + "ActionType": "main.transferChannelCompleteAction", + "Action": { + "ChainA": "democ", + "ChainB": "provi", + "ConnectionA": 0, + "PortA": "transfer", + "PortB": "transfer", + "Order": "unordered", + "ChannelA": 1, + "ChannelB": 1 + }, + "State": {} + }, + { + "ActionType": "main.delegateTokensAction", + "Action": { + "Chain": "provi", + "From": "alice", + "To": "alice", + "Amount": 11000000 + }, + "State": { + "democ": { + "ValBalances": 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, + "Proposals": null + }, + "provi": { + "ValBalances": 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, + "Proposals": null + } + } + }, + { + "ActionType": "main.SendTokensAction", + "Action": { + "Chain": "democ", + "From": "alice", + "To": "bob", + "Amount": 1 + }, + "State": { + "democ": { + "ValBalances": { + "alice": 10000000000, + "bob": 10000000000 + }, + "ValPowers": null, + "RepresentativePowers": null, + "Params": null, + "Rewards": null, + "ConsumerChains": null, + "AssignedKeys": null, + "ProviderKeys": null, + "ConsumerChainQueueSizes": null, + "GlobalSlashQueueSize": null, + "RegisteredConsumerRewardDenoms": null, + "Proposals": null + } + } + }, + { + "ActionType": "main.relayPacketsAction", + "Action": { + "ChainA": "provi", + "ChainB": "democ", + "Port": "provider", + "Channel": 0 + }, + "State": { + "democ": { + "ValBalances": 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, + "Proposals": null + } + } + }, + { + "ActionType": "main.SendTokensAction", + "Action": { + "Chain": "democ", + "From": "alice", + "To": "bob", + "Amount": 1 + }, + "State": { + "democ": { + "ValBalances": { + "alice": 9999999999, + "bob": 10000000001 + }, + "ValPowers": null, + "RepresentativePowers": null, + "Params": null, + "Rewards": null, + "ConsumerChains": null, + "AssignedKeys": null, + "ProviderKeys": null, + "ConsumerChainQueueSizes": null, + "GlobalSlashQueueSize": null, + "RegisteredConsumerRewardDenoms": null, + "Proposals": null + } + } + }, + { + "ActionType": "main.registerRepresentativeAction", + "Action": { + "Chain": "democ", + "Representatives": [ + "alice", + "bob" + ], + "Stakes": [ + 100000000, + 40000000 + ] + }, + "State": { + "democ": { + "ValBalances": 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, + "Proposals": null + } + } + }, + { + "ActionType": "main.delegateTokensAction", + "Action": { + "Chain": "democ", + "From": "carol", + "To": "alice", + "Amount": 500000 + }, + "State": { + "democ": { + "ValBalances": 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, + "Proposals": null + } + } + }, + { + "ActionType": "main.submitParamChangeLegacyProposalAction", + "Action": { + "Chain": "democ", + "From": "alice", + "Deposit": 10000001, + "Subspace": "transfer", + "Key": "SendEnabled", + "Value": true + }, + "State": { + "democ": { + "ValBalances": { + "alice": 9889999998, + "bob": 9960000001 + }, + "ValPowers": null, + "RepresentativePowers": null, + "Params": null, + "Rewards": null, + "ConsumerChains": null, + "AssignedKeys": null, + "ProviderKeys": null, + "ConsumerChainQueueSizes": null, + "GlobalSlashQueueSize": null, + "RegisteredConsumerRewardDenoms": null, + "Proposals": { + "1": { + "RawProposal": { + "Deposit": 10000001, + "Status": "PROPOSAL_STATUS_VOTING_PERIOD", + "Subspace": "transfer", + "Key": "SendEnabled", + "Value": "true" + }, + "Type": "main.ParamsProposal" + } + } + } + } + }, + { + "ActionType": "main.voteGovProposalAction", + "Action": { + "Chain": "democ", + "From": [ + "alice", + "bob" + ], + "Vote": [ + "yes", + "no" + ], + "PropNumber": 1 + }, + "State": { + "democ": { + "ValBalances": { + "alice": 9889999998, + "bob": 9960000001 + }, + "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, + "Proposals": null + } + } + }, + { + "ActionType": "main.relayRewardPacketsToProviderAction", + "Action": { + "ConsumerChain": "democ", + "ProviderChain": "provi", + "Port": "transfer", + "Channel": 1 + }, + "State": { + "provi": { + "ValBalances": 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": [], + "Proposals": null + } + } + }, + { + "ActionType": "main.submitChangeRewardDenomsProposalAction", + "Action": { + "Denom": "ibc/3C3D7B3BE4ECC85A0E5B52A3AEC3B7DFC2AA9CA47C37821E57020D6807043BE9", + "Deposit": 10000001, + "From": "bob" + }, + "State": { + "provi": { + "ValBalances": null, + "ValPowers": null, + "RepresentativePowers": null, + "Params": null, + "Rewards": null, + "ConsumerChains": null, + "AssignedKeys": null, + "ProviderKeys": null, + "ConsumerChainQueueSizes": null, + "GlobalSlashQueueSize": null, + "RegisteredConsumerRewardDenoms": [], + "Proposals": null + } + } + }, + { + "ActionType": "main.voteGovProposalAction", + "Action": { + "Chain": "provi", + "From": [ + "alice", + "bob", + "carol" + ], + "Vote": [ + "yes", + "yes", + "yes" + ], + "PropNumber": 2 + }, + "State": { + "provi": { + "ValBalances": null, + "ValPowers": null, + "RepresentativePowers": null, + "Params": null, + "Rewards": null, + "ConsumerChains": null, + "AssignedKeys": null, + "ProviderKeys": null, + "ConsumerChainQueueSizes": null, + "GlobalSlashQueueSize": null, + "RegisteredConsumerRewardDenoms": [ + "ibc/3C3D7B3BE4ECC85A0E5B52A3AEC3B7DFC2AA9CA47C37821E57020D6807043BE9" + ], + "Proposals": null + } + } + }, + { + "ActionType": "main.relayRewardPacketsToProviderAction", + "Action": { + "ConsumerChain": "democ", + "ProviderChain": "provi", + "Port": "transfer", + "Channel": 1 + }, + "State": { + "provi": { + "ValBalances": 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": null, + "Proposals": null + } + } + }, + { + "ActionType": "main.downtimeSlashAction", + "Action": { + "Chain": "democ", + "Validator": "bob" + }, + "State": { + "democ": { + "ValBalances": 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, + "Proposals": null + }, + "provi": { + "ValBalances": 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, + "Proposals": null + } + } + }, + { + "ActionType": "main.relayPacketsAction", + "Action": { + "ChainA": "provi", + "ChainB": "democ", + "Port": "provider", + "Channel": 0 + }, + "State": { + "democ": { + "ValBalances": 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, + "Proposals": null + }, + "provi": { + "ValBalances": 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, + "Proposals": null + } + } + }, + { + "ActionType": "main.relayPacketsAction", + "Action": { + "ChainA": "provi", + "ChainB": "democ", + "Port": "provider", + "Channel": 0 + }, + "State": { + "democ": { + "ValBalances": 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, + "Proposals": null + } + } + }, + { + "ActionType": "main.unjailValidatorAction", + "Action": { + "Provider": "provi", + "Validator": "bob" + }, + "State": { + "democ": { + "ValBalances": 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, + "Proposals": null + }, + "provi": { + "ValBalances": 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, + "Proposals": null + } + } + }, + { + "ActionType": "main.relayPacketsAction", + "Action": { + "ChainA": "provi", + "ChainB": "democ", + "Port": "provider", + "Channel": 0 + }, + "State": { + "democ": { + "ValBalances": 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, + "Proposals": null + } + } + } +] \ No newline at end of file diff --git a/tests/e2e/tracehandler_testdata/democracyRewardsSteps.json b/tests/e2e/tracehandler_testdata/democracyRewardsSteps.json index b078d6f87e..cea7f937be 100644 --- a/tests/e2e/tracehandler_testdata/democracyRewardsSteps.json +++ b/tests/e2e/tracehandler_testdata/democracyRewardsSteps.json @@ -1 +1,935 @@ -[{"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},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.submitConsumerAdditionProposalAction","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},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"1":{"RawProposal":{"Deposit":10000001,"Chain":"democ","SpawnTime":0,"InitialHeight":{"revision_height":1},"Status":"PROPOSAL_STATUS_VOTING_PERIOD"},"Type":"main.ConsumerAdditionProposal"}}}}},{"ActionType":"main.assignConsumerPubKeyAction","Action":{"Chain":"democ","Validator":"carol","ConsumerPubkey":"{\"@type\":\"/cosmos.crypto.ed25519.PubKey\",\"key\":\"Ui5Gf1+mtWUdH8u3xlmzdKID+F3PK0sfXZ73GZ6q6is=\"}","ReconfigureNode":false,"ExpectError":false,"ExpectedError":""},"State":{"democ":{"ValBalances":null,"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":{"carol":"cosmosvalcons1kswr5sq599365kcjmhgufevfps9njf43e4lwdk"},"ProviderKeys":{"carol":"cosmosvalcons1ezyrq65s3gshhx5585w6mpusq3xsj3ayzf4uv6"},"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":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,"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":{"bob":"","carol":"cosmosvalcons1kswr5sq599365kcjmhgufevfps9njf43e4lwdk"},"ProviderKeys":{"carol":"cosmosvalcons1ezyrq65s3gshhx5585w6mpusq3xsj3ayzf4uv6"},"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.voteGovProposalAction","Action":{"Chain":"provi","From":["alice","bob","carol"],"Vote":["yes","yes","yes"],"PropNumber":1},"State":{"provi":{"ValBalances":{"alice":9500000000,"bob":9500000000},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"1":{"RawProposal":{"Deposit":10000001,"Chain":"democ","SpawnTime":0,"InitialHeight":{"revision_height":1},"Status":"PROPOSAL_STATUS_PASSED"},"Type":"main.ConsumerAdditionProposal"}}}}},{"ActionType":"main.startConsumerChainAction","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},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null},"provi":{"ValBalances":{"alice":9500000000,"bob":9500000000,"carol":9500000000},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.addIbcConnectionAction","Action":{"ChainA":"democ","ChainB":"provi","ClientA":0,"ClientB":0},"State":{}},{"ActionType":"main.addIbcChannelAction","Action":{"ChainA":"democ","ChainB":"provi","ConnectionA":0,"PortA":"consumer","PortB":"provider","Order":"ordered","Version":""},"State":{}},{"ActionType":"main.transferChannelCompleteAction","Action":{"ChainA":"democ","ChainB":"provi","ConnectionA":0,"PortA":"transfer","PortB":"transfer","Order":"unordered","ChannelA":1,"ChannelB":1},"State":{}},{"ActionType":"main.delegateTokensAction","Action":{"Chain":"provi","From":"alice","To":"alice","Amount":11000000},"State":{"democ":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.SendTokensAction","Action":{"Chain":"democ","From":"alice","To":"bob","Amount":1},"State":{"democ":{"ValBalances":{"alice":10000000000,"bob":10000000000},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"democ","Port":"provider","Channel":0},"State":{"democ":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.SendTokensAction","Action":{"Chain":"democ","From":"alice","To":"bob","Amount":1},"State":{"democ":{"ValBalances":{"alice":9999999999,"bob":10000000001},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.registerRepresentativeAction","Action":{"Chain":"democ","Representatives":["alice","bob"],"Stakes":[100000000,40000000]},"State":{"democ":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.delegateTokensAction","Action":{"Chain":"democ","From":"carol","To":"alice","Amount":500000},"State":{"democ":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.submitParamChangeLegacyProposalAction","Action":{"Chain":"democ","From":"alice","Deposit":10000001,"Subspace":"transfer","Key":"SendEnabled","Value":true},"State":{"democ":{"ValBalances":{"alice":9889999998,"bob":9960000001},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"1":{"RawProposal":{"Deposit":10000001,"Status":"PROPOSAL_STATUS_VOTING_PERIOD","Subspace":"transfer","Key":"SendEnabled","Value":"true"},"Type":"main.ParamsProposal"}}}}},{"ActionType":"main.voteGovProposalAction","Action":{"Chain":"democ","From":["alice","bob"],"Vote":["yes","no"],"PropNumber":1},"State":{"democ":{"ValBalances":{"alice":9889999998,"bob":9960000001},"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,"Proposals":null}}},{"ActionType":"main.relayRewardPacketsToProviderAction","Action":{"ConsumerChain":"democ","ProviderChain":"provi","Port":"transfer","Channel":1},"State":{"provi":{"ValBalances":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":[],"Proposals":null}}},{"ActionType":"main.submitChangeRewardDenomsProposalAction","Action":{"Denom":"ibc/3C3D7B3BE4ECC85A0E5B52A3AEC3B7DFC2AA9CA47C37821E57020D6807043BE9","Deposit":10000001,"From":"bob"},"State":{"provi":{"ValBalances":null,"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":[],"Proposals":null}}},{"ActionType":"main.voteGovProposalAction","Action":{"Chain":"provi","From":["alice","bob","carol"],"Vote":["yes","yes","yes"],"PropNumber":2},"State":{"provi":{"ValBalances":null,"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":["ibc/3C3D7B3BE4ECC85A0E5B52A3AEC3B7DFC2AA9CA47C37821E57020D6807043BE9"],"Proposals":null}}},{"ActionType":"main.relayRewardPacketsToProviderAction","Action":{"ConsumerChain":"democ","ProviderChain":"provi","Port":"transfer","Channel":1},"State":{"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.downtimeSlashAction","Action":{"Chain":"democ","Validator":"bob"},"State":{"democ":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"democ","Port":"provider","Channel":0},"State":{"democ":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"democ","Port":"provider","Channel":0},"State":{"democ":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.unjailValidatorAction","Action":{"Provider":"provi","Validator":"bob"},"State":{"democ":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"democ","Port":"provider","Channel":0},"State":{"democ":{"ValBalances":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,"Proposals":null}}}] \ 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 + }, + "ValPowers": null, + "RepresentativePowers": null, + "Params": null, + "Rewards": null, + "ConsumerChains": null, + "AssignedKeys": null, + "ProviderKeys": null, + "ConsumerChainQueueSizes": null, + "GlobalSlashQueueSize": null, + "RegisteredConsumerRewardDenoms": null, + "Proposals": null + } + } + }, + { + "ActionType": "main.submitConsumerAdditionProposalAction", + "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 + }, + "ValPowers": null, + "RepresentativePowers": null, + "Params": null, + "Rewards": null, + "ConsumerChains": null, + "AssignedKeys": null, + "ProviderKeys": null, + "ConsumerChainQueueSizes": null, + "GlobalSlashQueueSize": null, + "RegisteredConsumerRewardDenoms": null, + "Proposals": { + "1": { + "RawProposal": { + "Deposit": 10000001, + "Chain": "democ", + "SpawnTime": 0, + "InitialHeight": { + "revision_height": 1 + }, + "Status": "PROPOSAL_STATUS_VOTING_PERIOD" + }, + "Type": "main.ConsumerAdditionProposal" + } + } + } + } + }, + { + "ActionType": "main.assignConsumerPubKeyAction", + "Action": { + "Chain": "democ", + "Validator": "carol", + "ConsumerPubkey": "{\"@type\":\"/cosmos.crypto.ed25519.PubKey\",\"key\":\"Ui5Gf1+mtWUdH8u3xlmzdKID+F3PK0sfXZ73GZ6q6is=\"}", + "ReconfigureNode": false, + "ExpectError": false, + "ExpectedError": "" + }, + "State": { + "democ": { + "ValBalances": null, + "ValPowers": null, + "RepresentativePowers": null, + "Params": null, + "Rewards": null, + "ConsumerChains": null, + "AssignedKeys": { + "carol": "cosmosvalcons1kswr5sq599365kcjmhgufevfps9njf43e4lwdk" + }, + "ProviderKeys": { + "carol": "cosmosvalcons1ezyrq65s3gshhx5585w6mpusq3xsj3ayzf4uv6" + }, + "ConsumerChainQueueSizes": null, + "GlobalSlashQueueSize": null, + "RegisteredConsumerRewardDenoms": null, + "Proposals": 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, + "ValPowers": null, + "RepresentativePowers": null, + "Params": null, + "Rewards": null, + "ConsumerChains": null, + "AssignedKeys": { + "bob": "", + "carol": "cosmosvalcons1kswr5sq599365kcjmhgufevfps9njf43e4lwdk" + }, + "ProviderKeys": { + "carol": "cosmosvalcons1ezyrq65s3gshhx5585w6mpusq3xsj3ayzf4uv6" + }, + "ConsumerChainQueueSizes": null, + "GlobalSlashQueueSize": null, + "RegisteredConsumerRewardDenoms": null, + "Proposals": null + } + } + }, + { + "ActionType": "main.voteGovProposalAction", + "Action": { + "Chain": "provi", + "From": [ + "alice", + "bob", + "carol" + ], + "Vote": [ + "yes", + "yes", + "yes" + ], + "PropNumber": 1 + }, + "State": { + "provi": { + "ValBalances": { + "alice": 9500000000, + "bob": 9500000000 + }, + "ValPowers": null, + "RepresentativePowers": null, + "Params": null, + "Rewards": null, + "ConsumerChains": null, + "AssignedKeys": null, + "ProviderKeys": null, + "ConsumerChainQueueSizes": null, + "GlobalSlashQueueSize": null, + "RegisteredConsumerRewardDenoms": null, + "Proposals": { + "1": { + "RawProposal": { + "Deposit": 10000001, + "Chain": "democ", + "SpawnTime": 0, + "InitialHeight": { + "revision_height": 1 + }, + "Status": "PROPOSAL_STATUS_PASSED" + }, + "Type": "main.ConsumerAdditionProposal" + } + } + } + } + }, + { + "ActionType": "main.startConsumerChainAction", + "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 + }, + "ValPowers": null, + "RepresentativePowers": null, + "Params": null, + "Rewards": null, + "ConsumerChains": null, + "AssignedKeys": null, + "ProviderKeys": null, + "ConsumerChainQueueSizes": null, + "GlobalSlashQueueSize": null, + "RegisteredConsumerRewardDenoms": null, + "Proposals": null + }, + "provi": { + "ValBalances": { + "alice": 9500000000, + "bob": 9500000000, + "carol": 9500000000 + }, + "ValPowers": null, + "RepresentativePowers": null, + "Params": null, + "Rewards": null, + "ConsumerChains": null, + "AssignedKeys": null, + "ProviderKeys": null, + "ConsumerChainQueueSizes": null, + "GlobalSlashQueueSize": null, + "RegisteredConsumerRewardDenoms": null, + "Proposals": null + } + } + }, + { + "ActionType": "main.addIbcConnectionAction", + "Action": { + "ChainA": "democ", + "ChainB": "provi", + "ClientA": 0, + "ClientB": 0 + }, + "State": {} + }, + { + "ActionType": "main.addIbcChannelAction", + "Action": { + "ChainA": "democ", + "ChainB": "provi", + "ConnectionA": 0, + "PortA": "consumer", + "PortB": "provider", + "Order": "ordered", + "Version": "" + }, + "State": {} + }, + { + "ActionType": "main.transferChannelCompleteAction", + "Action": { + "ChainA": "democ", + "ChainB": "provi", + "ConnectionA": 0, + "PortA": "transfer", + "PortB": "transfer", + "Order": "unordered", + "ChannelA": 1, + "ChannelB": 1 + }, + "State": {} + }, + { + "ActionType": "main.delegateTokensAction", + "Action": { + "Chain": "provi", + "From": "alice", + "To": "alice", + "Amount": 11000000 + }, + "State": { + "democ": { + "ValBalances": 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, + "Proposals": null + }, + "provi": { + "ValBalances": 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, + "Proposals": null + } + } + }, + { + "ActionType": "main.SendTokensAction", + "Action": { + "Chain": "democ", + "From": "alice", + "To": "bob", + "Amount": 1 + }, + "State": { + "democ": { + "ValBalances": { + "alice": 10000000000, + "bob": 10000000000 + }, + "ValPowers": null, + "RepresentativePowers": null, + "Params": null, + "Rewards": null, + "ConsumerChains": null, + "AssignedKeys": null, + "ProviderKeys": null, + "ConsumerChainQueueSizes": null, + "GlobalSlashQueueSize": null, + "RegisteredConsumerRewardDenoms": null, + "Proposals": null + } + } + }, + { + "ActionType": "main.relayPacketsAction", + "Action": { + "ChainA": "provi", + "ChainB": "democ", + "Port": "provider", + "Channel": 0 + }, + "State": { + "democ": { + "ValBalances": 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, + "Proposals": null + } + } + }, + { + "ActionType": "main.SendTokensAction", + "Action": { + "Chain": "democ", + "From": "alice", + "To": "bob", + "Amount": 1 + }, + "State": { + "democ": { + "ValBalances": { + "alice": 9999999999, + "bob": 10000000001 + }, + "ValPowers": null, + "RepresentativePowers": null, + "Params": null, + "Rewards": null, + "ConsumerChains": null, + "AssignedKeys": null, + "ProviderKeys": null, + "ConsumerChainQueueSizes": null, + "GlobalSlashQueueSize": null, + "RegisteredConsumerRewardDenoms": null, + "Proposals": null + } + } + }, + { + "ActionType": "main.registerRepresentativeAction", + "Action": { + "Chain": "democ", + "Representatives": [ + "alice", + "bob" + ], + "Stakes": [ + 100000000, + 40000000 + ] + }, + "State": { + "democ": { + "ValBalances": 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, + "Proposals": null + } + } + }, + { + "ActionType": "main.delegateTokensAction", + "Action": { + "Chain": "democ", + "From": "carol", + "To": "alice", + "Amount": 500000 + }, + "State": { + "democ": { + "ValBalances": 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, + "Proposals": null + } + } + }, + { + "ActionType": "main.submitParamChangeLegacyProposalAction", + "Action": { + "Chain": "democ", + "From": "alice", + "Deposit": 10000001, + "Subspace": "transfer", + "Key": "SendEnabled", + "Value": true + }, + "State": { + "democ": { + "ValBalances": { + "alice": 9889999998, + "bob": 9960000001 + }, + "ValPowers": null, + "RepresentativePowers": null, + "Params": null, + "Rewards": null, + "ConsumerChains": null, + "AssignedKeys": null, + "ProviderKeys": null, + "ConsumerChainQueueSizes": null, + "GlobalSlashQueueSize": null, + "RegisteredConsumerRewardDenoms": null, + "Proposals": { + "1": { + "RawProposal": { + "Deposit": 10000001, + "Status": "PROPOSAL_STATUS_VOTING_PERIOD", + "Subspace": "transfer", + "Key": "SendEnabled", + "Value": "true" + }, + "Type": "main.ParamsProposal" + } + } + } + } + }, + { + "ActionType": "main.voteGovProposalAction", + "Action": { + "Chain": "democ", + "From": [ + "alice", + "bob" + ], + "Vote": [ + "yes", + "no" + ], + "PropNumber": 1 + }, + "State": { + "democ": { + "ValBalances": { + "alice": 9889999998, + "bob": 9960000001 + }, + "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, + "Proposals": null + } + } + }, + { + "ActionType": "main.relayRewardPacketsToProviderAction", + "Action": { + "ConsumerChain": "democ", + "ProviderChain": "provi", + "Port": "transfer", + "Channel": 1 + }, + "State": { + "provi": { + "ValBalances": 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": [], + "Proposals": null + } + } + }, + { + "ActionType": "main.submitChangeRewardDenomsProposalAction", + "Action": { + "Denom": "ibc/3C3D7B3BE4ECC85A0E5B52A3AEC3B7DFC2AA9CA47C37821E57020D6807043BE9", + "Deposit": 10000001, + "From": "bob" + }, + "State": { + "provi": { + "ValBalances": null, + "ValPowers": null, + "RepresentativePowers": null, + "Params": null, + "Rewards": null, + "ConsumerChains": null, + "AssignedKeys": null, + "ProviderKeys": null, + "ConsumerChainQueueSizes": null, + "GlobalSlashQueueSize": null, + "RegisteredConsumerRewardDenoms": [], + "Proposals": null + } + } + }, + { + "ActionType": "main.voteGovProposalAction", + "Action": { + "Chain": "provi", + "From": [ + "alice", + "bob", + "carol" + ], + "Vote": [ + "yes", + "yes", + "yes" + ], + "PropNumber": 2 + }, + "State": { + "provi": { + "ValBalances": null, + "ValPowers": null, + "RepresentativePowers": null, + "Params": null, + "Rewards": null, + "ConsumerChains": null, + "AssignedKeys": null, + "ProviderKeys": null, + "ConsumerChainQueueSizes": null, + "GlobalSlashQueueSize": null, + "RegisteredConsumerRewardDenoms": [ + "ibc/3C3D7B3BE4ECC85A0E5B52A3AEC3B7DFC2AA9CA47C37821E57020D6807043BE9" + ], + "Proposals": null + } + } + }, + { + "ActionType": "main.relayRewardPacketsToProviderAction", + "Action": { + "ConsumerChain": "democ", + "ProviderChain": "provi", + "Port": "transfer", + "Channel": 1 + }, + "State": { + "provi": { + "ValBalances": 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, + "Proposals": null + } + } + }, + { + "ActionType": "main.downtimeSlashAction", + "Action": { + "Chain": "democ", + "Validator": "bob" + }, + "State": { + "democ": { + "ValBalances": 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, + "Proposals": null + }, + "provi": { + "ValBalances": 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, + "Proposals": null + } + } + }, + { + "ActionType": "main.relayPacketsAction", + "Action": { + "ChainA": "provi", + "ChainB": "democ", + "Port": "provider", + "Channel": 0 + }, + "State": { + "democ": { + "ValBalances": 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, + "Proposals": null + }, + "provi": { + "ValBalances": 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, + "Proposals": null + } + } + }, + { + "ActionType": "main.relayPacketsAction", + "Action": { + "ChainA": "provi", + "ChainB": "democ", + "Port": "provider", + "Channel": 0 + }, + "State": { + "democ": { + "ValBalances": 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, + "Proposals": null + } + } + }, + { + "ActionType": "main.unjailValidatorAction", + "Action": { + "Provider": "provi", + "Validator": "bob" + }, + "State": { + "democ": { + "ValBalances": 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, + "Proposals": null + }, + "provi": { + "ValBalances": 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, + "Proposals": null + } + } + }, + { + "ActionType": "main.relayPacketsAction", + "Action": { + "ChainA": "provi", + "ChainB": "democ", + "Port": "provider", + "Channel": 0 + }, + "State": { + "democ": { + "ValBalances": 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, + "Proposals": null + } + } + } +] \ No newline at end of file diff --git a/tests/e2e/tracehandler_testdata/happyPath.json b/tests/e2e/tracehandler_testdata/happyPath.json index fcfd57df3b..2ed4363c96 100644 --- a/tests/e2e/tracehandler_testdata/happyPath.json +++ b/tests/e2e/tracehandler_testdata/happyPath.json @@ -1 +1,2007 @@ -[{"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},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.submitConsumerAdditionProposalAction","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},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"1":{"RawProposal":{"Deposit":10000001,"Chain":"consu","SpawnTime":0,"InitialHeight":{"revision_height":1},"Status":"PROPOSAL_STATUS_VOTING_PERIOD"},"Type":"main.ConsumerAdditionProposal"}}}}},{"ActionType":"main.assignConsumerPubKeyAction","Action":{"Chain":"consu","Validator":"carol","ConsumerPubkey":"{\"@type\":\"/cosmos.crypto.ed25519.PubKey\",\"key\":\"Ui5Gf1+mtWUdH8u3xlmzdKID+F3PK0sfXZ73GZ6q6is=\"}","ReconfigureNode":false,"ExpectError":false,"ExpectedError":""},"State":{"consu":{"ValBalances":null,"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":{"carol":"cosmosvalcons1kswr5sq599365kcjmhgufevfps9njf43e4lwdk"},"ProviderKeys":{"carol":"cosmosvalcons1ezyrq65s3gshhx5585w6mpusq3xsj3ayzf4uv6"},"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":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,"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":{"bob":"","carol":"cosmosvalcons1kswr5sq599365kcjmhgufevfps9njf43e4lwdk"},"ProviderKeys":{"carol":"cosmosvalcons1ezyrq65s3gshhx5585w6mpusq3xsj3ayzf4uv6"},"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.voteGovProposalAction","Action":{"Chain":"provi","From":["alice","bob","carol"],"Vote":["yes","yes","yes"],"PropNumber":1},"State":{"provi":{"ValBalances":{"alice":9500000000,"bob":9500000000},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"1":{"RawProposal":{"Deposit":10000001,"Chain":"consu","SpawnTime":0,"InitialHeight":{"revision_height":1},"Status":"PROPOSAL_STATUS_PASSED"},"Type":"main.ConsumerAdditionProposal"}}}}},{"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},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null},"provi":{"ValBalances":{"alice":9500000000,"bob":9500000000,"carol":9500000000},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":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","Version":""},"State":{}},{"ActionType":"main.delegateTokensAction","Action":{"Chain":"provi","From":"alice","To":"alice","Amount":11000000},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.SendTokensAction","Action":{"Chain":"consu","From":"alice","To":"bob","Amount":1},"State":{"consu":{"ValBalances":{"alice":10000000000,"bob":10000000000},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.SendTokensAction","Action":{"Chain":"consu","From":"alice","To":"bob","Amount":1},"State":{"consu":{"ValBalances":{"alice":9999999999,"bob":10000000001},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.assignConsumerPubKeyAction","Action":{"Chain":"consu","Validator":"bob","ConsumerPubkey":"{\"@type\":\"/cosmos.crypto.ed25519.PubKey\",\"key\":\"QlG+iYe6AyYpvY1z9RNJKCVlH14Q/qSz4EjGdGCru3o=\"}","ReconfigureNode":true,"ExpectError":false,"ExpectedError":""},"State":{"consu":{"ValBalances":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,"RegisteredConsumerRewardDenoms":null,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"RegisteredConsumerRewardDenoms":null,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.unbondTokensAction","Action":{"Chain":"provi","Sender":"alice","UnbondFrom":"alice","Amount":1000000},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.unbondTokensAction","Action":{"Chain":"provi","Sender":"alice","UnbondFrom":"alice","Amount":1000000},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":null,"ValPowers":{"alice":509,"bob":500,"carol":500},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":null,"ValPowers":{"alice":509,"bob":500,"carol":500},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.cancelUnbondTokensAction","Action":{"Chain":"provi","Delegator":"alice","Validator":"alice","Amount":1000000},"State":{"consu":{"ValBalances":null,"ValPowers":{"alice":509,"bob":500,"carol":500},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.redelegateTokensAction","Action":{"Chain":"provi","Src":"alice","Dst":"carol","TxSender":"alice","Amount":450000000},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":null,"ValPowers":{"alice":60,"bob":500,"carol":950},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":null,"ValPowers":{"alice":60,"bob":500,"carol":950},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.downtimeSlashAction","Action":{"Chain":"consu","Validator":"alice"},"State":{"consu":{"ValBalances":null,"ValPowers":{"alice":60,"bob":500,"carol":950},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null},"provi":{"ValBalances":null,"ValPowers":{"alice":60,"bob":500,"carol":950},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":null,"ValPowers":{"alice":60,"bob":500,"carol":950},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null},"provi":{"ValBalances":null,"ValPowers":{"alice":60,"bob":500,"carol":950},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.redelegateTokensAction","Action":{"Chain":"provi","Src":"carol","Dst":"alice","TxSender":"carol","Amount":449000000},"State":{"consu":{"ValBalances":null,"ValPowers":{"alice":60,"bob":500,"carol":950},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.downtimeSlashAction","Action":{"Chain":"consu","Validator":"bob"},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.unjailValidatorAction","Action":{"Provider":"provi","Validator":"bob"},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.downtimeSlashAction","Action":{"Chain":"provi","Validator":"carol"},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.unjailValidatorAction","Action":{"Provider":"provi","Validator":"carol"},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.submitEquivocationProposalAction","Action":{"Chain":"consu","Height":10,"Time":"2023-09-19T13:25:50.602435+02:00","Power":500,"Validator":"bob","Deposit":10000001,"From":"bob"},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":{"bob":9500000000},"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,"Proposals":{"2":{"RawProposal":{"Title":"","Description":"","Deposit":0,"Status":""},"Type":"main.TextProposal"}}}}},{"ActionType":"main.doublesignSlashAction","Action":{"Validator":"carol","Chain":"provi"},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.doublesignSlashAction","Action":{"Validator":"bob","Chain":"consu"},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.submitEquivocationProposalAction","Action":{"Chain":"consu","Height":10,"Time":"2023-09-19T13:25:50.602438+02:00","Power":500,"Validator":"bob","Deposit":10000001,"From":"bob"},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":{"bob":9489999999},"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,"Proposals":{"2":{"RawProposal":{"Height":10,"Power":500,"ConsensusAddress":"cosmosvalcons1nx7n5uh0ztxsynn4sje6eyq2ud6rc6klc96w39","Deposit":10000001,"Status":"PROPOSAL_STATUS_VOTING_PERIOD"},"Type":"main.EquivocationProposal"}}}}},{"ActionType":"main.voteGovProposalAction","Action":{"Chain":"provi","From":["alice","bob","carol"],"Vote":["yes","yes","yes"],"PropNumber":2},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":null,"ValPowers":{"alice":509,"bob":0,"carol":0},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"2":{"RawProposal":{"Height":10,"Power":500,"ConsensusAddress":"cosmosvalcons1nx7n5uh0ztxsynn4sje6eyq2ud6rc6klc96w39","Deposit":10000001,"Status":"PROPOSAL_STATUS_PASSED"},"Type":"main.EquivocationProposal"}}}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":null,"ValPowers":{"alice":509,"bob":0,"carol":0},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null},"provi":{"ValBalances":null,"ValPowers":{"alice":509,"bob":0,"carol":0},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.startRelayerAction","Action":{},"State":{}},{"ActionType":"main.submitConsumerRemovalProposalAction","Action":{"Chain":"provi","From":"bob","Deposit":10000001,"ConsumerChain":"consu","StopTimeOffset":0},"State":{"provi":{"ValBalances":{"bob":9489999999},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":{"consu":true},"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"3":{"RawProposal":{"Deposit":10000001,"Chain":"consu","StopTime":0,"Status":"PROPOSAL_STATUS_VOTING_PERIOD"},"Type":"main.ConsumerRemovalProposal"}}}}},{"ActionType":"main.voteGovProposalAction","Action":{"Chain":"provi","From":["alice","bob","carol"],"Vote":["no","no","no"],"PropNumber":3},"State":{"provi":{"ValBalances":{"bob":9500000000},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":{"consu":true},"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"3":{"RawProposal":{"Deposit":10000001,"Chain":"consu","StopTime":0,"Status":"PROPOSAL_STATUS_REJECTED"},"Type":"main.ConsumerRemovalProposal"}}}}},{"ActionType":"main.submitConsumerRemovalProposalAction","Action":{"Chain":"provi","From":"bob","Deposit":10000001,"ConsumerChain":"consu","StopTimeOffset":0},"State":{"provi":{"ValBalances":{"bob":9489999999},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":{"consu":true},"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"4":{"RawProposal":{"Deposit":10000001,"Chain":"consu","StopTime":0,"Status":"PROPOSAL_STATUS_VOTING_PERIOD"},"Type":"main.ConsumerRemovalProposal"}}}}},{"ActionType":"main.voteGovProposalAction","Action":{"Chain":"provi","From":["alice","bob","carol"],"Vote":["yes","yes","yes"],"PropNumber":4},"State":{"provi":{"ValBalances":{"bob":9500000000},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":{},"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"4":{"RawProposal":{"Deposit":10000001,"Chain":"consu","StopTime":0,"Status":"PROPOSAL_STATUS_PASSED"},"Type":"main.ConsumerRemovalProposal"}}}}}] \ 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 + }, + "ValPowers": null, + "RepresentativePowers": null, + "Params": null, + "Rewards": null, + "ConsumerChains": null, + "AssignedKeys": null, + "ProviderKeys": null, + "ConsumerChainQueueSizes": null, + "GlobalSlashQueueSize": null, + "RegisteredConsumerRewardDenoms": null, + "Proposals": null + } + } + }, + { + "ActionType": "main.submitConsumerAdditionProposalAction", + "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 + }, + "ValPowers": null, + "RepresentativePowers": null, + "Params": null, + "Rewards": null, + "ConsumerChains": null, + "AssignedKeys": null, + "ProviderKeys": null, + "ConsumerChainQueueSizes": null, + "GlobalSlashQueueSize": null, + "RegisteredConsumerRewardDenoms": null, + "Proposals": { + "1": { + "RawProposal": { + "Deposit": 10000001, + "Chain": "consu", + "SpawnTime": 0, + "InitialHeight": { + "revision_height": 1 + }, + "Status": "PROPOSAL_STATUS_VOTING_PERIOD" + }, + "Type": "main.ConsumerAdditionProposal" + } + } + } + } + }, + { + "ActionType": "main.assignConsumerPubKeyAction", + "Action": { + "Chain": "consu", + "Validator": "carol", + "ConsumerPubkey": "{\"@type\":\"/cosmos.crypto.ed25519.PubKey\",\"key\":\"Ui5Gf1+mtWUdH8u3xlmzdKID+F3PK0sfXZ73GZ6q6is=\"}", + "ReconfigureNode": false, + "ExpectError": false, + "ExpectedError": "" + }, + "State": { + "consu": { + "ValBalances": null, + "ValPowers": null, + "RepresentativePowers": null, + "Params": null, + "Rewards": null, + "ConsumerChains": null, + "AssignedKeys": { + "carol": "cosmosvalcons1kswr5sq599365kcjmhgufevfps9njf43e4lwdk" + }, + "ProviderKeys": { + "carol": "cosmosvalcons1ezyrq65s3gshhx5585w6mpusq3xsj3ayzf4uv6" + }, + "ConsumerChainQueueSizes": null, + "GlobalSlashQueueSize": null, + "RegisteredConsumerRewardDenoms": null, + "Proposals": 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, + "ValPowers": null, + "RepresentativePowers": null, + "Params": null, + "Rewards": null, + "ConsumerChains": null, + "AssignedKeys": { + "bob": "", + "carol": "cosmosvalcons1kswr5sq599365kcjmhgufevfps9njf43e4lwdk" + }, + "ProviderKeys": { + "carol": "cosmosvalcons1ezyrq65s3gshhx5585w6mpusq3xsj3ayzf4uv6" + }, + "ConsumerChainQueueSizes": null, + "GlobalSlashQueueSize": null, + "RegisteredConsumerRewardDenoms": null, + "Proposals": null + } + } + }, + { + "ActionType": "main.voteGovProposalAction", + "Action": { + "Chain": "provi", + "From": [ + "alice", + "bob", + "carol" + ], + "Vote": [ + "yes", + "yes", + "yes" + ], + "PropNumber": 1 + }, + "State": { + "provi": { + "ValBalances": { + "alice": 9500000000, + "bob": 9500000000 + }, + "ValPowers": null, + "RepresentativePowers": null, + "Params": null, + "Rewards": null, + "ConsumerChains": null, + "AssignedKeys": null, + "ProviderKeys": null, + "ConsumerChainQueueSizes": null, + "GlobalSlashQueueSize": null, + "RegisteredConsumerRewardDenoms": null, + "Proposals": { + "1": { + "RawProposal": { + "Deposit": 10000001, + "Chain": "consu", + "SpawnTime": 0, + "InitialHeight": { + "revision_height": 1 + }, + "Status": "PROPOSAL_STATUS_PASSED" + }, + "Type": "main.ConsumerAdditionProposal" + } + } + } + } + }, + { + "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 + }, + "ValPowers": null, + "RepresentativePowers": null, + "Params": null, + "Rewards": null, + "ConsumerChains": null, + "AssignedKeys": null, + "ProviderKeys": null, + "ConsumerChainQueueSizes": null, + "GlobalSlashQueueSize": null, + "RegisteredConsumerRewardDenoms": null, + "Proposals": null + }, + "provi": { + "ValBalances": { + "alice": 9500000000, + "bob": 9500000000, + "carol": 9500000000 + }, + "ValPowers": null, + "RepresentativePowers": null, + "Params": null, + "Rewards": null, + "ConsumerChains": null, + "AssignedKeys": null, + "ProviderKeys": null, + "ConsumerChainQueueSizes": null, + "GlobalSlashQueueSize": null, + "RegisteredConsumerRewardDenoms": null, + "Proposals": 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", + "Version": "" + }, + "State": {} + }, + { + "ActionType": "main.delegateTokensAction", + "Action": { + "Chain": "provi", + "From": "alice", + "To": "alice", + "Amount": 11000000 + }, + "State": { + "consu": { + "ValBalances": 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, + "Proposals": null + }, + "provi": { + "ValBalances": 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, + "Proposals": null + } + } + }, + { + "ActionType": "main.SendTokensAction", + "Action": { + "Chain": "consu", + "From": "alice", + "To": "bob", + "Amount": 1 + }, + "State": { + "consu": { + "ValBalances": { + "alice": 10000000000, + "bob": 10000000000 + }, + "ValPowers": null, + "RepresentativePowers": null, + "Params": null, + "Rewards": null, + "ConsumerChains": null, + "AssignedKeys": null, + "ProviderKeys": null, + "ConsumerChainQueueSizes": null, + "GlobalSlashQueueSize": null, + "RegisteredConsumerRewardDenoms": null, + "Proposals": null + } + } + }, + { + "ActionType": "main.relayPacketsAction", + "Action": { + "ChainA": "provi", + "ChainB": "consu", + "Port": "provider", + "Channel": 0 + }, + "State": { + "consu": { + "ValBalances": 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, + "Proposals": null + } + } + }, + { + "ActionType": "main.SendTokensAction", + "Action": { + "Chain": "consu", + "From": "alice", + "To": "bob", + "Amount": 1 + }, + "State": { + "consu": { + "ValBalances": { + "alice": 9999999999, + "bob": 10000000001 + }, + "ValPowers": null, + "RepresentativePowers": null, + "Params": null, + "Rewards": null, + "ConsumerChains": null, + "AssignedKeys": null, + "ProviderKeys": null, + "ConsumerChainQueueSizes": null, + "GlobalSlashQueueSize": null, + "RegisteredConsumerRewardDenoms": null, + "Proposals": null + } + } + }, + { + "ActionType": "main.assignConsumerPubKeyAction", + "Action": { + "Chain": "consu", + "Validator": "bob", + "ConsumerPubkey": "{\"@type\":\"/cosmos.crypto.ed25519.PubKey\",\"key\":\"QlG+iYe6AyYpvY1z9RNJKCVlH14Q/qSz4EjGdGCru3o=\"}", + "ReconfigureNode": true, + "ExpectError": false, + "ExpectedError": "" + }, + "State": { + "consu": { + "ValBalances": 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, + "RegisteredConsumerRewardDenoms": null, + "Proposals": null + }, + "provi": { + "ValBalances": 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, + "Proposals": null + } + } + }, + { + "ActionType": "main.relayPacketsAction", + "Action": { + "ChainA": "provi", + "ChainB": "consu", + "Port": "provider", + "Channel": 0 + }, + "State": { + "consu": { + "ValBalances": 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, + "RegisteredConsumerRewardDenoms": null, + "Proposals": null + }, + "provi": { + "ValBalances": 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, + "Proposals": null + } + } + }, + { + "ActionType": "main.unbondTokensAction", + "Action": { + "Chain": "provi", + "Sender": "alice", + "UnbondFrom": "alice", + "Amount": 1000000 + }, + "State": { + "consu": { + "ValBalances": 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, + "Proposals": null + }, + "provi": { + "ValBalances": 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, + "Proposals": null + } + } + }, + { + "ActionType": "main.relayPacketsAction", + "Action": { + "ChainA": "provi", + "ChainB": "consu", + "Port": "provider", + "Channel": 0 + }, + "State": { + "consu": { + "ValBalances": 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, + "Proposals": null + } + } + }, + { + "ActionType": "main.unbondTokensAction", + "Action": { + "Chain": "provi", + "Sender": "alice", + "UnbondFrom": "alice", + "Amount": 1000000 + }, + "State": { + "consu": { + "ValBalances": 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, + "Proposals": null + }, + "provi": { + "ValBalances": null, + "ValPowers": { + "alice": 509, + "bob": 500, + "carol": 500 + }, + "RepresentativePowers": null, + "Params": null, + "Rewards": null, + "ConsumerChains": null, + "AssignedKeys": null, + "ProviderKeys": null, + "ConsumerChainQueueSizes": null, + "GlobalSlashQueueSize": null, + "RegisteredConsumerRewardDenoms": null, + "Proposals": null + } + } + }, + { + "ActionType": "main.relayPacketsAction", + "Action": { + "ChainA": "provi", + "ChainB": "consu", + "Port": "provider", + "Channel": 0 + }, + "State": { + "consu": { + "ValBalances": null, + "ValPowers": { + "alice": 509, + "bob": 500, + "carol": 500 + }, + "RepresentativePowers": null, + "Params": null, + "Rewards": null, + "ConsumerChains": null, + "AssignedKeys": null, + "ProviderKeys": null, + "ConsumerChainQueueSizes": null, + "GlobalSlashQueueSize": null, + "RegisteredConsumerRewardDenoms": null, + "Proposals": null + } + } + }, + { + "ActionType": "main.cancelUnbondTokensAction", + "Action": { + "Chain": "provi", + "Delegator": "alice", + "Validator": "alice", + "Amount": 1000000 + }, + "State": { + "consu": { + "ValBalances": null, + "ValPowers": { + "alice": 509, + "bob": 500, + "carol": 500 + }, + "RepresentativePowers": null, + "Params": null, + "Rewards": null, + "ConsumerChains": null, + "AssignedKeys": null, + "ProviderKeys": null, + "ConsumerChainQueueSizes": null, + "GlobalSlashQueueSize": null, + "RegisteredConsumerRewardDenoms": null, + "Proposals": null + }, + "provi": { + "ValBalances": 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, + "Proposals": null + } + } + }, + { + "ActionType": "main.relayPacketsAction", + "Action": { + "ChainA": "provi", + "ChainB": "consu", + "Port": "provider", + "Channel": 0 + }, + "State": { + "consu": { + "ValBalances": 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, + "Proposals": null + } + } + }, + { + "ActionType": "main.redelegateTokensAction", + "Action": { + "Chain": "provi", + "Src": "alice", + "Dst": "carol", + "TxSender": "alice", + "Amount": 450000000 + }, + "State": { + "consu": { + "ValBalances": 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, + "Proposals": null + }, + "provi": { + "ValBalances": null, + "ValPowers": { + "alice": 60, + "bob": 500, + "carol": 950 + }, + "RepresentativePowers": null, + "Params": null, + "Rewards": null, + "ConsumerChains": null, + "AssignedKeys": null, + "ProviderKeys": null, + "ConsumerChainQueueSizes": null, + "GlobalSlashQueueSize": null, + "RegisteredConsumerRewardDenoms": null, + "Proposals": null + } + } + }, + { + "ActionType": "main.relayPacketsAction", + "Action": { + "ChainA": "provi", + "ChainB": "consu", + "Port": "provider", + "Channel": 0 + }, + "State": { + "consu": { + "ValBalances": null, + "ValPowers": { + "alice": 60, + "bob": 500, + "carol": 950 + }, + "RepresentativePowers": null, + "Params": null, + "Rewards": null, + "ConsumerChains": null, + "AssignedKeys": null, + "ProviderKeys": null, + "ConsumerChainQueueSizes": null, + "GlobalSlashQueueSize": null, + "RegisteredConsumerRewardDenoms": null, + "Proposals": null + } + } + }, + { + "ActionType": "main.downtimeSlashAction", + "Action": { + "Chain": "consu", + "Validator": "alice" + }, + "State": { + "consu": { + "ValBalances": null, + "ValPowers": { + "alice": 60, + "bob": 500, + "carol": 950 + }, + "RepresentativePowers": null, + "Params": null, + "Rewards": null, + "ConsumerChains": null, + "AssignedKeys": null, + "ProviderKeys": null, + "ConsumerChainQueueSizes": null, + "GlobalSlashQueueSize": null, + "RegisteredConsumerRewardDenoms": null, + "Proposals": null + }, + "provi": { + "ValBalances": null, + "ValPowers": { + "alice": 60, + "bob": 500, + "carol": 950 + }, + "RepresentativePowers": null, + "Params": null, + "Rewards": null, + "ConsumerChains": null, + "AssignedKeys": null, + "ProviderKeys": null, + "ConsumerChainQueueSizes": null, + "GlobalSlashQueueSize": null, + "RegisteredConsumerRewardDenoms": null, + "Proposals": null + } + } + }, + { + "ActionType": "main.relayPacketsAction", + "Action": { + "ChainA": "provi", + "ChainB": "consu", + "Port": "provider", + "Channel": 0 + }, + "State": { + "consu": { + "ValBalances": null, + "ValPowers": { + "alice": 60, + "bob": 500, + "carol": 950 + }, + "RepresentativePowers": null, + "Params": null, + "Rewards": null, + "ConsumerChains": null, + "AssignedKeys": null, + "ProviderKeys": null, + "ConsumerChainQueueSizes": null, + "GlobalSlashQueueSize": null, + "RegisteredConsumerRewardDenoms": null, + "Proposals": null + }, + "provi": { + "ValBalances": null, + "ValPowers": { + "alice": 60, + "bob": 500, + "carol": 950 + }, + "RepresentativePowers": null, + "Params": null, + "Rewards": null, + "ConsumerChains": null, + "AssignedKeys": null, + "ProviderKeys": null, + "ConsumerChainQueueSizes": null, + "GlobalSlashQueueSize": null, + "RegisteredConsumerRewardDenoms": null, + "Proposals": null + } + } + }, + { + "ActionType": "main.redelegateTokensAction", + "Action": { + "Chain": "provi", + "Src": "carol", + "Dst": "alice", + "TxSender": "carol", + "Amount": 449000000 + }, + "State": { + "consu": { + "ValBalances": null, + "ValPowers": { + "alice": 60, + "bob": 500, + "carol": 950 + }, + "RepresentativePowers": null, + "Params": null, + "Rewards": null, + "ConsumerChains": null, + "AssignedKeys": null, + "ProviderKeys": null, + "ConsumerChainQueueSizes": null, + "GlobalSlashQueueSize": null, + "RegisteredConsumerRewardDenoms": null, + "Proposals": null + }, + "provi": { + "ValBalances": 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, + "Proposals": null + } + } + }, + { + "ActionType": "main.relayPacketsAction", + "Action": { + "ChainA": "provi", + "ChainB": "consu", + "Port": "provider", + "Channel": 0 + }, + "State": { + "consu": { + "ValBalances": 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, + "Proposals": null + } + } + }, + { + "ActionType": "main.downtimeSlashAction", + "Action": { + "Chain": "consu", + "Validator": "bob" + }, + "State": { + "consu": { + "ValBalances": 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, + "Proposals": null + }, + "provi": { + "ValBalances": 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, + "Proposals": null + } + } + }, + { + "ActionType": "main.relayPacketsAction", + "Action": { + "ChainA": "provi", + "ChainB": "consu", + "Port": "provider", + "Channel": 0 + }, + "State": { + "consu": { + "ValBalances": 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, + "Proposals": null + }, + "provi": { + "ValBalances": 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, + "Proposals": null + } + } + }, + { + "ActionType": "main.relayPacketsAction", + "Action": { + "ChainA": "provi", + "ChainB": "consu", + "Port": "provider", + "Channel": 0 + }, + "State": { + "consu": { + "ValBalances": 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, + "Proposals": null + } + } + }, + { + "ActionType": "main.unjailValidatorAction", + "Action": { + "Provider": "provi", + "Validator": "bob" + }, + "State": { + "consu": { + "ValBalances": 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, + "Proposals": null + }, + "provi": { + "ValBalances": 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, + "Proposals": null + } + } + }, + { + "ActionType": "main.relayPacketsAction", + "Action": { + "ChainA": "provi", + "ChainB": "consu", + "Port": "provider", + "Channel": 0 + }, + "State": { + "consu": { + "ValBalances": 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, + "Proposals": null + } + } + }, + { + "ActionType": "main.downtimeSlashAction", + "Action": { + "Chain": "provi", + "Validator": "carol" + }, + "State": { + "consu": { + "ValBalances": 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, + "Proposals": null + }, + "provi": { + "ValBalances": 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, + "Proposals": null + } + } + }, + { + "ActionType": "main.relayPacketsAction", + "Action": { + "ChainA": "provi", + "ChainB": "consu", + "Port": "provider", + "Channel": 0 + }, + "State": { + "consu": { + "ValBalances": 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, + "Proposals": null + } + } + }, + { + "ActionType": "main.unjailValidatorAction", + "Action": { + "Provider": "provi", + "Validator": "carol" + }, + "State": { + "consu": { + "ValBalances": 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, + "Proposals": null + }, + "provi": { + "ValBalances": 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, + "Proposals": null + } + } + }, + { + "ActionType": "main.relayPacketsAction", + "Action": { + "ChainA": "provi", + "ChainB": "consu", + "Port": "provider", + "Channel": 0 + }, + "State": { + "consu": { + "ValBalances": 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, + "Proposals": null + } + } + }, + { + "ActionType": "main.submitEquivocationProposalAction", + "Action": { + "Chain": "consu", + "Height": 10, + "Time": "2023-09-20T18:24:51.823193+02:00", + "Power": 500, + "Validator": "bob", + "Deposit": 10000001, + "From": "bob" + }, + "State": { + "consu": { + "ValBalances": 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, + "Proposals": null + }, + "provi": { + "ValBalances": { + "bob": 9500000000 + }, + "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, + "Proposals": { + "2": { + "RawProposal": { + "Title": "", + "Description": "", + "Deposit": 0, + "Status": "" + }, + "Type": "main.TextProposal" + } + } + } + } + }, + { + "ActionType": "main.doublesignSlashAction", + "Action": { + "Validator": "carol", + "Chain": "provi" + }, + "State": { + "consu": { + "ValBalances": 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, + "Proposals": null + }, + "provi": { + "ValBalances": 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, + "Proposals": null + } + } + }, + { + "ActionType": "main.relayPacketsAction", + "Action": { + "ChainA": "provi", + "ChainB": "consu", + "Port": "provider", + "Channel": 0 + }, + "State": { + "consu": { + "ValBalances": 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, + "Proposals": null + }, + "provi": { + "ValBalances": 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, + "Proposals": null + } + } + }, + { + "ActionType": "main.doublesignSlashAction", + "Action": { + "Validator": "bob", + "Chain": "consu" + }, + "State": { + "consu": { + "ValBalances": 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, + "Proposals": null + }, + "provi": { + "ValBalances": 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, + "Proposals": null + } + } + }, + { + "ActionType": "main.relayPacketsAction", + "Action": { + "ChainA": "provi", + "ChainB": "consu", + "Port": "provider", + "Channel": 0 + }, + "State": { + "consu": { + "ValBalances": 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, + "Proposals": null + }, + "provi": { + "ValBalances": 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, + "Proposals": null + } + } + }, + { + "ActionType": "main.relayPacketsAction", + "Action": { + "ChainA": "provi", + "ChainB": "consu", + "Port": "provider", + "Channel": 0 + }, + "State": { + "consu": { + "ValBalances": 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, + "Proposals": null + }, + "provi": { + "ValBalances": 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, + "Proposals": null + } + } + }, + { + "ActionType": "main.submitEquivocationProposalAction", + "Action": { + "Chain": "consu", + "Height": 10, + "Time": "2023-09-20T18:24:51.823197+02:00", + "Power": 500, + "Validator": "bob", + "Deposit": 10000001, + "From": "bob" + }, + "State": { + "consu": { + "ValBalances": 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, + "Proposals": null + }, + "provi": { + "ValBalances": { + "bob": 9489999999 + }, + "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, + "Proposals": { + "2": { + "RawProposal": { + "Height": 10, + "Power": 500, + "ConsensusAddress": "cosmosvalcons1nx7n5uh0ztxsynn4sje6eyq2ud6rc6klc96w39", + "Deposit": 10000001, + "Status": "PROPOSAL_STATUS_VOTING_PERIOD" + }, + "Type": "main.EquivocationProposal" + } + } + } + } + }, + { + "ActionType": "main.voteGovProposalAction", + "Action": { + "Chain": "provi", + "From": [ + "alice", + "bob", + "carol" + ], + "Vote": [ + "yes", + "yes", + "yes" + ], + "PropNumber": 2 + }, + "State": { + "consu": { + "ValBalances": 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, + "Proposals": null + }, + "provi": { + "ValBalances": null, + "ValPowers": { + "alice": 509, + "bob": 0, + "carol": 0 + }, + "RepresentativePowers": null, + "Params": null, + "Rewards": null, + "ConsumerChains": null, + "AssignedKeys": null, + "ProviderKeys": null, + "ConsumerChainQueueSizes": null, + "GlobalSlashQueueSize": null, + "RegisteredConsumerRewardDenoms": null, + "Proposals": { + "2": { + "RawProposal": { + "Height": 10, + "Power": 500, + "ConsensusAddress": "cosmosvalcons1nx7n5uh0ztxsynn4sje6eyq2ud6rc6klc96w39", + "Deposit": 10000001, + "Status": "PROPOSAL_STATUS_PASSED" + }, + "Type": "main.EquivocationProposal" + } + } + } + } + }, + { + "ActionType": "main.relayPacketsAction", + "Action": { + "ChainA": "provi", + "ChainB": "consu", + "Port": "provider", + "Channel": 0 + }, + "State": { + "consu": { + "ValBalances": null, + "ValPowers": { + "alice": 509, + "bob": 0, + "carol": 0 + }, + "RepresentativePowers": null, + "Params": null, + "Rewards": null, + "ConsumerChains": null, + "AssignedKeys": null, + "ProviderKeys": null, + "ConsumerChainQueueSizes": null, + "GlobalSlashQueueSize": null, + "RegisteredConsumerRewardDenoms": null, + "Proposals": null + }, + "provi": { + "ValBalances": null, + "ValPowers": { + "alice": 509, + "bob": 0, + "carol": 0 + }, + "RepresentativePowers": null, + "Params": null, + "Rewards": null, + "ConsumerChains": null, + "AssignedKeys": null, + "ProviderKeys": null, + "ConsumerChainQueueSizes": null, + "GlobalSlashQueueSize": null, + "RegisteredConsumerRewardDenoms": null, + "Proposals": null + } + } + }, + { + "ActionType": "main.startRelayerAction", + "Action": {}, + "State": {} + }, + { + "ActionType": "main.submitConsumerRemovalProposalAction", + "Action": { + "Chain": "provi", + "From": "bob", + "Deposit": 10000001, + "ConsumerChain": "consu", + "StopTimeOffset": 0 + }, + "State": { + "provi": { + "ValBalances": { + "bob": 9489999999 + }, + "ValPowers": null, + "RepresentativePowers": null, + "Params": null, + "Rewards": null, + "ConsumerChains": { + "consu": true + }, + "AssignedKeys": null, + "ProviderKeys": null, + "ConsumerChainQueueSizes": null, + "GlobalSlashQueueSize": null, + "RegisteredConsumerRewardDenoms": null, + "Proposals": { + "3": { + "RawProposal": { + "Deposit": 10000001, + "Chain": "consu", + "StopTime": 0, + "Status": "PROPOSAL_STATUS_VOTING_PERIOD" + }, + "Type": "main.ConsumerRemovalProposal" + } + } + } + } + }, + { + "ActionType": "main.voteGovProposalAction", + "Action": { + "Chain": "provi", + "From": [ + "alice", + "bob", + "carol" + ], + "Vote": [ + "no", + "no", + "no" + ], + "PropNumber": 3 + }, + "State": { + "provi": { + "ValBalances": { + "bob": 9500000000 + }, + "ValPowers": null, + "RepresentativePowers": null, + "Params": null, + "Rewards": null, + "ConsumerChains": { + "consu": true + }, + "AssignedKeys": null, + "ProviderKeys": null, + "ConsumerChainQueueSizes": null, + "GlobalSlashQueueSize": null, + "RegisteredConsumerRewardDenoms": null, + "Proposals": { + "3": { + "RawProposal": { + "Deposit": 10000001, + "Chain": "consu", + "StopTime": 0, + "Status": "PROPOSAL_STATUS_REJECTED" + }, + "Type": "main.ConsumerRemovalProposal" + } + } + } + } + }, + { + "ActionType": "main.submitConsumerRemovalProposalAction", + "Action": { + "Chain": "provi", + "From": "bob", + "Deposit": 10000001, + "ConsumerChain": "consu", + "StopTimeOffset": 0 + }, + "State": { + "provi": { + "ValBalances": { + "bob": 9489999999 + }, + "ValPowers": null, + "RepresentativePowers": null, + "Params": null, + "Rewards": null, + "ConsumerChains": { + "consu": true + }, + "AssignedKeys": null, + "ProviderKeys": null, + "ConsumerChainQueueSizes": null, + "GlobalSlashQueueSize": null, + "RegisteredConsumerRewardDenoms": null, + "Proposals": { + "4": { + "RawProposal": { + "Deposit": 10000001, + "Chain": "consu", + "StopTime": 0, + "Status": "PROPOSAL_STATUS_VOTING_PERIOD" + }, + "Type": "main.ConsumerRemovalProposal" + } + } + } + } + }, + { + "ActionType": "main.voteGovProposalAction", + "Action": { + "Chain": "provi", + "From": [ + "alice", + "bob", + "carol" + ], + "Vote": [ + "yes", + "yes", + "yes" + ], + "PropNumber": 4 + }, + "State": { + "provi": { + "ValBalances": { + "bob": 9500000000 + }, + "ValPowers": null, + "RepresentativePowers": null, + "Params": null, + "Rewards": null, + "ConsumerChains": {}, + "AssignedKeys": null, + "ProviderKeys": null, + "ConsumerChainQueueSizes": null, + "GlobalSlashQueueSize": null, + "RegisteredConsumerRewardDenoms": null, + "Proposals": { + "4": { + "RawProposal": { + "Deposit": 10000001, + "Chain": "consu", + "StopTime": 0, + "Status": "PROPOSAL_STATUS_PASSED" + }, + "Type": "main.ConsumerRemovalProposal" + } + } + } + } + } +] \ No newline at end of file diff --git a/tests/e2e/tracehandler_testdata/multipleConsumers.json b/tests/e2e/tracehandler_testdata/multipleConsumers.json index ebdc4a673a..0630749179 100644 --- a/tests/e2e/tracehandler_testdata/multipleConsumers.json +++ b/tests/e2e/tracehandler_testdata/multipleConsumers.json @@ -1 +1,2381 @@ -[{"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},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.submitConsumerAdditionProposalAction","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},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"1":{"RawProposal":{"Deposit":10000001,"Chain":"consu","SpawnTime":0,"InitialHeight":{"revision_height":1},"Status":"PROPOSAL_STATUS_VOTING_PERIOD"},"Type":"main.ConsumerAdditionProposal"}}}}},{"ActionType":"main.assignConsumerPubKeyAction","Action":{"Chain":"consu","Validator":"carol","ConsumerPubkey":"{\"@type\":\"/cosmos.crypto.ed25519.PubKey\",\"key\":\"Ui5Gf1+mtWUdH8u3xlmzdKID+F3PK0sfXZ73GZ6q6is=\"}","ReconfigureNode":false,"ExpectError":false,"ExpectedError":""},"State":{"consu":{"ValBalances":null,"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":{"carol":"cosmosvalcons1kswr5sq599365kcjmhgufevfps9njf43e4lwdk"},"ProviderKeys":{"carol":"cosmosvalcons1ezyrq65s3gshhx5585w6mpusq3xsj3ayzf4uv6"},"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":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,"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":{"bob":"","carol":"cosmosvalcons1kswr5sq599365kcjmhgufevfps9njf43e4lwdk"},"ProviderKeys":{"carol":"cosmosvalcons1ezyrq65s3gshhx5585w6mpusq3xsj3ayzf4uv6"},"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.voteGovProposalAction","Action":{"Chain":"provi","From":["alice","bob","carol"],"Vote":["yes","yes","yes"],"PropNumber":1},"State":{"provi":{"ValBalances":{"alice":9500000000,"bob":9500000000},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"1":{"RawProposal":{"Deposit":10000001,"Chain":"consu","SpawnTime":0,"InitialHeight":{"revision_height":1},"Status":"PROPOSAL_STATUS_PASSED"},"Type":"main.ConsumerAdditionProposal"}}}}},{"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},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null},"provi":{"ValBalances":{"alice":9500000000,"bob":9500000000,"carol":9500000000},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":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","Version":""},"State":{}},{"ActionType":"main.submitConsumerAdditionProposalAction","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},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"2":{"RawProposal":{"Deposit":10000001,"Chain":"densu","SpawnTime":0,"InitialHeight":{"revision_height":1},"Status":"PROPOSAL_STATUS_VOTING_PERIOD"},"Type":"main.ConsumerAdditionProposal"}}}}},{"ActionType":"main.assignConsumerPubKeyAction","Action":{"Chain":"densu","Validator":"carol","ConsumerPubkey":"{\"@type\":\"/cosmos.crypto.ed25519.PubKey\",\"key\":\"Ui5Gf1+mtWUdH8u3xlmzdKID+F3PK0sfXZ73GZ6q6is=\"}","ReconfigureNode":false,"ExpectError":false,"ExpectedError":""},"State":{"densu":{"ValBalances":null,"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":{"carol":"cosmosvalcons1kswr5sq599365kcjmhgufevfps9njf43e4lwdk"},"ProviderKeys":{"carol":"cosmosvalcons1ezyrq65s3gshhx5585w6mpusq3xsj3ayzf4uv6"},"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":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,"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":{"bob":"","carol":"cosmosvalcons1kswr5sq599365kcjmhgufevfps9njf43e4lwdk"},"ProviderKeys":{"carol":"cosmosvalcons1ezyrq65s3gshhx5585w6mpusq3xsj3ayzf4uv6"},"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.voteGovProposalAction","Action":{"Chain":"provi","From":["alice","bob","carol"],"Vote":["yes","yes","yes"],"PropNumber":2},"State":{"provi":{"ValBalances":{"alice":9500000000,"bob":9500000000},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"2":{"RawProposal":{"Deposit":10000001,"Chain":"densu","SpawnTime":0,"InitialHeight":{"revision_height":1},"Status":"PROPOSAL_STATUS_PASSED"},"Type":"main.ConsumerAdditionProposal"}}}}},{"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},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null},"provi":{"ValBalances":{"alice":9500000000,"bob":9500000000,"carol":9500000000},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":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","Version":""},"State":{}},{"ActionType":"main.delegateTokensAction","Action":{"Chain":"provi","From":"alice","To":"alice","Amount":11000000},"State":{"consu":{"ValBalances":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,"Proposals":null},"densu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null},"densu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"densu","Port":"provider","Channel":1},"State":{"consu":{"ValBalances":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,"Proposals":null},"densu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.unbondTokensAction","Action":{"Chain":"provi","Sender":"alice","UnbondFrom":"alice","Amount":1000000},"State":{"consu":{"ValBalances":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,"Proposals":null},"densu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null},"densu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"densu","Port":"provider","Channel":1},"State":{"consu":{"ValBalances":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,"Proposals":null},"densu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.redelegateTokensAction","Action":{"Chain":"provi","Src":"alice","Dst":"carol","TxSender":"alice","Amount":1000000},"State":{"consu":{"ValBalances":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,"Proposals":null},"densu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null},"densu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"densu","Port":"provider","Channel":1},"State":{"consu":{"ValBalances":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,"Proposals":null},"densu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.downtimeSlashAction","Action":{"Chain":"consu","Validator":"bob"},"State":{"consu":{"ValBalances":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,"Proposals":null},"densu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null},"densu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null},"densu":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"densu","Port":"provider","Channel":1},"State":{"consu":{"ValBalances":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,"Proposals":null},"densu":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.unjailValidatorAction","Action":{"Provider":"provi","Validator":"bob"},"State":{"consu":{"ValBalances":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,"Proposals":null},"densu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null},"densu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"densu","Port":"provider","Channel":1},"State":{"consu":{"ValBalances":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,"Proposals":null},"densu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.downtimeSlashAction","Action":{"Chain":"provi","Validator":"carol"},"State":{"consu":{"ValBalances":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,"Proposals":null},"densu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null},"densu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"densu","Port":"provider","Channel":1},"State":{"consu":{"ValBalances":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,"Proposals":null},"densu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.unjailValidatorAction","Action":{"Provider":"provi","Validator":"carol"},"State":{"consu":{"ValBalances":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,"Proposals":null},"densu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null},"densu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"densu","Port":"provider","Channel":1},"State":{"consu":{"ValBalances":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,"Proposals":null},"densu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.doublesignSlashAction","Action":{"Validator":"carol","Chain":"provi"},"State":{"consu":{"ValBalances":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,"Proposals":null},"densu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null},"densu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"densu","Port":"provider","Channel":1},"State":{"consu":{"ValBalances":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,"Proposals":null},"densu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.doublesignSlashAction","Action":{"Validator":"bob","Chain":"consu"},"State":{"consu":{"ValBalances":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,"Proposals":null},"densu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null},"densu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null},"densu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"densu","Port":"provider","Channel":1},"State":{"consu":{"ValBalances":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,"Proposals":null},"densu":{"ValBalances":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,"Proposals":null}}}] \ 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 + }, + "ValPowers": null, + "RepresentativePowers": null, + "Params": null, + "Rewards": null, + "ConsumerChains": null, + "AssignedKeys": null, + "ProviderKeys": null, + "ConsumerChainQueueSizes": null, + "GlobalSlashQueueSize": null, + "RegisteredConsumerRewardDenoms": null, + "Proposals": null + } + } + }, + { + "ActionType": "main.submitConsumerAdditionProposalAction", + "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 + }, + "ValPowers": null, + "RepresentativePowers": null, + "Params": null, + "Rewards": null, + "ConsumerChains": null, + "AssignedKeys": null, + "ProviderKeys": null, + "ConsumerChainQueueSizes": null, + "GlobalSlashQueueSize": null, + "RegisteredConsumerRewardDenoms": null, + "Proposals": { + "1": { + "RawProposal": { + "Deposit": 10000001, + "Chain": "consu", + "SpawnTime": 0, + "InitialHeight": { + "revision_height": 1 + }, + "Status": "PROPOSAL_STATUS_VOTING_PERIOD" + }, + "Type": "main.ConsumerAdditionProposal" + } + } + } + } + }, + { + "ActionType": "main.assignConsumerPubKeyAction", + "Action": { + "Chain": "consu", + "Validator": "carol", + "ConsumerPubkey": "{\"@type\":\"/cosmos.crypto.ed25519.PubKey\",\"key\":\"Ui5Gf1+mtWUdH8u3xlmzdKID+F3PK0sfXZ73GZ6q6is=\"}", + "ReconfigureNode": false, + "ExpectError": false, + "ExpectedError": "" + }, + "State": { + "consu": { + "ValBalances": null, + "ValPowers": null, + "RepresentativePowers": null, + "Params": null, + "Rewards": null, + "ConsumerChains": null, + "AssignedKeys": { + "carol": "cosmosvalcons1kswr5sq599365kcjmhgufevfps9njf43e4lwdk" + }, + "ProviderKeys": { + "carol": "cosmosvalcons1ezyrq65s3gshhx5585w6mpusq3xsj3ayzf4uv6" + }, + "ConsumerChainQueueSizes": null, + "GlobalSlashQueueSize": null, + "RegisteredConsumerRewardDenoms": null, + "Proposals": 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, + "ValPowers": null, + "RepresentativePowers": null, + "Params": null, + "Rewards": null, + "ConsumerChains": null, + "AssignedKeys": { + "bob": "", + "carol": "cosmosvalcons1kswr5sq599365kcjmhgufevfps9njf43e4lwdk" + }, + "ProviderKeys": { + "carol": "cosmosvalcons1ezyrq65s3gshhx5585w6mpusq3xsj3ayzf4uv6" + }, + "ConsumerChainQueueSizes": null, + "GlobalSlashQueueSize": null, + "RegisteredConsumerRewardDenoms": null, + "Proposals": null + } + } + }, + { + "ActionType": "main.voteGovProposalAction", + "Action": { + "Chain": "provi", + "From": [ + "alice", + "bob", + "carol" + ], + "Vote": [ + "yes", + "yes", + "yes" + ], + "PropNumber": 1 + }, + "State": { + "provi": { + "ValBalances": { + "alice": 9500000000, + "bob": 9500000000 + }, + "ValPowers": null, + "RepresentativePowers": null, + "Params": null, + "Rewards": null, + "ConsumerChains": null, + "AssignedKeys": null, + "ProviderKeys": null, + "ConsumerChainQueueSizes": null, + "GlobalSlashQueueSize": null, + "RegisteredConsumerRewardDenoms": null, + "Proposals": { + "1": { + "RawProposal": { + "Deposit": 10000001, + "Chain": "consu", + "SpawnTime": 0, + "InitialHeight": { + "revision_height": 1 + }, + "Status": "PROPOSAL_STATUS_PASSED" + }, + "Type": "main.ConsumerAdditionProposal" + } + } + } + } + }, + { + "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 + }, + "ValPowers": null, + "RepresentativePowers": null, + "Params": null, + "Rewards": null, + "ConsumerChains": null, + "AssignedKeys": null, + "ProviderKeys": null, + "ConsumerChainQueueSizes": null, + "GlobalSlashQueueSize": null, + "RegisteredConsumerRewardDenoms": null, + "Proposals": null + }, + "provi": { + "ValBalances": { + "alice": 9500000000, + "bob": 9500000000, + "carol": 9500000000 + }, + "ValPowers": null, + "RepresentativePowers": null, + "Params": null, + "Rewards": null, + "ConsumerChains": null, + "AssignedKeys": null, + "ProviderKeys": null, + "ConsumerChainQueueSizes": null, + "GlobalSlashQueueSize": null, + "RegisteredConsumerRewardDenoms": null, + "Proposals": 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", + "Version": "" + }, + "State": {} + }, + { + "ActionType": "main.submitConsumerAdditionProposalAction", + "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 + }, + "ValPowers": null, + "RepresentativePowers": null, + "Params": null, + "Rewards": null, + "ConsumerChains": null, + "AssignedKeys": null, + "ProviderKeys": null, + "ConsumerChainQueueSizes": null, + "GlobalSlashQueueSize": null, + "RegisteredConsumerRewardDenoms": null, + "Proposals": { + "2": { + "RawProposal": { + "Deposit": 10000001, + "Chain": "densu", + "SpawnTime": 0, + "InitialHeight": { + "revision_height": 1 + }, + "Status": "PROPOSAL_STATUS_VOTING_PERIOD" + }, + "Type": "main.ConsumerAdditionProposal" + } + } + } + } + }, + { + "ActionType": "main.assignConsumerPubKeyAction", + "Action": { + "Chain": "densu", + "Validator": "carol", + "ConsumerPubkey": "{\"@type\":\"/cosmos.crypto.ed25519.PubKey\",\"key\":\"Ui5Gf1+mtWUdH8u3xlmzdKID+F3PK0sfXZ73GZ6q6is=\"}", + "ReconfigureNode": false, + "ExpectError": false, + "ExpectedError": "" + }, + "State": { + "densu": { + "ValBalances": null, + "ValPowers": null, + "RepresentativePowers": null, + "Params": null, + "Rewards": null, + "ConsumerChains": null, + "AssignedKeys": { + "carol": "cosmosvalcons1kswr5sq599365kcjmhgufevfps9njf43e4lwdk" + }, + "ProviderKeys": { + "carol": "cosmosvalcons1ezyrq65s3gshhx5585w6mpusq3xsj3ayzf4uv6" + }, + "ConsumerChainQueueSizes": null, + "GlobalSlashQueueSize": null, + "RegisteredConsumerRewardDenoms": null, + "Proposals": 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, + "ValPowers": null, + "RepresentativePowers": null, + "Params": null, + "Rewards": null, + "ConsumerChains": null, + "AssignedKeys": { + "bob": "", + "carol": "cosmosvalcons1kswr5sq599365kcjmhgufevfps9njf43e4lwdk" + }, + "ProviderKeys": { + "carol": "cosmosvalcons1ezyrq65s3gshhx5585w6mpusq3xsj3ayzf4uv6" + }, + "ConsumerChainQueueSizes": null, + "GlobalSlashQueueSize": null, + "RegisteredConsumerRewardDenoms": null, + "Proposals": null + } + } + }, + { + "ActionType": "main.voteGovProposalAction", + "Action": { + "Chain": "provi", + "From": [ + "alice", + "bob", + "carol" + ], + "Vote": [ + "yes", + "yes", + "yes" + ], + "PropNumber": 2 + }, + "State": { + "provi": { + "ValBalances": { + "alice": 9500000000, + "bob": 9500000000 + }, + "ValPowers": null, + "RepresentativePowers": null, + "Params": null, + "Rewards": null, + "ConsumerChains": null, + "AssignedKeys": null, + "ProviderKeys": null, + "ConsumerChainQueueSizes": null, + "GlobalSlashQueueSize": null, + "RegisteredConsumerRewardDenoms": null, + "Proposals": { + "2": { + "RawProposal": { + "Deposit": 10000001, + "Chain": "densu", + "SpawnTime": 0, + "InitialHeight": { + "revision_height": 1 + }, + "Status": "PROPOSAL_STATUS_PASSED" + }, + "Type": "main.ConsumerAdditionProposal" + } + } + } + } + }, + { + "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 + }, + "ValPowers": null, + "RepresentativePowers": null, + "Params": null, + "Rewards": null, + "ConsumerChains": null, + "AssignedKeys": null, + "ProviderKeys": null, + "ConsumerChainQueueSizes": null, + "GlobalSlashQueueSize": null, + "RegisteredConsumerRewardDenoms": null, + "Proposals": null + }, + "provi": { + "ValBalances": { + "alice": 9500000000, + "bob": 9500000000, + "carol": 9500000000 + }, + "ValPowers": null, + "RepresentativePowers": null, + "Params": null, + "Rewards": null, + "ConsumerChains": null, + "AssignedKeys": null, + "ProviderKeys": null, + "ConsumerChainQueueSizes": null, + "GlobalSlashQueueSize": null, + "RegisteredConsumerRewardDenoms": null, + "Proposals": 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", + "Version": "" + }, + "State": {} + }, + { + "ActionType": "main.delegateTokensAction", + "Action": { + "Chain": "provi", + "From": "alice", + "To": "alice", + "Amount": 11000000 + }, + "State": { + "consu": { + "ValBalances": 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, + "Proposals": null + }, + "densu": { + "ValBalances": 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, + "Proposals": null + }, + "provi": { + "ValBalances": 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, + "Proposals": null + } + } + }, + { + "ActionType": "main.relayPacketsAction", + "Action": { + "ChainA": "provi", + "ChainB": "consu", + "Port": "provider", + "Channel": 0 + }, + "State": { + "consu": { + "ValBalances": 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, + "Proposals": null + }, + "densu": { + "ValBalances": 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, + "Proposals": null + }, + "provi": { + "ValBalances": 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, + "Proposals": null + } + } + }, + { + "ActionType": "main.relayPacketsAction", + "Action": { + "ChainA": "provi", + "ChainB": "densu", + "Port": "provider", + "Channel": 1 + }, + "State": { + "consu": { + "ValBalances": 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, + "Proposals": null + }, + "densu": { + "ValBalances": 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, + "Proposals": null + }, + "provi": { + "ValBalances": 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, + "Proposals": null + } + } + }, + { + "ActionType": "main.unbondTokensAction", + "Action": { + "Chain": "provi", + "Sender": "alice", + "UnbondFrom": "alice", + "Amount": 1000000 + }, + "State": { + "consu": { + "ValBalances": 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, + "Proposals": null + }, + "densu": { + "ValBalances": 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, + "Proposals": null + }, + "provi": { + "ValBalances": 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, + "Proposals": null + } + } + }, + { + "ActionType": "main.relayPacketsAction", + "Action": { + "ChainA": "provi", + "ChainB": "consu", + "Port": "provider", + "Channel": 0 + }, + "State": { + "consu": { + "ValBalances": 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, + "Proposals": null + }, + "densu": { + "ValBalances": 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, + "Proposals": null + }, + "provi": { + "ValBalances": 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, + "Proposals": null + } + } + }, + { + "ActionType": "main.relayPacketsAction", + "Action": { + "ChainA": "provi", + "ChainB": "densu", + "Port": "provider", + "Channel": 1 + }, + "State": { + "consu": { + "ValBalances": 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, + "Proposals": null + }, + "densu": { + "ValBalances": 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, + "Proposals": null + }, + "provi": { + "ValBalances": 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, + "Proposals": null + } + } + }, + { + "ActionType": "main.redelegateTokensAction", + "Action": { + "Chain": "provi", + "Src": "alice", + "Dst": "carol", + "TxSender": "alice", + "Amount": 1000000 + }, + "State": { + "consu": { + "ValBalances": 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, + "Proposals": null + }, + "densu": { + "ValBalances": 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, + "Proposals": null + }, + "provi": { + "ValBalances": 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, + "Proposals": null + } + } + }, + { + "ActionType": "main.relayPacketsAction", + "Action": { + "ChainA": "provi", + "ChainB": "consu", + "Port": "provider", + "Channel": 0 + }, + "State": { + "consu": { + "ValBalances": 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, + "Proposals": null + }, + "densu": { + "ValBalances": 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, + "Proposals": null + }, + "provi": { + "ValBalances": 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, + "Proposals": null + } + } + }, + { + "ActionType": "main.relayPacketsAction", + "Action": { + "ChainA": "provi", + "ChainB": "densu", + "Port": "provider", + "Channel": 1 + }, + "State": { + "consu": { + "ValBalances": 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, + "Proposals": null + }, + "densu": { + "ValBalances": 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, + "Proposals": null + }, + "provi": { + "ValBalances": 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, + "Proposals": null + } + } + }, + { + "ActionType": "main.downtimeSlashAction", + "Action": { + "Chain": "consu", + "Validator": "bob" + }, + "State": { + "consu": { + "ValBalances": 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, + "Proposals": null + }, + "densu": { + "ValBalances": 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, + "Proposals": null + }, + "provi": { + "ValBalances": 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, + "Proposals": null + } + } + }, + { + "ActionType": "main.relayPacketsAction", + "Action": { + "ChainA": "provi", + "ChainB": "consu", + "Port": "provider", + "Channel": 0 + }, + "State": { + "consu": { + "ValBalances": 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, + "Proposals": null + }, + "densu": { + "ValBalances": 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, + "Proposals": null + }, + "provi": { + "ValBalances": 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, + "Proposals": null + } + } + }, + { + "ActionType": "main.relayPacketsAction", + "Action": { + "ChainA": "provi", + "ChainB": "consu", + "Port": "provider", + "Channel": 0 + }, + "State": { + "consu": { + "ValBalances": 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, + "Proposals": null + }, + "densu": { + "ValBalances": 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, + "Proposals": null + } + } + }, + { + "ActionType": "main.relayPacketsAction", + "Action": { + "ChainA": "provi", + "ChainB": "densu", + "Port": "provider", + "Channel": 1 + }, + "State": { + "consu": { + "ValBalances": 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, + "Proposals": null + }, + "densu": { + "ValBalances": 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, + "Proposals": null + } + } + }, + { + "ActionType": "main.unjailValidatorAction", + "Action": { + "Provider": "provi", + "Validator": "bob" + }, + "State": { + "consu": { + "ValBalances": 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, + "Proposals": null + }, + "densu": { + "ValBalances": 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, + "Proposals": null + }, + "provi": { + "ValBalances": 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, + "Proposals": null + } + } + }, + { + "ActionType": "main.relayPacketsAction", + "Action": { + "ChainA": "provi", + "ChainB": "consu", + "Port": "provider", + "Channel": 0 + }, + "State": { + "consu": { + "ValBalances": 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, + "Proposals": null + }, + "densu": { + "ValBalances": 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, + "Proposals": null + }, + "provi": { + "ValBalances": 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, + "Proposals": null + } + } + }, + { + "ActionType": "main.relayPacketsAction", + "Action": { + "ChainA": "provi", + "ChainB": "densu", + "Port": "provider", + "Channel": 1 + }, + "State": { + "consu": { + "ValBalances": 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, + "Proposals": null + }, + "densu": { + "ValBalances": 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, + "Proposals": null + }, + "provi": { + "ValBalances": 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, + "Proposals": null + } + } + }, + { + "ActionType": "main.downtimeSlashAction", + "Action": { + "Chain": "provi", + "Validator": "carol" + }, + "State": { + "consu": { + "ValBalances": 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, + "Proposals": null + }, + "densu": { + "ValBalances": 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, + "Proposals": null + }, + "provi": { + "ValBalances": 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, + "Proposals": null + } + } + }, + { + "ActionType": "main.relayPacketsAction", + "Action": { + "ChainA": "provi", + "ChainB": "consu", + "Port": "provider", + "Channel": 0 + }, + "State": { + "consu": { + "ValBalances": 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, + "Proposals": null + }, + "densu": { + "ValBalances": 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, + "Proposals": null + }, + "provi": { + "ValBalances": 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, + "Proposals": null + } + } + }, + { + "ActionType": "main.relayPacketsAction", + "Action": { + "ChainA": "provi", + "ChainB": "densu", + "Port": "provider", + "Channel": 1 + }, + "State": { + "consu": { + "ValBalances": 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, + "Proposals": null + }, + "densu": { + "ValBalances": 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, + "Proposals": null + }, + "provi": { + "ValBalances": 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, + "Proposals": null + } + } + }, + { + "ActionType": "main.unjailValidatorAction", + "Action": { + "Provider": "provi", + "Validator": "carol" + }, + "State": { + "consu": { + "ValBalances": 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, + "Proposals": null + }, + "densu": { + "ValBalances": 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, + "Proposals": null + }, + "provi": { + "ValBalances": 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, + "Proposals": null + } + } + }, + { + "ActionType": "main.relayPacketsAction", + "Action": { + "ChainA": "provi", + "ChainB": "consu", + "Port": "provider", + "Channel": 0 + }, + "State": { + "consu": { + "ValBalances": 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, + "Proposals": null + }, + "densu": { + "ValBalances": 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, + "Proposals": null + }, + "provi": { + "ValBalances": 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, + "Proposals": null + } + } + }, + { + "ActionType": "main.relayPacketsAction", + "Action": { + "ChainA": "provi", + "ChainB": "densu", + "Port": "provider", + "Channel": 1 + }, + "State": { + "consu": { + "ValBalances": 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, + "Proposals": null + }, + "densu": { + "ValBalances": 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, + "Proposals": null + }, + "provi": { + "ValBalances": 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, + "Proposals": null + } + } + }, + { + "ActionType": "main.doublesignSlashAction", + "Action": { + "Validator": "carol", + "Chain": "provi" + }, + "State": { + "consu": { + "ValBalances": 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, + "Proposals": null + }, + "densu": { + "ValBalances": 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, + "Proposals": null + }, + "provi": { + "ValBalances": 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, + "Proposals": null + } + } + }, + { + "ActionType": "main.relayPacketsAction", + "Action": { + "ChainA": "provi", + "ChainB": "consu", + "Port": "provider", + "Channel": 0 + }, + "State": { + "consu": { + "ValBalances": 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, + "Proposals": null + }, + "densu": { + "ValBalances": 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, + "Proposals": null + }, + "provi": { + "ValBalances": 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, + "Proposals": null + } + } + }, + { + "ActionType": "main.relayPacketsAction", + "Action": { + "ChainA": "provi", + "ChainB": "densu", + "Port": "provider", + "Channel": 1 + }, + "State": { + "consu": { + "ValBalances": 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, + "Proposals": null + }, + "densu": { + "ValBalances": 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, + "Proposals": null + }, + "provi": { + "ValBalances": 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, + "Proposals": null + } + } + }, + { + "ActionType": "main.doublesignSlashAction", + "Action": { + "Validator": "bob", + "Chain": "consu" + }, + "State": { + "consu": { + "ValBalances": 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, + "Proposals": null + }, + "densu": { + "ValBalances": 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, + "Proposals": null + }, + "provi": { + "ValBalances": 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, + "Proposals": null + } + } + }, + { + "ActionType": "main.relayPacketsAction", + "Action": { + "ChainA": "provi", + "ChainB": "consu", + "Port": "provider", + "Channel": 0 + }, + "State": { + "consu": { + "ValBalances": 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, + "Proposals": null + }, + "densu": { + "ValBalances": 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, + "Proposals": null + }, + "provi": { + "ValBalances": 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, + "Proposals": null + } + } + }, + { + "ActionType": "main.relayPacketsAction", + "Action": { + "ChainA": "provi", + "ChainB": "consu", + "Port": "provider", + "Channel": 0 + }, + "State": { + "consu": { + "ValBalances": 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, + "Proposals": null + }, + "densu": { + "ValBalances": 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, + "Proposals": null + }, + "provi": { + "ValBalances": 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, + "Proposals": null + } + } + }, + { + "ActionType": "main.relayPacketsAction", + "Action": { + "ChainA": "provi", + "ChainB": "densu", + "Port": "provider", + "Channel": 1 + }, + "State": { + "consu": { + "ValBalances": 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, + "Proposals": null + }, + "densu": { + "ValBalances": 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, + "Proposals": null + } + } + } +] \ No newline at end of file diff --git a/tests/e2e/tracehandler_testdata/shorthappy.json b/tests/e2e/tracehandler_testdata/shorthappy.json index 6a7e44c18e..04827a04cf 100644 --- a/tests/e2e/tracehandler_testdata/shorthappy.json +++ b/tests/e2e/tracehandler_testdata/shorthappy.json @@ -1 +1,1578 @@ -[{"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},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.submitConsumerAdditionProposalAction","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},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"1":{"RawProposal":{"Deposit":10000001,"Chain":"consu","SpawnTime":0,"InitialHeight":{"revision_height":1},"Status":"PROPOSAL_STATUS_VOTING_PERIOD"},"Type":"main.ConsumerAdditionProposal"}}}}},{"ActionType":"main.assignConsumerPubKeyAction","Action":{"Chain":"consu","Validator":"carol","ConsumerPubkey":"{\"@type\":\"/cosmos.crypto.ed25519.PubKey\",\"key\":\"Ui5Gf1+mtWUdH8u3xlmzdKID+F3PK0sfXZ73GZ6q6is=\"}","ReconfigureNode":false,"ExpectError":false,"ExpectedError":""},"State":{"consu":{"ValBalances":null,"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":{"carol":"cosmosvalcons1kswr5sq599365kcjmhgufevfps9njf43e4lwdk"},"ProviderKeys":{"carol":"cosmosvalcons1ezyrq65s3gshhx5585w6mpusq3xsj3ayzf4uv6"},"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":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,"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":{"bob":"","carol":"cosmosvalcons1kswr5sq599365kcjmhgufevfps9njf43e4lwdk"},"ProviderKeys":{"carol":"cosmosvalcons1ezyrq65s3gshhx5585w6mpusq3xsj3ayzf4uv6"},"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.voteGovProposalAction","Action":{"Chain":"provi","From":["alice","bob","carol"],"Vote":["yes","yes","yes"],"PropNumber":1},"State":{"provi":{"ValBalances":{"alice":9500000000,"bob":9500000000},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"1":{"RawProposal":{"Deposit":10000001,"Chain":"consu","SpawnTime":0,"InitialHeight":{"revision_height":1},"Status":"PROPOSAL_STATUS_PASSED"},"Type":"main.ConsumerAdditionProposal"}}}}},{"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},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null},"provi":{"ValBalances":{"alice":9500000000,"bob":9500000000,"carol":9500000000},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":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","Version":""},"State":{}},{"ActionType":"main.delegateTokensAction","Action":{"Chain":"provi","From":"alice","To":"alice","Amount":11000000},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.SendTokensAction","Action":{"Chain":"consu","From":"alice","To":"bob","Amount":1},"State":{"consu":{"ValBalances":{"alice":10000000000,"bob":10000000000},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.SendTokensAction","Action":{"Chain":"consu","From":"alice","To":"bob","Amount":1},"State":{"consu":{"ValBalances":{"alice":9999999999,"bob":10000000001},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.unbondTokensAction","Action":{"Chain":"provi","Sender":"alice","UnbondFrom":"alice","Amount":1000000},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.redelegateTokensAction","Action":{"Chain":"provi","Src":"alice","Dst":"carol","TxSender":"alice","Amount":1000000},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.downtimeSlashAction","Action":{"Chain":"consu","Validator":"bob"},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.unjailValidatorAction","Action":{"Provider":"provi","Validator":"bob"},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.downtimeSlashAction","Action":{"Chain":"provi","Validator":"carol"},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.unjailValidatorAction","Action":{"Provider":"provi","Validator":"carol"},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.submitEquivocationProposalAction","Action":{"Chain":"consu","Height":10,"Time":"2023-09-19T13:25:50.602464+02:00","Power":500,"Validator":"bob","Deposit":10000001,"From":"bob"},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":{"bob":9500000000},"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,"Proposals":{"2":{"RawProposal":{"Title":"","Description":"","Deposit":0,"Status":""},"Type":"main.TextProposal"}}}}},{"ActionType":"main.doublesignSlashAction","Action":{"Validator":"carol","Chain":"provi"},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.doublesignSlashAction","Action":{"Validator":"bob","Chain":"consu"},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.submitEquivocationProposalAction","Action":{"Chain":"consu","Height":10,"Time":"2023-09-19T13:25:50.602466+02:00","Power":500,"Validator":"bob","Deposit":10000001,"From":"bob"},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":{"bob":9489999999},"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,"Proposals":{"2":{"RawProposal":{"Height":10,"Power":500,"ConsensusAddress":"cosmosvalcons1nx7n5uh0ztxsynn4sje6eyq2ud6rc6klc96w39","Deposit":10000001,"Status":"PROPOSAL_STATUS_VOTING_PERIOD"},"Type":"main.EquivocationProposal"}}}}},{"ActionType":"main.voteGovProposalAction","Action":{"Chain":"provi","From":["alice","bob","carol"],"Vote":["yes","yes","yes"],"PropNumber":2},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":null,"ValPowers":{"alice":509,"bob":0,"carol":0},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"2":{"RawProposal":{"Height":10,"Power":500,"ConsensusAddress":"cosmosvalcons1nx7n5uh0ztxsynn4sje6eyq2ud6rc6klc96w39","Deposit":10000001,"Status":"PROPOSAL_STATUS_PASSED"},"Type":"main.EquivocationProposal"}}}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":null,"ValPowers":{"alice":509,"bob":0,"carol":0},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null},"provi":{"ValBalances":null,"ValPowers":{"alice":509,"bob":0,"carol":0},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.startRelayerAction","Action":{},"State":{}},{"ActionType":"main.submitConsumerRemovalProposalAction","Action":{"Chain":"provi","From":"bob","Deposit":10000001,"ConsumerChain":"consu","StopTimeOffset":0},"State":{"provi":{"ValBalances":{"bob":9489999999},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":{"consu":true},"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"3":{"RawProposal":{"Deposit":10000001,"Chain":"consu","StopTime":0,"Status":"PROPOSAL_STATUS_VOTING_PERIOD"},"Type":"main.ConsumerRemovalProposal"}}}}},{"ActionType":"main.voteGovProposalAction","Action":{"Chain":"provi","From":["alice","bob","carol"],"Vote":["no","no","no"],"PropNumber":3},"State":{"provi":{"ValBalances":{"bob":9500000000},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":{"consu":true},"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"3":{"RawProposal":{"Deposit":10000001,"Chain":"consu","StopTime":0,"Status":"PROPOSAL_STATUS_REJECTED"},"Type":"main.ConsumerRemovalProposal"}}}}},{"ActionType":"main.submitConsumerRemovalProposalAction","Action":{"Chain":"provi","From":"bob","Deposit":10000001,"ConsumerChain":"consu","StopTimeOffset":0},"State":{"provi":{"ValBalances":{"bob":9489999999},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":{"consu":true},"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"4":{"RawProposal":{"Deposit":10000001,"Chain":"consu","StopTime":0,"Status":"PROPOSAL_STATUS_VOTING_PERIOD"},"Type":"main.ConsumerRemovalProposal"}}}}},{"ActionType":"main.voteGovProposalAction","Action":{"Chain":"provi","From":["alice","bob","carol"],"Vote":["yes","yes","yes"],"PropNumber":4},"State":{"provi":{"ValBalances":{"bob":9500000000},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":{},"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"4":{"RawProposal":{"Deposit":10000001,"Chain":"consu","StopTime":0,"Status":"PROPOSAL_STATUS_PASSED"},"Type":"main.ConsumerRemovalProposal"}}}}}] \ 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 + }, + "ValPowers": null, + "RepresentativePowers": null, + "Params": null, + "Rewards": null, + "ConsumerChains": null, + "AssignedKeys": null, + "ProviderKeys": null, + "ConsumerChainQueueSizes": null, + "GlobalSlashQueueSize": null, + "RegisteredConsumerRewardDenoms": null, + "Proposals": null + } + } + }, + { + "ActionType": "main.submitConsumerAdditionProposalAction", + "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 + }, + "ValPowers": null, + "RepresentativePowers": null, + "Params": null, + "Rewards": null, + "ConsumerChains": null, + "AssignedKeys": null, + "ProviderKeys": null, + "ConsumerChainQueueSizes": null, + "GlobalSlashQueueSize": null, + "RegisteredConsumerRewardDenoms": null, + "Proposals": { + "1": { + "RawProposal": { + "Deposit": 10000001, + "Chain": "consu", + "SpawnTime": 0, + "InitialHeight": { + "revision_height": 1 + }, + "Status": "PROPOSAL_STATUS_VOTING_PERIOD" + }, + "Type": "main.ConsumerAdditionProposal" + } + } + } + } + }, + { + "ActionType": "main.assignConsumerPubKeyAction", + "Action": { + "Chain": "consu", + "Validator": "carol", + "ConsumerPubkey": "{\"@type\":\"/cosmos.crypto.ed25519.PubKey\",\"key\":\"Ui5Gf1+mtWUdH8u3xlmzdKID+F3PK0sfXZ73GZ6q6is=\"}", + "ReconfigureNode": false, + "ExpectError": false, + "ExpectedError": "" + }, + "State": { + "consu": { + "ValBalances": null, + "ValPowers": null, + "RepresentativePowers": null, + "Params": null, + "Rewards": null, + "ConsumerChains": null, + "AssignedKeys": { + "carol": "cosmosvalcons1kswr5sq599365kcjmhgufevfps9njf43e4lwdk" + }, + "ProviderKeys": { + "carol": "cosmosvalcons1ezyrq65s3gshhx5585w6mpusq3xsj3ayzf4uv6" + }, + "ConsumerChainQueueSizes": null, + "GlobalSlashQueueSize": null, + "RegisteredConsumerRewardDenoms": null, + "Proposals": 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, + "ValPowers": null, + "RepresentativePowers": null, + "Params": null, + "Rewards": null, + "ConsumerChains": null, + "AssignedKeys": { + "bob": "", + "carol": "cosmosvalcons1kswr5sq599365kcjmhgufevfps9njf43e4lwdk" + }, + "ProviderKeys": { + "carol": "cosmosvalcons1ezyrq65s3gshhx5585w6mpusq3xsj3ayzf4uv6" + }, + "ConsumerChainQueueSizes": null, + "GlobalSlashQueueSize": null, + "RegisteredConsumerRewardDenoms": null, + "Proposals": null + } + } + }, + { + "ActionType": "main.voteGovProposalAction", + "Action": { + "Chain": "provi", + "From": [ + "alice", + "bob", + "carol" + ], + "Vote": [ + "yes", + "yes", + "yes" + ], + "PropNumber": 1 + }, + "State": { + "provi": { + "ValBalances": { + "alice": 9500000000, + "bob": 9500000000 + }, + "ValPowers": null, + "RepresentativePowers": null, + "Params": null, + "Rewards": null, + "ConsumerChains": null, + "AssignedKeys": null, + "ProviderKeys": null, + "ConsumerChainQueueSizes": null, + "GlobalSlashQueueSize": null, + "RegisteredConsumerRewardDenoms": null, + "Proposals": { + "1": { + "RawProposal": { + "Deposit": 10000001, + "Chain": "consu", + "SpawnTime": 0, + "InitialHeight": { + "revision_height": 1 + }, + "Status": "PROPOSAL_STATUS_PASSED" + }, + "Type": "main.ConsumerAdditionProposal" + } + } + } + } + }, + { + "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 + }, + "ValPowers": null, + "RepresentativePowers": null, + "Params": null, + "Rewards": null, + "ConsumerChains": null, + "AssignedKeys": null, + "ProviderKeys": null, + "ConsumerChainQueueSizes": null, + "GlobalSlashQueueSize": null, + "RegisteredConsumerRewardDenoms": null, + "Proposals": null + }, + "provi": { + "ValBalances": { + "alice": 9500000000, + "bob": 9500000000, + "carol": 9500000000 + }, + "ValPowers": null, + "RepresentativePowers": null, + "Params": null, + "Rewards": null, + "ConsumerChains": null, + "AssignedKeys": null, + "ProviderKeys": null, + "ConsumerChainQueueSizes": null, + "GlobalSlashQueueSize": null, + "RegisteredConsumerRewardDenoms": null, + "Proposals": 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", + "Version": "" + }, + "State": {} + }, + { + "ActionType": "main.delegateTokensAction", + "Action": { + "Chain": "provi", + "From": "alice", + "To": "alice", + "Amount": 11000000 + }, + "State": { + "consu": { + "ValBalances": 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, + "Proposals": null + }, + "provi": { + "ValBalances": 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, + "Proposals": null + } + } + }, + { + "ActionType": "main.SendTokensAction", + "Action": { + "Chain": "consu", + "From": "alice", + "To": "bob", + "Amount": 1 + }, + "State": { + "consu": { + "ValBalances": { + "alice": 10000000000, + "bob": 10000000000 + }, + "ValPowers": null, + "RepresentativePowers": null, + "Params": null, + "Rewards": null, + "ConsumerChains": null, + "AssignedKeys": null, + "ProviderKeys": null, + "ConsumerChainQueueSizes": null, + "GlobalSlashQueueSize": null, + "RegisteredConsumerRewardDenoms": null, + "Proposals": null + } + } + }, + { + "ActionType": "main.relayPacketsAction", + "Action": { + "ChainA": "provi", + "ChainB": "consu", + "Port": "provider", + "Channel": 0 + }, + "State": { + "consu": { + "ValBalances": 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, + "Proposals": null + } + } + }, + { + "ActionType": "main.SendTokensAction", + "Action": { + "Chain": "consu", + "From": "alice", + "To": "bob", + "Amount": 1 + }, + "State": { + "consu": { + "ValBalances": { + "alice": 9999999999, + "bob": 10000000001 + }, + "ValPowers": null, + "RepresentativePowers": null, + "Params": null, + "Rewards": null, + "ConsumerChains": null, + "AssignedKeys": null, + "ProviderKeys": null, + "ConsumerChainQueueSizes": null, + "GlobalSlashQueueSize": null, + "RegisteredConsumerRewardDenoms": null, + "Proposals": null + } + } + }, + { + "ActionType": "main.unbondTokensAction", + "Action": { + "Chain": "provi", + "Sender": "alice", + "UnbondFrom": "alice", + "Amount": 1000000 + }, + "State": { + "consu": { + "ValBalances": 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, + "Proposals": null + }, + "provi": { + "ValBalances": 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, + "Proposals": null + } + } + }, + { + "ActionType": "main.relayPacketsAction", + "Action": { + "ChainA": "provi", + "ChainB": "consu", + "Port": "provider", + "Channel": 0 + }, + "State": { + "consu": { + "ValBalances": 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, + "Proposals": null + } + } + }, + { + "ActionType": "main.redelegateTokensAction", + "Action": { + "Chain": "provi", + "Src": "alice", + "Dst": "carol", + "TxSender": "alice", + "Amount": 1000000 + }, + "State": { + "consu": { + "ValBalances": 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, + "Proposals": null + }, + "provi": { + "ValBalances": 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, + "Proposals": null + } + } + }, + { + "ActionType": "main.relayPacketsAction", + "Action": { + "ChainA": "provi", + "ChainB": "consu", + "Port": "provider", + "Channel": 0 + }, + "State": { + "consu": { + "ValBalances": 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, + "Proposals": null + } + } + }, + { + "ActionType": "main.downtimeSlashAction", + "Action": { + "Chain": "consu", + "Validator": "bob" + }, + "State": { + "consu": { + "ValBalances": 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, + "Proposals": null + }, + "provi": { + "ValBalances": 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, + "Proposals": null + } + } + }, + { + "ActionType": "main.relayPacketsAction", + "Action": { + "ChainA": "provi", + "ChainB": "consu", + "Port": "provider", + "Channel": 0 + }, + "State": { + "consu": { + "ValBalances": 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, + "Proposals": null + }, + "provi": { + "ValBalances": 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, + "Proposals": null + } + } + }, + { + "ActionType": "main.relayPacketsAction", + "Action": { + "ChainA": "provi", + "ChainB": "consu", + "Port": "provider", + "Channel": 0 + }, + "State": { + "consu": { + "ValBalances": 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, + "Proposals": null + } + } + }, + { + "ActionType": "main.unjailValidatorAction", + "Action": { + "Provider": "provi", + "Validator": "bob" + }, + "State": { + "consu": { + "ValBalances": 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, + "Proposals": null + }, + "provi": { + "ValBalances": 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, + "Proposals": null + } + } + }, + { + "ActionType": "main.relayPacketsAction", + "Action": { + "ChainA": "provi", + "ChainB": "consu", + "Port": "provider", + "Channel": 0 + }, + "State": { + "consu": { + "ValBalances": 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, + "Proposals": null + } + } + }, + { + "ActionType": "main.downtimeSlashAction", + "Action": { + "Chain": "provi", + "Validator": "carol" + }, + "State": { + "consu": { + "ValBalances": 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, + "Proposals": null + }, + "provi": { + "ValBalances": 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, + "Proposals": null + } + } + }, + { + "ActionType": "main.relayPacketsAction", + "Action": { + "ChainA": "provi", + "ChainB": "consu", + "Port": "provider", + "Channel": 0 + }, + "State": { + "consu": { + "ValBalances": 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, + "Proposals": null + } + } + }, + { + "ActionType": "main.unjailValidatorAction", + "Action": { + "Provider": "provi", + "Validator": "carol" + }, + "State": { + "consu": { + "ValBalances": 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, + "Proposals": null + }, + "provi": { + "ValBalances": 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, + "Proposals": null + } + } + }, + { + "ActionType": "main.relayPacketsAction", + "Action": { + "ChainA": "provi", + "ChainB": "consu", + "Port": "provider", + "Channel": 0 + }, + "State": { + "consu": { + "ValBalances": 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, + "Proposals": null + } + } + }, + { + "ActionType": "main.submitEquivocationProposalAction", + "Action": { + "Chain": "consu", + "Height": 10, + "Time": "2023-09-20T18:24:51.823231+02:00", + "Power": 500, + "Validator": "bob", + "Deposit": 10000001, + "From": "bob" + }, + "State": { + "consu": { + "ValBalances": 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, + "Proposals": null + }, + "provi": { + "ValBalances": { + "bob": 9500000000 + }, + "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, + "Proposals": { + "2": { + "RawProposal": { + "Title": "", + "Description": "", + "Deposit": 0, + "Status": "" + }, + "Type": "main.TextProposal" + } + } + } + } + }, + { + "ActionType": "main.doublesignSlashAction", + "Action": { + "Validator": "carol", + "Chain": "provi" + }, + "State": { + "consu": { + "ValBalances": 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, + "Proposals": null + }, + "provi": { + "ValBalances": 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, + "Proposals": null + } + } + }, + { + "ActionType": "main.relayPacketsAction", + "Action": { + "ChainA": "provi", + "ChainB": "consu", + "Port": "provider", + "Channel": 0 + }, + "State": { + "consu": { + "ValBalances": 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, + "Proposals": null + }, + "provi": { + "ValBalances": 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, + "Proposals": null + } + } + }, + { + "ActionType": "main.doublesignSlashAction", + "Action": { + "Validator": "bob", + "Chain": "consu" + }, + "State": { + "consu": { + "ValBalances": 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, + "Proposals": null + }, + "provi": { + "ValBalances": 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, + "Proposals": null + } + } + }, + { + "ActionType": "main.relayPacketsAction", + "Action": { + "ChainA": "provi", + "ChainB": "consu", + "Port": "provider", + "Channel": 0 + }, + "State": { + "consu": { + "ValBalances": 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, + "Proposals": null + }, + "provi": { + "ValBalances": 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, + "Proposals": null + } + } + }, + { + "ActionType": "main.relayPacketsAction", + "Action": { + "ChainA": "provi", + "ChainB": "consu", + "Port": "provider", + "Channel": 0 + }, + "State": { + "consu": { + "ValBalances": 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, + "Proposals": null + }, + "provi": { + "ValBalances": 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, + "Proposals": null + } + } + }, + { + "ActionType": "main.submitEquivocationProposalAction", + "Action": { + "Chain": "consu", + "Height": 10, + "Time": "2023-09-20T18:24:51.823235+02:00", + "Power": 500, + "Validator": "bob", + "Deposit": 10000001, + "From": "bob" + }, + "State": { + "consu": { + "ValBalances": 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, + "Proposals": null + }, + "provi": { + "ValBalances": { + "bob": 9489999999 + }, + "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, + "Proposals": { + "2": { + "RawProposal": { + "Height": 10, + "Power": 500, + "ConsensusAddress": "cosmosvalcons1nx7n5uh0ztxsynn4sje6eyq2ud6rc6klc96w39", + "Deposit": 10000001, + "Status": "PROPOSAL_STATUS_VOTING_PERIOD" + }, + "Type": "main.EquivocationProposal" + } + } + } + } + }, + { + "ActionType": "main.voteGovProposalAction", + "Action": { + "Chain": "provi", + "From": [ + "alice", + "bob", + "carol" + ], + "Vote": [ + "yes", + "yes", + "yes" + ], + "PropNumber": 2 + }, + "State": { + "consu": { + "ValBalances": 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, + "Proposals": null + }, + "provi": { + "ValBalances": null, + "ValPowers": { + "alice": 509, + "bob": 0, + "carol": 0 + }, + "RepresentativePowers": null, + "Params": null, + "Rewards": null, + "ConsumerChains": null, + "AssignedKeys": null, + "ProviderKeys": null, + "ConsumerChainQueueSizes": null, + "GlobalSlashQueueSize": null, + "RegisteredConsumerRewardDenoms": null, + "Proposals": { + "2": { + "RawProposal": { + "Height": 10, + "Power": 500, + "ConsensusAddress": "cosmosvalcons1nx7n5uh0ztxsynn4sje6eyq2ud6rc6klc96w39", + "Deposit": 10000001, + "Status": "PROPOSAL_STATUS_PASSED" + }, + "Type": "main.EquivocationProposal" + } + } + } + } + }, + { + "ActionType": "main.relayPacketsAction", + "Action": { + "ChainA": "provi", + "ChainB": "consu", + "Port": "provider", + "Channel": 0 + }, + "State": { + "consu": { + "ValBalances": null, + "ValPowers": { + "alice": 509, + "bob": 0, + "carol": 0 + }, + "RepresentativePowers": null, + "Params": null, + "Rewards": null, + "ConsumerChains": null, + "AssignedKeys": null, + "ProviderKeys": null, + "ConsumerChainQueueSizes": null, + "GlobalSlashQueueSize": null, + "RegisteredConsumerRewardDenoms": null, + "Proposals": null + }, + "provi": { + "ValBalances": null, + "ValPowers": { + "alice": 509, + "bob": 0, + "carol": 0 + }, + "RepresentativePowers": null, + "Params": null, + "Rewards": null, + "ConsumerChains": null, + "AssignedKeys": null, + "ProviderKeys": null, + "ConsumerChainQueueSizes": null, + "GlobalSlashQueueSize": null, + "RegisteredConsumerRewardDenoms": null, + "Proposals": null + } + } + }, + { + "ActionType": "main.startRelayerAction", + "Action": {}, + "State": {} + }, + { + "ActionType": "main.submitConsumerRemovalProposalAction", + "Action": { + "Chain": "provi", + "From": "bob", + "Deposit": 10000001, + "ConsumerChain": "consu", + "StopTimeOffset": 0 + }, + "State": { + "provi": { + "ValBalances": { + "bob": 9489999999 + }, + "ValPowers": null, + "RepresentativePowers": null, + "Params": null, + "Rewards": null, + "ConsumerChains": { + "consu": true + }, + "AssignedKeys": null, + "ProviderKeys": null, + "ConsumerChainQueueSizes": null, + "GlobalSlashQueueSize": null, + "RegisteredConsumerRewardDenoms": null, + "Proposals": { + "3": { + "RawProposal": { + "Deposit": 10000001, + "Chain": "consu", + "StopTime": 0, + "Status": "PROPOSAL_STATUS_VOTING_PERIOD" + }, + "Type": "main.ConsumerRemovalProposal" + } + } + } + } + }, + { + "ActionType": "main.voteGovProposalAction", + "Action": { + "Chain": "provi", + "From": [ + "alice", + "bob", + "carol" + ], + "Vote": [ + "no", + "no", + "no" + ], + "PropNumber": 3 + }, + "State": { + "provi": { + "ValBalances": { + "bob": 9500000000 + }, + "ValPowers": null, + "RepresentativePowers": null, + "Params": null, + "Rewards": null, + "ConsumerChains": { + "consu": true + }, + "AssignedKeys": null, + "ProviderKeys": null, + "ConsumerChainQueueSizes": null, + "GlobalSlashQueueSize": null, + "RegisteredConsumerRewardDenoms": null, + "Proposals": { + "3": { + "RawProposal": { + "Deposit": 10000001, + "Chain": "consu", + "StopTime": 0, + "Status": "PROPOSAL_STATUS_REJECTED" + }, + "Type": "main.ConsumerRemovalProposal" + } + } + } + } + }, + { + "ActionType": "main.submitConsumerRemovalProposalAction", + "Action": { + "Chain": "provi", + "From": "bob", + "Deposit": 10000001, + "ConsumerChain": "consu", + "StopTimeOffset": 0 + }, + "State": { + "provi": { + "ValBalances": { + "bob": 9489999999 + }, + "ValPowers": null, + "RepresentativePowers": null, + "Params": null, + "Rewards": null, + "ConsumerChains": { + "consu": true + }, + "AssignedKeys": null, + "ProviderKeys": null, + "ConsumerChainQueueSizes": null, + "GlobalSlashQueueSize": null, + "RegisteredConsumerRewardDenoms": null, + "Proposals": { + "4": { + "RawProposal": { + "Deposit": 10000001, + "Chain": "consu", + "StopTime": 0, + "Status": "PROPOSAL_STATUS_VOTING_PERIOD" + }, + "Type": "main.ConsumerRemovalProposal" + } + } + } + } + }, + { + "ActionType": "main.voteGovProposalAction", + "Action": { + "Chain": "provi", + "From": [ + "alice", + "bob", + "carol" + ], + "Vote": [ + "yes", + "yes", + "yes" + ], + "PropNumber": 4 + }, + "State": { + "provi": { + "ValBalances": { + "bob": 9500000000 + }, + "ValPowers": null, + "RepresentativePowers": null, + "Params": null, + "Rewards": null, + "ConsumerChains": {}, + "AssignedKeys": null, + "ProviderKeys": null, + "ConsumerChainQueueSizes": null, + "GlobalSlashQueueSize": null, + "RegisteredConsumerRewardDenoms": null, + "Proposals": { + "4": { + "RawProposal": { + "Deposit": 10000001, + "Chain": "consu", + "StopTime": 0, + "Status": "PROPOSAL_STATUS_PASSED" + }, + "Type": "main.ConsumerRemovalProposal" + } + } + } + } + } +] \ No newline at end of file diff --git a/tests/e2e/tracehandler_testdata/slashThrottle.json b/tests/e2e/tracehandler_testdata/slashThrottle.json index f44effb891..dc25e590b0 100644 --- a/tests/e2e/tracehandler_testdata/slashThrottle.json +++ b/tests/e2e/tracehandler_testdata/slashThrottle.json @@ -1 +1,807 @@ -[{"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},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.submitConsumerAdditionProposalAction","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},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"1":{"RawProposal":{"Deposit":10000001,"Chain":"consu","SpawnTime":0,"InitialHeight":{"revision_height":1},"Status":"PROPOSAL_STATUS_VOTING_PERIOD"},"Type":"main.ConsumerAdditionProposal"}}}}},{"ActionType":"main.assignConsumerPubKeyAction","Action":{"Chain":"consu","Validator":"carol","ConsumerPubkey":"{\"@type\":\"/cosmos.crypto.ed25519.PubKey\",\"key\":\"Ui5Gf1+mtWUdH8u3xlmzdKID+F3PK0sfXZ73GZ6q6is=\"}","ReconfigureNode":false,"ExpectError":false,"ExpectedError":""},"State":{"consu":{"ValBalances":null,"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":{"carol":"cosmosvalcons1kswr5sq599365kcjmhgufevfps9njf43e4lwdk"},"ProviderKeys":{"carol":"cosmosvalcons1ezyrq65s3gshhx5585w6mpusq3xsj3ayzf4uv6"},"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":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,"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":{"bob":"","carol":"cosmosvalcons1kswr5sq599365kcjmhgufevfps9njf43e4lwdk"},"ProviderKeys":{"carol":"cosmosvalcons1ezyrq65s3gshhx5585w6mpusq3xsj3ayzf4uv6"},"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.voteGovProposalAction","Action":{"Chain":"provi","From":["alice","bob","carol"],"Vote":["yes","yes","yes"],"PropNumber":1},"State":{"provi":{"ValBalances":{"alice":9500000000,"bob":9500000000},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"1":{"RawProposal":{"Deposit":10000001,"Chain":"consu","SpawnTime":0,"InitialHeight":{"revision_height":1},"Status":"PROPOSAL_STATUS_PASSED"},"Type":"main.ConsumerAdditionProposal"}}}}},{"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},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null},"provi":{"ValBalances":{"alice":9500000000,"bob":9500000000,"carol":9500000000},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":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","Version":""},"State":{}},{"ActionType":"main.delegateTokensAction","Action":{"Chain":"provi","From":"alice","To":"alice","Amount":11000000},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.SendTokensAction","Action":{"Chain":"consu","From":"alice","To":"bob","Amount":1},"State":{"consu":{"ValBalances":{"alice":10000000000,"bob":10000000000},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.SendTokensAction","Action":{"Chain":"consu","From":"alice","To":"bob","Amount":1},"State":{"consu":{"ValBalances":{"alice":9999999999,"bob":10000000001},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.downtimeSlashAction","Action":{"Chain":"consu","Validator":"bob"},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":null,"ValPowers":{"alice":511,"bob":0,"carol":500},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":{"consu":0},"GlobalSlashQueueSize":0,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.downtimeSlashAction","Action":{"Chain":"consu","Validator":"carol"},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.slashThrottleDequeue","Action":{"Chain":"consu","CurrentQueueSize":1,"NextQueueSize":0,"Timeout":80000000000},"State":{"consu":{"ValBalances":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,"Proposals":null},"provi":{"ValBalances":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,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.relayPacketsAction","Action":{"ChainA":"provi","ChainB":"consu","Port":"provider","Channel":0},"State":{"consu":{"ValBalances":null,"ValPowers":{"alice":511,"bob":0,"carol":0},"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null},"provi":{"ValBalances":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,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}},{"ActionType":"main.submitConsumerRemovalProposalAction","Action":{"Chain":"provi","From":"bob","Deposit":10000001,"ConsumerChain":"consu","StopTimeOffset":0},"State":{"provi":{"ValBalances":{"bob":9489999999},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":{"consu":true},"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"2":{"RawProposal":{"Deposit":10000001,"Chain":"consu","StopTime":0,"Status":"PROPOSAL_STATUS_VOTING_PERIOD"},"Type":"main.ConsumerRemovalProposal"}}}}},{"ActionType":"main.voteGovProposalAction","Action":{"Chain":"provi","From":["alice","bob","carol"],"Vote":["yes","yes","yes"],"PropNumber":2},"State":{"provi":{"ValBalances":{"bob":9500000000},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":{},"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":{"2":{"RawProposal":{"Deposit":10000001,"Chain":"consu","StopTime":0,"Status":"PROPOSAL_STATUS_PASSED"},"Type":"main.ConsumerRemovalProposal"}}}}}] \ 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 + }, + "ValPowers": null, + "RepresentativePowers": null, + "Params": null, + "Rewards": null, + "ConsumerChains": null, + "AssignedKeys": null, + "ProviderKeys": null, + "ConsumerChainQueueSizes": null, + "GlobalSlashQueueSize": null, + "RegisteredConsumerRewardDenoms": null, + "Proposals": null + } + } + }, + { + "ActionType": "main.submitConsumerAdditionProposalAction", + "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 + }, + "ValPowers": null, + "RepresentativePowers": null, + "Params": null, + "Rewards": null, + "ConsumerChains": null, + "AssignedKeys": null, + "ProviderKeys": null, + "ConsumerChainQueueSizes": null, + "GlobalSlashQueueSize": null, + "RegisteredConsumerRewardDenoms": null, + "Proposals": { + "1": { + "RawProposal": { + "Deposit": 10000001, + "Chain": "consu", + "SpawnTime": 0, + "InitialHeight": { + "revision_height": 1 + }, + "Status": "PROPOSAL_STATUS_VOTING_PERIOD" + }, + "Type": "main.ConsumerAdditionProposal" + } + } + } + } + }, + { + "ActionType": "main.assignConsumerPubKeyAction", + "Action": { + "Chain": "consu", + "Validator": "carol", + "ConsumerPubkey": "{\"@type\":\"/cosmos.crypto.ed25519.PubKey\",\"key\":\"Ui5Gf1+mtWUdH8u3xlmzdKID+F3PK0sfXZ73GZ6q6is=\"}", + "ReconfigureNode": false, + "ExpectError": false, + "ExpectedError": "" + }, + "State": { + "consu": { + "ValBalances": null, + "ValPowers": null, + "RepresentativePowers": null, + "Params": null, + "Rewards": null, + "ConsumerChains": null, + "AssignedKeys": { + "carol": "cosmosvalcons1kswr5sq599365kcjmhgufevfps9njf43e4lwdk" + }, + "ProviderKeys": { + "carol": "cosmosvalcons1ezyrq65s3gshhx5585w6mpusq3xsj3ayzf4uv6" + }, + "ConsumerChainQueueSizes": null, + "GlobalSlashQueueSize": null, + "RegisteredConsumerRewardDenoms": null, + "Proposals": 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, + "ValPowers": null, + "RepresentativePowers": null, + "Params": null, + "Rewards": null, + "ConsumerChains": null, + "AssignedKeys": { + "bob": "", + "carol": "cosmosvalcons1kswr5sq599365kcjmhgufevfps9njf43e4lwdk" + }, + "ProviderKeys": { + "carol": "cosmosvalcons1ezyrq65s3gshhx5585w6mpusq3xsj3ayzf4uv6" + }, + "ConsumerChainQueueSizes": null, + "GlobalSlashQueueSize": null, + "RegisteredConsumerRewardDenoms": null, + "Proposals": null + } + } + }, + { + "ActionType": "main.voteGovProposalAction", + "Action": { + "Chain": "provi", + "From": [ + "alice", + "bob", + "carol" + ], + "Vote": [ + "yes", + "yes", + "yes" + ], + "PropNumber": 1 + }, + "State": { + "provi": { + "ValBalances": { + "alice": 9500000000, + "bob": 9500000000 + }, + "ValPowers": null, + "RepresentativePowers": null, + "Params": null, + "Rewards": null, + "ConsumerChains": null, + "AssignedKeys": null, + "ProviderKeys": null, + "ConsumerChainQueueSizes": null, + "GlobalSlashQueueSize": null, + "RegisteredConsumerRewardDenoms": null, + "Proposals": { + "1": { + "RawProposal": { + "Deposit": 10000001, + "Chain": "consu", + "SpawnTime": 0, + "InitialHeight": { + "revision_height": 1 + }, + "Status": "PROPOSAL_STATUS_PASSED" + }, + "Type": "main.ConsumerAdditionProposal" + } + } + } + } + }, + { + "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 + }, + "ValPowers": null, + "RepresentativePowers": null, + "Params": null, + "Rewards": null, + "ConsumerChains": null, + "AssignedKeys": null, + "ProviderKeys": null, + "ConsumerChainQueueSizes": null, + "GlobalSlashQueueSize": null, + "RegisteredConsumerRewardDenoms": null, + "Proposals": null + }, + "provi": { + "ValBalances": { + "alice": 9500000000, + "bob": 9500000000, + "carol": 9500000000 + }, + "ValPowers": null, + "RepresentativePowers": null, + "Params": null, + "Rewards": null, + "ConsumerChains": null, + "AssignedKeys": null, + "ProviderKeys": null, + "ConsumerChainQueueSizes": null, + "GlobalSlashQueueSize": null, + "RegisteredConsumerRewardDenoms": null, + "Proposals": 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", + "Version": "" + }, + "State": {} + }, + { + "ActionType": "main.delegateTokensAction", + "Action": { + "Chain": "provi", + "From": "alice", + "To": "alice", + "Amount": 11000000 + }, + "State": { + "consu": { + "ValBalances": 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, + "Proposals": null + }, + "provi": { + "ValBalances": 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, + "Proposals": null + } + } + }, + { + "ActionType": "main.SendTokensAction", + "Action": { + "Chain": "consu", + "From": "alice", + "To": "bob", + "Amount": 1 + }, + "State": { + "consu": { + "ValBalances": { + "alice": 10000000000, + "bob": 10000000000 + }, + "ValPowers": null, + "RepresentativePowers": null, + "Params": null, + "Rewards": null, + "ConsumerChains": null, + "AssignedKeys": null, + "ProviderKeys": null, + "ConsumerChainQueueSizes": null, + "GlobalSlashQueueSize": null, + "RegisteredConsumerRewardDenoms": null, + "Proposals": null + } + } + }, + { + "ActionType": "main.relayPacketsAction", + "Action": { + "ChainA": "provi", + "ChainB": "consu", + "Port": "provider", + "Channel": 0 + }, + "State": { + "consu": { + "ValBalances": 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, + "Proposals": null + } + } + }, + { + "ActionType": "main.SendTokensAction", + "Action": { + "Chain": "consu", + "From": "alice", + "To": "bob", + "Amount": 1 + }, + "State": { + "consu": { + "ValBalances": { + "alice": 9999999999, + "bob": 10000000001 + }, + "ValPowers": null, + "RepresentativePowers": null, + "Params": null, + "Rewards": null, + "ConsumerChains": null, + "AssignedKeys": null, + "ProviderKeys": null, + "ConsumerChainQueueSizes": null, + "GlobalSlashQueueSize": null, + "RegisteredConsumerRewardDenoms": null, + "Proposals": null + } + } + }, + { + "ActionType": "main.downtimeSlashAction", + "Action": { + "Chain": "consu", + "Validator": "bob" + }, + "State": { + "consu": { + "ValBalances": 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, + "Proposals": null + }, + "provi": { + "ValBalances": 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, + "Proposals": null + } + } + }, + { + "ActionType": "main.relayPacketsAction", + "Action": { + "ChainA": "provi", + "ChainB": "consu", + "Port": "provider", + "Channel": 0 + }, + "State": { + "consu": { + "ValBalances": 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, + "Proposals": null + }, + "provi": { + "ValBalances": null, + "ValPowers": { + "alice": 511, + "bob": 0, + "carol": 500 + }, + "RepresentativePowers": null, + "Params": null, + "Rewards": null, + "ConsumerChains": null, + "AssignedKeys": null, + "ProviderKeys": null, + "ConsumerChainQueueSizes": { + "consu": 0 + }, + "GlobalSlashQueueSize": 0, + "RegisteredConsumerRewardDenoms": null, + "Proposals": null + } + } + }, + { + "ActionType": "main.downtimeSlashAction", + "Action": { + "Chain": "consu", + "Validator": "carol" + }, + "State": { + "consu": { + "ValBalances": 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, + "Proposals": null + }, + "provi": { + "ValBalances": 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, + "Proposals": null + } + } + }, + { + "ActionType": "main.relayPacketsAction", + "Action": { + "ChainA": "provi", + "ChainB": "consu", + "Port": "provider", + "Channel": 0 + }, + "State": { + "consu": { + "ValBalances": 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, + "Proposals": null + }, + "provi": { + "ValBalances": 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, + "RegisteredConsumerRewardDenoms": null, + "Proposals": null + } + } + }, + { + "ActionType": "main.slashThrottleDequeueAction", + "Action": { + "Chain": "consu", + "CurrentQueueSize": 1, + "NextQueueSize": 0, + "Timeout": 80000000000 + }, + "State": { + "consu": { + "ValBalances": 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, + "Proposals": null + }, + "provi": { + "ValBalances": 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, + "RegisteredConsumerRewardDenoms": null, + "Proposals": null + } + } + }, + { + "ActionType": "main.relayPacketsAction", + "Action": { + "ChainA": "provi", + "ChainB": "consu", + "Port": "provider", + "Channel": 0 + }, + "State": { + "consu": { + "ValBalances": null, + "ValPowers": { + "alice": 511, + "bob": 0, + "carol": 0 + }, + "RepresentativePowers": null, + "Params": null, + "Rewards": null, + "ConsumerChains": null, + "AssignedKeys": null, + "ProviderKeys": null, + "ConsumerChainQueueSizes": null, + "GlobalSlashQueueSize": null, + "RegisteredConsumerRewardDenoms": null, + "Proposals": null + }, + "provi": { + "ValBalances": 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, + "RegisteredConsumerRewardDenoms": null, + "Proposals": null + } + } + }, + { + "ActionType": "main.submitConsumerRemovalProposalAction", + "Action": { + "Chain": "provi", + "From": "bob", + "Deposit": 10000001, + "ConsumerChain": "consu", + "StopTimeOffset": 0 + }, + "State": { + "provi": { + "ValBalances": { + "bob": 9489999999 + }, + "ValPowers": null, + "RepresentativePowers": null, + "Params": null, + "Rewards": null, + "ConsumerChains": { + "consu": true + }, + "AssignedKeys": null, + "ProviderKeys": null, + "ConsumerChainQueueSizes": null, + "GlobalSlashQueueSize": null, + "RegisteredConsumerRewardDenoms": null, + "Proposals": { + "2": { + "RawProposal": { + "Deposit": 10000001, + "Chain": "consu", + "StopTime": 0, + "Status": "PROPOSAL_STATUS_VOTING_PERIOD" + }, + "Type": "main.ConsumerRemovalProposal" + } + } + } + } + }, + { + "ActionType": "main.voteGovProposalAction", + "Action": { + "Chain": "provi", + "From": [ + "alice", + "bob", + "carol" + ], + "Vote": [ + "yes", + "yes", + "yes" + ], + "PropNumber": 2 + }, + "State": { + "provi": { + "ValBalances": { + "bob": 9500000000 + }, + "ValPowers": null, + "RepresentativePowers": null, + "Params": null, + "Rewards": null, + "ConsumerChains": {}, + "AssignedKeys": null, + "ProviderKeys": null, + "ConsumerChainQueueSizes": null, + "GlobalSlashQueueSize": null, + "RegisteredConsumerRewardDenoms": null, + "Proposals": { + "2": { + "RawProposal": { + "Deposit": 10000001, + "Chain": "consu", + "StopTime": 0, + "Status": "PROPOSAL_STATUS_PASSED" + }, + "Type": "main.ConsumerRemovalProposal" + } + } + } + } + } +] \ 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 deleted file mode 100644 index 7093324566..0000000000 --- a/tests/e2e/tracehandler_testdata/start_provider_chain.json +++ /dev/null @@ -1 +0,0 @@ -[{"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},"ValPowers":null,"RepresentativePowers":null,"Params":null,"Rewards":null,"ConsumerChains":null,"AssignedKeys":null,"ProviderKeys":null,"ConsumerChainQueueSizes":null,"GlobalSlashQueueSize":null,"RegisteredConsumerRewardDenoms":null,"Proposals":null}}}] \ No newline at end of file From e837330cebcff0290f06ce470397cf06167247ef Mon Sep 17 00:00:00 2001 From: Philip Offtermatt Date: Wed, 20 Sep 2023 18:34:56 +0200 Subject: [PATCH 28/32] Add README that contains info about updates to trace format --- tests/e2e/README.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 tests/e2e/README.md diff --git a/tests/e2e/README.md b/tests/e2e/README.md new file mode 100644 index 0000000000..ee9c962651 --- /dev/null +++ b/tests/e2e/README.md @@ -0,0 +1,13 @@ +## Updating the trace format and tests when adjusting the framework + +Some things in the test framework should stay consistent, in particular with respect to the trace format. +When adding or modifying actions, please follow these guidelines: +* Add a case for your action to `main.go` +* Add a case for your action to `json_utils.go/UnmarshalMapToActionType` +* Add a generator for your action to `action_rapid_test.go` and add the generator to `GetActionGen` + +If the chain state from `state.go` is modified, the `ChainStateWithProposalTypes` in `json_utils.go/MarshalJSON` should be updated. + +When adding a new proposal type: +* add a case for your proposal type to `json_utils.go/UnmarshalProposalWithType` +* add a generator for your proposal type in `state_rapid_test.go` and add it to the `GetProposalGen` function \ No newline at end of file From 05232d933977a88a981f7f0d3ea07db1fb8e8bb3 Mon Sep 17 00:00:00 2001 From: Philip Offtermatt Date: Thu, 21 Sep 2023 14:42:15 +0200 Subject: [PATCH 29/32] Pull out the copied ChainState and Proposal types from methods --- tests/e2e/json_utils.go | 68 ++++++++++++++++------------------------- 1 file changed, 27 insertions(+), 41 deletions(-) diff --git a/tests/e2e/json_utils.go b/tests/e2e/json_utils.go index 8ef7a4918f..a5a99ed07a 100644 --- a/tests/e2e/json_utils.go +++ b/tests/e2e/json_utils.go @@ -6,6 +6,28 @@ import ( "reflect" ) +// stores a proposal as a raw json, together with its type +type ProposalAndType struct { + RawProposal json.RawMessage + Type string +} + +// duplicated from the ChainState with a minor change to the Proposals field +type ChainStateWithProposalTypes struct { + ValBalances *map[ValidatorID]uint + ValPowers *map[ValidatorID]uint + RepresentativePowers *map[ValidatorID]uint + Params *[]Param + Rewards *Rewards + ConsumerChains *map[ChainID]bool + AssignedKeys *map[ValidatorID]string + ProviderKeys *map[ValidatorID]string + ConsumerChainQueueSizes *map[ChainID]uint + GlobalSlashQueueSize *uint + RegisteredConsumerRewardDenoms *[]string + Proposals *map[uint]ProposalAndType // the only thing changed from the real ChainState +} + // MarshalJSON marshals a step into JSON while including the type of the action. func (step Step) MarshalJSON() ([]byte, error) { actionType := reflect.TypeOf(step.Action) @@ -268,26 +290,6 @@ func UnmarshalMapToActionType(rawAction json.RawMessage, actionTypeString string // MarshalJSON transforms the ChainState into a ChainStateWithProposalTypes by adding type info to the proposals func (c ChainState) MarshalJSON() ([]byte, error) { - type ProposalAndType struct { - RawProposal interface{} - Type string - } - - type ChainStateWithProposalTypes struct { - ValBalances *map[ValidatorID]uint - ValPowers *map[ValidatorID]uint - RepresentativePowers *map[ValidatorID]uint - Params *[]Param - Rewards *Rewards - ConsumerChains *map[ChainID]bool - AssignedKeys *map[ValidatorID]string - ProviderKeys *map[ValidatorID]string - ConsumerChainQueueSizes *map[ChainID]uint - GlobalSlashQueueSize *uint - RegisteredConsumerRewardDenoms *[]string - Proposals *map[uint]ProposalAndType // the only thing changed from the real ChainState - } - chainStateWithProposalTypes := ChainStateWithProposalTypes{ ValBalances: c.ValBalances, ValPowers: c.ValPowers, @@ -304,7 +306,11 @@ func (c ChainState) MarshalJSON() ([]byte, error) { if c.Proposals != nil { proposalsWithTypes := make(map[uint]ProposalAndType) for k, v := range *c.Proposals { - proposalsWithTypes[k] = ProposalAndType{v, reflect.TypeOf(v).String()} + rawMessage, err := json.Marshal(v) + if err != nil { + return nil, err + } + proposalsWithTypes[k] = ProposalAndType{rawMessage, reflect.TypeOf(v).String()} } chainStateWithProposalTypes.Proposals = &proposalsWithTypes } @@ -313,26 +319,6 @@ func (c ChainState) MarshalJSON() ([]byte, error) { // UnmarshalJSON unmarshals the ChainStateWithProposalTypes into a ChainState by removing the type info from the proposals and getting back standard proposals func (c *ChainState) UnmarshalJSON(data []byte) error { - type ProposalAndType struct { - RawProposal json.RawMessage - Type string - } - - type ChainStateWithProposalTypes struct { - ValBalances *map[ValidatorID]uint - ValPowers *map[ValidatorID]uint - RepresentativePowers *map[ValidatorID]uint - Params *[]Param - Rewards *Rewards - ConsumerChains *map[ChainID]bool - AssignedKeys *map[ValidatorID]string - ProviderKeys *map[ValidatorID]string - ConsumerChainQueueSizes *map[ChainID]uint - GlobalSlashQueueSize *uint - RegisteredConsumerRewardDenoms *[]string - Proposals *map[uint]ProposalAndType // the only thing changed from the real ChainState - } - chainStateWithProposalTypes := ChainStateWithProposalTypes{} err := json.Unmarshal(data, &chainStateWithProposalTypes) if err != nil { From f8c8329d4cf00040c965b4281b01250880ffa7fe Mon Sep 17 00:00:00 2001 From: Philip Offtermatt Date: Thu, 21 Sep 2023 18:37:48 +0200 Subject: [PATCH 30/32] Use shadowing to avoid relisting chainstate fields --- tests/e2e/json_utils.go | 55 ++++++++++---------------------- tests/e2e/trace_handlers_test.go | 31 +++--------------- 2 files changed, 21 insertions(+), 65 deletions(-) diff --git a/tests/e2e/json_utils.go b/tests/e2e/json_utils.go index a5a99ed07a..fa1201eda7 100644 --- a/tests/e2e/json_utils.go +++ b/tests/e2e/json_utils.go @@ -12,21 +12,16 @@ type ProposalAndType struct { Type string } -// duplicated from the ChainState with a minor change to the Proposals field -type ChainStateWithProposalTypes struct { - ValBalances *map[ValidatorID]uint - ValPowers *map[ValidatorID]uint - RepresentativePowers *map[ValidatorID]uint - Params *[]Param - Rewards *Rewards - ConsumerChains *map[ChainID]bool - AssignedKeys *map[ValidatorID]string - ProviderKeys *map[ValidatorID]string - ConsumerChainQueueSizes *map[ChainID]uint - GlobalSlashQueueSize *uint - RegisteredConsumerRewardDenoms *[]string - Proposals *map[uint]ProposalAndType // the only thing changed from the real ChainState -} +type ( + // to have a ChainState object that does not have the overriden Marshal/Unmarshal method + ChainStateCopy ChainState + + // duplicated from the ChainState with a minor change to the Proposals field + ChainStateWithProposalTypes struct { + ChainStateCopy + Proposals *map[uint]ProposalAndType // the only thing changed from the real ChainState + } +) // MarshalJSON marshals a step into JSON while including the type of the action. func (step Step) MarshalJSON() ([]byte, error) { @@ -52,6 +47,7 @@ func (step *Step) UnmarshalJSON(data []byte) error { Action json.RawMessage State State } + print(string(data)) if err := json.Unmarshal(data, &tmp); err != nil { return err } @@ -290,19 +286,8 @@ func UnmarshalMapToActionType(rawAction json.RawMessage, actionTypeString string // MarshalJSON transforms the ChainState into a ChainStateWithProposalTypes by adding type info to the proposals func (c ChainState) MarshalJSON() ([]byte, error) { - chainStateWithProposalTypes := ChainStateWithProposalTypes{ - ValBalances: c.ValBalances, - ValPowers: c.ValPowers, - RepresentativePowers: c.RepresentativePowers, - Params: c.Params, - Rewards: c.Rewards, - ConsumerChains: c.ConsumerChains, - AssignedKeys: c.AssignedKeys, - ProviderKeys: c.ProviderKeys, - ConsumerChainQueueSizes: c.ConsumerChainQueueSizes, - GlobalSlashQueueSize: c.GlobalSlashQueueSize, - RegisteredConsumerRewardDenoms: c.RegisteredConsumerRewardDenoms, - } + chainStateCopy := ChainStateCopy(c) + chainStateWithProposalTypes := ChainStateWithProposalTypes{chainStateCopy, nil} if c.Proposals != nil { proposalsWithTypes := make(map[uint]ProposalAndType) for k, v := range *c.Proposals { @@ -324,17 +309,9 @@ func (c *ChainState) UnmarshalJSON(data []byte) error { if err != nil { return err } - c.ValBalances = chainStateWithProposalTypes.ValBalances - c.ValPowers = chainStateWithProposalTypes.ValPowers - c.RepresentativePowers = chainStateWithProposalTypes.RepresentativePowers - c.Params = chainStateWithProposalTypes.Params - c.Rewards = chainStateWithProposalTypes.Rewards - c.ConsumerChains = chainStateWithProposalTypes.ConsumerChains - c.AssignedKeys = chainStateWithProposalTypes.AssignedKeys - c.ProviderKeys = chainStateWithProposalTypes.ProviderKeys - c.ConsumerChainQueueSizes = chainStateWithProposalTypes.ConsumerChainQueueSizes - c.GlobalSlashQueueSize = chainStateWithProposalTypes.GlobalSlashQueueSize - c.RegisteredConsumerRewardDenoms = chainStateWithProposalTypes.RegisteredConsumerRewardDenoms + + chainState := ChainState(chainStateWithProposalTypes.ChainStateCopy) + *c = chainState if chainStateWithProposalTypes.Proposals != nil { proposals := make(map[uint]Proposal) diff --git a/tests/e2e/trace_handlers_test.go b/tests/e2e/trace_handlers_test.go index 9f34b7a761..725496c51f 100644 --- a/tests/e2e/trace_handlers_test.go +++ b/tests/e2e/trace_handlers_test.go @@ -62,33 +62,14 @@ func TestWriterThenParser(t *testing.T) { for name, tc := range tests { t.Run(name, func(t *testing.T) { filename := filepath.Join(dir, "trace.json") - err := WriteReadCompareTrace(tc.trace, filename, name) + err := WriteAndReadTrace(GlobalJSONParser, GlobalJSONWriter, tc.trace, filename) if err != nil { - log.Fatal(err) + log.Fatalf("got error for testcase %v: %s", name, err) } }) } } -// Write a trace to a file, then reads it back and compares to the original. -func WriteReadCompareTrace(trace []Step, filename, name string) error { - err := WriteAndReadTrace(GlobalJSONParser, GlobalJSONWriter, trace, filename) - if err != nil { - return fmt.Errorf("in testcase %v, got error writing trace to file: %v", name, err) - } - - got, err := GlobalJSONParser.ReadTraceFromFile(filename) - if err != nil { - return fmt.Errorf("in testcase %v, got error reading trace from file: %v", name, err) - } - diff := cmp.Diff(trace, got, cmp.AllowUnexported(Step{})) - if diff != "" { - return fmt.Errorf("Got a difference for testcase %s (-want +got):\n%s", name, diff) - } - - return nil -} - // Checks that writing a trace does not result in an error. func TestWriteExamples(t *testing.T) { tests := map[string]struct { @@ -236,15 +217,13 @@ func WriteAndReadTrace(parser TraceParser, writer TraceWriter, trace []Step, tmp return fmt.Errorf("error writing trace to file: %v", err) } - got, err := parser.ReadTraceFromFile(tmp_filepath) + got, err := GlobalJSONParser.ReadTraceFromFile(tmp_filepath) if err != nil { - return fmt.Errorf("error reading trace from file: %v", err) + return fmt.Errorf("got error reading trace from file: %v", err) } - diff := cmp.Diff(trace, got, cmp.AllowUnexported(Step{})) if diff != "" { - return fmt.Errorf(diff) + return fmt.Errorf("Got a difference (-want +got):\n%s", diff) } - return nil } From c77484ef78df1f1079eabde4b825d8a1a7052088 Mon Sep 17 00:00:00 2001 From: Philip Offtermatt Date: Thu, 21 Sep 2023 18:39:13 +0200 Subject: [PATCH 31/32] Make format --- tests/e2e/json_utils.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/e2e/json_utils.go b/tests/e2e/json_utils.go index fa1201eda7..5403626694 100644 --- a/tests/e2e/json_utils.go +++ b/tests/e2e/json_utils.go @@ -13,7 +13,7 @@ type ProposalAndType struct { } type ( - // to have a ChainState object that does not have the overriden Marshal/Unmarshal method + // to have a ChainState object that does not have the overridden Marshal/Unmarshal method ChainStateCopy ChainState // duplicated from the ChainState with a minor change to the Proposals field From ccdd1173f001486453312ffdf8dfa6d5e0e13f1e Mon Sep 17 00:00:00 2001 From: Philip Offtermatt Date: Sat, 23 Sep 2023 13:12:00 +0200 Subject: [PATCH 32/32] Remove log --- tests/e2e/json_utils.go | 1 - 1 file changed, 1 deletion(-) diff --git a/tests/e2e/json_utils.go b/tests/e2e/json_utils.go index 5403626694..692c34a14f 100644 --- a/tests/e2e/json_utils.go +++ b/tests/e2e/json_utils.go @@ -47,7 +47,6 @@ func (step *Step) UnmarshalJSON(data []byte) error { Action json.RawMessage State State } - print(string(data)) if err := json.Unmarshal(data, &tmp); err != nil { return err }