From 2dbb252a2e9db73733bb8bc1208e2e3d80635672 Mon Sep 17 00:00:00 2001 From: Simon Noetzlin Date: Thu, 5 Sep 2024 09:09:23 +0200 Subject: [PATCH] remove type prefix in consumer phase enum --- .../ccv/provider/v1/provider.proto | 2 + tests/e2e/state.go | 10 +- tests/integration/setup.go | 2 +- tests/integration/stop_consumer.go | 4 +- testutil/ibc_testing/generic_setup.go | 2 +- testutil/keeper/unit_test_helpers.go | 4 +- x/ccv/provider/handler_test.go | 10 +- x/ccv/provider/keeper/consumer_lifecycle.go | 12 +- .../keeper/consumer_lifecycle_test.go | 34 +- x/ccv/provider/keeper/genesis_test.go | 4 +- x/ccv/provider/keeper/grpc_query.go | 10 +- x/ccv/provider/keeper/grpc_query_test.go | 48 +-- x/ccv/provider/keeper/hooks_test.go | 6 +- x/ccv/provider/keeper/keeper_test.go | 2 +- x/ccv/provider/keeper/key_assignment.go | 2 +- x/ccv/provider/keeper/key_assignment_test.go | 18 +- x/ccv/provider/keeper/msg_server.go | 8 +- x/ccv/provider/keeper/msg_server_test.go | 6 +- x/ccv/provider/keeper/partial_set_security.go | 4 +- .../keeper/partial_set_security_test.go | 14 +- x/ccv/provider/keeper/permissionless.go | 8 +- x/ccv/provider/keeper/permissionless_test.go | 10 +- x/ccv/provider/keeper/relay.go | 4 +- x/ccv/provider/keeper/relay_test.go | 8 +- x/ccv/provider/migrations/v8/migrations.go | 2 +- x/ccv/provider/types/genesis.pb.go | 2 +- x/ccv/provider/types/provider.pb.go | 292 +++++++++--------- x/ccv/provider/types/query.pb.go | 6 +- 28 files changed, 268 insertions(+), 266 deletions(-) diff --git a/proto/interchain_security/ccv/provider/v1/provider.proto b/proto/interchain_security/ccv/provider/v1/provider.proto index 0a96af8cae..f1af229759 100644 --- a/proto/interchain_security/ccv/provider/v1/provider.proto +++ b/proto/interchain_security/ccv/provider/v1/provider.proto @@ -467,6 +467,8 @@ message ConsumerIds { repeated string ids = 1; } // ConsumerPhase indicates the phases of a consumer chain according to ADR 019 enum ConsumerPhase { + option (gogoproto.goproto_enum_prefix) = false; + // UNSPECIFIED defines an empty phase. CONSUMER_PHASE_UNSPECIFIED = 0; // REGISTERED defines the phase in which a consumer chain has been assigned a unique consumer id. diff --git a/tests/e2e/state.go b/tests/e2e/state.go index cdb25a0907..f6cac89947 100644 --- a/tests/e2e/state.go +++ b/tests/e2e/state.go @@ -769,9 +769,9 @@ func (tr Commands) GetConsumerChains(chain ChainID) map[ChainID]bool { chains := make(map[ChainID]bool) for _, c := range arr { phase := c.Get("phase").String() - if phase == types.ConsumerPhase_name[int32(types.ConsumerPhase_CONSUMER_PHASE_INITIALIZED)] || - phase == types.ConsumerPhase_name[int32(types.ConsumerPhase_CONSUMER_PHASE_REGISTERED)] || - phase == types.ConsumerPhase_name[int32(types.ConsumerPhase_CONSUMER_PHASE_LAUNCHED)] { + if phase == types.ConsumerPhase_name[int32(types.CONSUMER_PHASE_INITIALIZED)] || + phase == types.ConsumerPhase_name[int32(types.CONSUMER_PHASE_REGISTERED)] || + phase == types.ConsumerPhase_name[int32(types.CONSUMER_PHASE_LAUNCHED)] { id := c.Get("chain_id").String() chains[ChainID(id)] = true } @@ -1019,8 +1019,8 @@ func (tr Commands) GetProposedConsumerChains(chain ChainID) []string { for _, c := range arr { cid := c.Get("chain_id").String() phase := c.Get("phase").String() - if phase == types.ConsumerPhase_name[int32(types.ConsumerPhase_CONSUMER_PHASE_INITIALIZED)] || - phase == types.ConsumerPhase_name[int32(types.ConsumerPhase_CONSUMER_PHASE_REGISTERED)] { + if phase == types.ConsumerPhase_name[int32(types.CONSUMER_PHASE_INITIALIZED)] || + phase == types.ConsumerPhase_name[int32(types.CONSUMER_PHASE_REGISTERED)] { chains = append(chains, cid) } } diff --git a/tests/integration/setup.go b/tests/integration/setup.go index 1a61cbd706..218f6febb0 100644 --- a/tests/integration/setup.go +++ b/tests/integration/setup.go @@ -149,7 +149,7 @@ func (suite *CCVTestSuite) SetupTest() { // 1. the consumer chain is added to the coordinator // 2. MakeGenesis is called on the provider chain // 3. ibc/testing sets the tendermint header for the consumer chain app - providerKeeper.SetConsumerPhase(suite.providerCtx(), icstestingutils.FirstConsumerID, providertypes.ConsumerPhase_CONSUMER_PHASE_INITIALIZED) + providerKeeper.SetConsumerPhase(suite.providerCtx(), icstestingutils.FirstConsumerID, providertypes.CONSUMER_PHASE_INITIALIZED) preProposalKeyAssignment(suite, icstestingutils.FirstConsumerID) // start consumer chains diff --git a/tests/integration/stop_consumer.go b/tests/integration/stop_consumer.go index 6da22d6b66..8ce2e99cbf 100644 --- a/tests/integration/stop_consumer.go +++ b/tests/integration/stop_consumer.go @@ -89,7 +89,7 @@ func (s *CCVTestSuite) TestStopConsumerChain() { } // stop the consumer chain - providerKeeper.SetConsumerPhase(s.providerCtx(), firstBundle.ConsumerId, types.ConsumerPhase_CONSUMER_PHASE_STOPPED) + providerKeeper.SetConsumerPhase(s.providerCtx(), firstBundle.ConsumerId, types.CONSUMER_PHASE_STOPPED) err = providerKeeper.DeleteConsumerChain(s.providerCtx(), firstBundle.ConsumerId) s.Require().NoError(err) @@ -107,7 +107,7 @@ func (s *CCVTestSuite) TestStopConsumerOnChannelClosed() { providerKeeper := s.providerApp.GetProviderKeeper() // stop the consumer chain - providerKeeper.SetConsumerPhase(s.providerCtx(), s.getFirstBundle().ConsumerId, types.ConsumerPhase_CONSUMER_PHASE_STOPPED) + providerKeeper.SetConsumerPhase(s.providerCtx(), s.getFirstBundle().ConsumerId, types.CONSUMER_PHASE_STOPPED) err := providerKeeper.DeleteConsumerChain(s.providerCtx(), s.getFirstBundle().ConsumerId) s.Require().NoError(err) diff --git a/testutil/ibc_testing/generic_setup.go b/testutil/ibc_testing/generic_setup.go index 10a5d6abae..84ccf347f2 100644 --- a/testutil/ibc_testing/generic_setup.go +++ b/testutil/ibc_testing/generic_setup.go @@ -166,7 +166,7 @@ func AddConsumer[Tp testutil.ProviderApp, Tc testutil.ConsumerApp]( s.Require().NoError(err) err = providerKeeper.SetConsumerPowerShapingParameters(providerChain.GetContext(), consumerId, powerShapingParameters) s.Require().NoError(err) - providerKeeper.SetConsumerPhase(providerChain.GetContext(), consumerId, providertypes.ConsumerPhase_CONSUMER_PHASE_INITIALIZED) + providerKeeper.SetConsumerPhase(providerChain.GetContext(), consumerId, providertypes.CONSUMER_PHASE_INITIALIZED) err = providerKeeper.AppendConsumerToBeLaunched(providerChain.GetContext(), consumerId, coordinator.CurrentTime) s.Require().NoError(err) diff --git a/testutil/keeper/unit_test_helpers.go b/testutil/keeper/unit_test_helpers.go index 7de405b434..a35670d955 100644 --- a/testutil/keeper/unit_test_helpers.go +++ b/testutil/keeper/unit_test_helpers.go @@ -240,7 +240,7 @@ func SetupForDeleteConsumerChain(t *testing.T, ctx sdk.Context, require.NoError(t, err) // set the chain to initialized so that we can create a consumer client - providerKeeper.SetConsumerPhase(ctx, consumerId, providertypes.ConsumerPhase_CONSUMER_PHASE_INITIALIZED) + providerKeeper.SetConsumerPhase(ctx, consumerId, providertypes.CONSUMER_PHASE_INITIALIZED) err = providerKeeper.CreateConsumerClient(ctx, consumerId) require.NoError(t, err) @@ -251,7 +251,7 @@ func SetupForDeleteConsumerChain(t *testing.T, ctx sdk.Context, require.NoError(t, err) // set the chain to stopped sto the chain can be deleted - providerKeeper.SetConsumerPhase(ctx, consumerId, providertypes.ConsumerPhase_CONSUMER_PHASE_STOPPED) + providerKeeper.SetConsumerPhase(ctx, consumerId, providertypes.CONSUMER_PHASE_STOPPED) } // TestProviderStateIsCleanedAfterConsumerChainIsDeleted executes test assertions for the provider's state being cleaned diff --git a/x/ccv/provider/handler_test.go b/x/ccv/provider/handler_test.go index 0d06ba7dea..40ef5101db 100644 --- a/x/ccv/provider/handler_test.go +++ b/x/ccv/provider/handler_test.go @@ -55,7 +55,7 @@ func TestAssignConsensusKeyMsgHandling(t *testing.T) { setup: func(ctx sdk.Context, k keeper.Keeper, mocks testkeeper.MockedKeepers, ) { - k.SetConsumerPhase(ctx, "consumerId", providertypes.ConsumerPhase_CONSUMER_PHASE_INITIALIZED) + k.SetConsumerPhase(ctx, "consumerId", providertypes.CONSUMER_PHASE_INITIALIZED) gomock.InOrder( mocks.MockStakingKeeper.EXPECT().GetValidator( ctx, providerCryptoId.SDKValOpAddress(), @@ -88,7 +88,7 @@ func TestAssignConsensusKeyMsgHandling(t *testing.T) { setup: func(ctx sdk.Context, k keeper.Keeper, mocks testkeeper.MockedKeepers, ) { - k.SetConsumerPhase(ctx, "consumerId", providertypes.ConsumerPhase_CONSUMER_PHASE_INITIALIZED) + k.SetConsumerPhase(ctx, "consumerId", providertypes.CONSUMER_PHASE_INITIALIZED) gomock.InOrder( mocks.MockStakingKeeper.EXPECT().GetValidator( ctx, providerCryptoId.SDKValOpAddress(), @@ -103,7 +103,7 @@ func TestAssignConsensusKeyMsgHandling(t *testing.T) { setup: func(ctx sdk.Context, k keeper.Keeper, mocks testkeeper.MockedKeepers, ) { - k.SetConsumerPhase(ctx, "consumerId", providertypes.ConsumerPhase_CONSUMER_PHASE_INITIALIZED) + k.SetConsumerPhase(ctx, "consumerId", providertypes.CONSUMER_PHASE_INITIALIZED) // Use the consumer key already used by some other validator k.SetValidatorByConsumerAddr(ctx, "consumerId", consumerConsAddr, providerConsAddr2) @@ -127,7 +127,7 @@ func TestAssignConsensusKeyMsgHandling(t *testing.T) { setup: func(ctx sdk.Context, k keeper.Keeper, mocks testkeeper.MockedKeepers, ) { - k.SetConsumerPhase(ctx, "consumerId", providertypes.ConsumerPhase_CONSUMER_PHASE_INITIALIZED) + k.SetConsumerPhase(ctx, "consumerId", providertypes.CONSUMER_PHASE_INITIALIZED) // Use the consumer key already k.SetValidatorByConsumerAddr(ctx, "consumerId", consumerConsAddr, providerConsAddr) @@ -149,7 +149,7 @@ func TestAssignConsensusKeyMsgHandling(t *testing.T) { setup: func(ctx sdk.Context, k keeper.Keeper, mocks testkeeper.MockedKeepers, ) { - k.SetConsumerPhase(ctx, "consumerId", providertypes.ConsumerPhase_CONSUMER_PHASE_INITIALIZED) + k.SetConsumerPhase(ctx, "consumerId", providertypes.CONSUMER_PHASE_INITIALIZED) // Use the consumer key already used by some other validator k.SetValidatorByConsumerAddr(ctx, "consumerId", consumerConsAddr, providerConsAddr2) diff --git a/x/ccv/provider/keeper/consumer_lifecycle.go b/x/ccv/provider/keeper/consumer_lifecycle.go index 1dc3ef3d95..9de99f51e3 100644 --- a/x/ccv/provider/keeper/consumer_lifecycle.go +++ b/x/ccv/provider/keeper/consumer_lifecycle.go @@ -42,7 +42,7 @@ func (k Keeper) PrepareConsumerForLaunch(ctx sdk.Context, consumerId string, pre func (k Keeper) CanLaunch(ctx sdk.Context, consumerId string) (time.Time, bool) { // a chain that is already launched or stopped cannot launch again phase := k.GetConsumerPhase(ctx, consumerId) - if phase == types.ConsumerPhase_CONSUMER_PHASE_LAUNCHED || phase == types.ConsumerPhase_CONSUMER_PHASE_STOPPED { + if phase == types.CONSUMER_PHASE_LAUNCHED || phase == types.CONSUMER_PHASE_STOPPED { return time.Time{}, false } @@ -160,7 +160,7 @@ func (k Keeper) LaunchConsumer(ctx sdk.Context, consumerId string) error { return errorsmod.Wrapf(types.ErrInvalidConsumerGenesis, "consumer genesis initial validator set is empty - no validators opted in consumer id: %s", consumerId) } - k.SetConsumerPhase(ctx, consumerId, types.ConsumerPhase_CONSUMER_PHASE_LAUNCHED) + k.SetConsumerPhase(ctx, consumerId, types.CONSUMER_PHASE_LAUNCHED) return nil } @@ -174,7 +174,7 @@ func (k Keeper) CreateConsumerClient(ctx sdk.Context, consumerId string) error { } phase := k.GetConsumerPhase(ctx, consumerId) - if phase != types.ConsumerPhase_CONSUMER_PHASE_INITIALIZED { + if phase != types.CONSUMER_PHASE_INITIALIZED { return errorsmod.Wrapf(types.ErrInvalidPhase, "cannot create client for consumer chain that is not in the Initialized phase but in phase %d: %s", phase, consumerId) } @@ -359,7 +359,7 @@ func (k Keeper) MakeConsumerGenesis( func (k Keeper) StopAndPrepareForConsumerRemoval(ctx sdk.Context, consumerId string) error { // The phase of the chain is immediately set to stopped, albeit its state is removed later (see below). // Setting the phase here helps in not considering this chain when we look at launched chains (e.g., in `QueueVSCPackets) - k.SetConsumerPhase(ctx, consumerId, types.ConsumerPhase_CONSUMER_PHASE_STOPPED) + k.SetConsumerPhase(ctx, consumerId, types.CONSUMER_PHASE_STOPPED) // state of this chain is removed once UnbondingPeriod elapses unbondingPeriod, err := k.stakingKeeper.UnbondingTime(ctx) @@ -466,7 +466,7 @@ func (k Keeper) GetConsumersReadyToStop(ctx sdk.Context, limit uint32) []string // DeleteConsumerChain cleans up the state of the given consumer chain func (k Keeper) DeleteConsumerChain(ctx sdk.Context, consumerId string) (err error) { phase := k.GetConsumerPhase(ctx, consumerId) - if phase != types.ConsumerPhase_CONSUMER_PHASE_STOPPED { + if phase != types.CONSUMER_PHASE_STOPPED { return fmt.Errorf("cannot delete non-stopped chain: %s", consumerId) } @@ -519,7 +519,7 @@ func (k Keeper) DeleteConsumerChain(ctx sdk.Context, consumerId string) (err err // Note that we do not delete ConsumerIdToChainIdKey and ConsumerIdToPhase, as well // as consumer metadata, initialization and power-shaping parameters. - k.SetConsumerPhase(ctx, consumerId, types.ConsumerPhase_CONSUMER_PHASE_DELETED) + k.SetConsumerPhase(ctx, consumerId, types.CONSUMER_PHASE_DELETED) k.Logger(ctx).Info("consumer chain deleted from provider", "consumerId", consumerId) return nil diff --git a/x/ccv/provider/keeper/consumer_lifecycle_test.go b/x/ccv/provider/keeper/consumer_lifecycle_test.go index 47e7b4420f..3d59fec53d 100644 --- a/x/ccv/provider/keeper/consumer_lifecycle_test.go +++ b/x/ccv/provider/keeper/consumer_lifecycle_test.go @@ -61,7 +61,7 @@ func TestCanLaunch(t *testing.T) { require.False(t, canLaunch) // cannot launch a chain without initialization parameters - providerKeeper.SetConsumerPhase(ctx, "consumerId", providertypes.ConsumerPhase_CONSUMER_PHASE_INITIALIZED) + providerKeeper.SetConsumerPhase(ctx, "consumerId", providertypes.CONSUMER_PHASE_INITIALIZED) _, canLaunch = providerKeeper.CanLaunch(ctx, "consumerId") require.False(t, canLaunch) @@ -71,17 +71,17 @@ func TestCanLaunch(t *testing.T) { require.NoError(t, err) // cannot launch a launched chain - providerKeeper.SetConsumerPhase(ctx, "consumerId", providertypes.ConsumerPhase_CONSUMER_PHASE_LAUNCHED) + providerKeeper.SetConsumerPhase(ctx, "consumerId", providertypes.CONSUMER_PHASE_LAUNCHED) _, canLaunch = providerKeeper.CanLaunch(ctx, "consumerId") require.False(t, canLaunch) // cannot launch a stopped chain - providerKeeper.SetConsumerPhase(ctx, "consumerId", providertypes.ConsumerPhase_CONSUMER_PHASE_STOPPED) + providerKeeper.SetConsumerPhase(ctx, "consumerId", providertypes.CONSUMER_PHASE_STOPPED) _, canLaunch = providerKeeper.CanLaunch(ctx, "consumerId") require.False(t, canLaunch) // initialized chain can launch - providerKeeper.SetConsumerPhase(ctx, "consumerId", providertypes.ConsumerPhase_CONSUMER_PHASE_INITIALIZED) + providerKeeper.SetConsumerPhase(ctx, "consumerId", providertypes.CONSUMER_PHASE_INITIALIZED) _, canLaunch = providerKeeper.CanLaunch(ctx, "consumerId") require.True(t, canLaunch) @@ -255,7 +255,7 @@ func TestBeginBlockLaunchConsumers(t *testing.T) { err := providerKeeper.SetConsumerInitializationParameters(ctx, fmt.Sprintf("%d", i), r) require.NoError(t, err) // set up the chains in their initialized phase, hence they could launch - providerKeeper.SetConsumerPhase(ctx, fmt.Sprintf("%d", i), providertypes.ConsumerPhase_CONSUMER_PHASE_INITIALIZED) + providerKeeper.SetConsumerPhase(ctx, fmt.Sprintf("%d", i), providertypes.CONSUMER_PHASE_INITIALIZED) err = providerKeeper.AppendConsumerToBeLaunched(ctx, fmt.Sprintf("%d", i), r.SpawnTime) require.NoError(t, err) } @@ -280,33 +280,33 @@ func TestBeginBlockLaunchConsumers(t *testing.T) { // first chain was successfully launched phase := providerKeeper.GetConsumerPhase(ctx, "0") - require.Equal(t, providertypes.ConsumerPhase_CONSUMER_PHASE_LAUNCHED, phase) + require.Equal(t, providertypes.CONSUMER_PHASE_LAUNCHED, phase) _, found := providerKeeper.GetConsumerGenesis(ctx, "0") require.True(t, found) // second chain was successfully launched phase = providerKeeper.GetConsumerPhase(ctx, "1") - require.Equal(t, providertypes.ConsumerPhase_CONSUMER_PHASE_LAUNCHED, phase) + require.Equal(t, providertypes.CONSUMER_PHASE_LAUNCHED, phase) _, found = providerKeeper.GetConsumerGenesis(ctx, "1") require.True(t, found) // third chain was not launched because its spawn time has not passed phase = providerKeeper.GetConsumerPhase(ctx, "2") - require.Equal(t, providertypes.ConsumerPhase_CONSUMER_PHASE_INITIALIZED, phase) + require.Equal(t, providertypes.CONSUMER_PHASE_INITIALIZED, phase) _, found = providerKeeper.GetConsumerGenesis(ctx, "2") require.False(t, found) // fourth chain corresponds to an Opt-In chain with one opted-in validator and hence the chain gets // successfully executed phase = providerKeeper.GetConsumerPhase(ctx, "3") - require.Equal(t, providertypes.ConsumerPhase_CONSUMER_PHASE_LAUNCHED, phase) + require.Equal(t, providertypes.CONSUMER_PHASE_LAUNCHED, phase) _, found = providerKeeper.GetConsumerGenesis(ctx, "3") require.True(t, found) // fifth chain corresponds to an Opt-In chain with no opted-in validators and hence the // chain launch is NOT successful phase = providerKeeper.GetConsumerPhase(ctx, "4") - require.Equal(t, providertypes.ConsumerPhase_CONSUMER_PHASE_INITIALIZED, phase) + require.Equal(t, providertypes.CONSUMER_PHASE_INITIALIZED, phase) _, found = providerKeeper.GetConsumerGenesis(ctx, "4") require.False(t, found) } @@ -362,7 +362,7 @@ func TestCreateConsumerClient(t *testing.T) { { description: "No state mutation, new client should be created", setup: func(providerKeeper *providerkeeper.Keeper, ctx sdk.Context, mocks *testkeeper.MockedKeepers) { - providerKeeper.SetConsumerPhase(ctx, "0", providertypes.ConsumerPhase_CONSUMER_PHASE_INITIALIZED) + providerKeeper.SetConsumerPhase(ctx, "0", providertypes.CONSUMER_PHASE_INITIALIZED) // Valid client creation is asserted with mock expectations here testkeeper.SetupMocksForLastBondedValidatorsExpectation(mocks.MockStakingKeeper, 0, []stakingtypes.Validator{}, 1) // returns empty validator set @@ -375,7 +375,7 @@ func TestCreateConsumerClient(t *testing.T) { { description: "chain for this consumer id has already launched, and hence client was created, NO new one is created", setup: func(providerKeeper *providerkeeper.Keeper, ctx sdk.Context, mocks *testkeeper.MockedKeepers) { - providerKeeper.SetConsumerPhase(ctx, "0", providertypes.ConsumerPhase_CONSUMER_PHASE_LAUNCHED) + providerKeeper.SetConsumerPhase(ctx, "0", providertypes.CONSUMER_PHASE_LAUNCHED) // Expect none of the client creation related calls to happen mocks.MockStakingKeeper.EXPECT().UnbondingTime(gomock.Any()).Times(0) @@ -695,7 +695,7 @@ func TestBeginBlockStopConsumers(t *testing.T) { require.NoError(t, err) err = providerKeeper.SetConsumerPowerShapingParameters(ctx, consumerId, testkeeper.GetTestPowerShapingParameters()) require.NoError(t, err) - providerKeeper.SetConsumerPhase(ctx, consumerId, providertypes.ConsumerPhase_CONSUMER_PHASE_INITIALIZED) + providerKeeper.SetConsumerPhase(ctx, consumerId, providertypes.CONSUMER_PHASE_INITIALIZED) providerKeeper.SetConsumerClientId(ctx, consumerId, "clientID") err = providerKeeper.CreateConsumerClient(ctx, consumerId) @@ -704,7 +704,7 @@ func TestBeginBlockStopConsumers(t *testing.T) { require.NoError(t, err) // the chain is considered to be stopped and ready for deletion (i.e., `StopAndPrepareForConsumerRemoval` is called) - providerKeeper.SetConsumerPhase(ctx, consumerId, providertypes.ConsumerPhase_CONSUMER_PHASE_STOPPED) + providerKeeper.SetConsumerPhase(ctx, consumerId, providertypes.CONSUMER_PHASE_STOPPED) } // @@ -715,12 +715,12 @@ func TestBeginBlockStopConsumers(t *testing.T) { // Only the 3rd (final) proposal is still stored as pending phase := providerKeeper.GetConsumerPhase(ctx, consumerIds[0]) - require.Equal(t, providertypes.ConsumerPhase_CONSUMER_PHASE_DELETED, phase) + require.Equal(t, providertypes.CONSUMER_PHASE_DELETED, phase) phase = providerKeeper.GetConsumerPhase(ctx, consumerIds[1]) - require.Equal(t, providertypes.ConsumerPhase_CONSUMER_PHASE_DELETED, phase) + require.Equal(t, providertypes.CONSUMER_PHASE_DELETED, phase) // third chain had a removal time in the future and hence did not get deleted phase = providerKeeper.GetConsumerPhase(ctx, consumerIds[2]) - require.Equal(t, providertypes.ConsumerPhase_CONSUMER_PHASE_STOPPED, phase) + require.Equal(t, providertypes.CONSUMER_PHASE_STOPPED, phase) } func TestGetConsumersReadyToStop(t *testing.T) { diff --git a/x/ccv/provider/keeper/genesis_test.go b/x/ccv/provider/keeper/genesis_test.go index a9126f9afe..af3e0ea843 100644 --- a/x/ccv/provider/keeper/genesis_test.go +++ b/x/ccv/provider/keeper/genesis_test.go @@ -51,7 +51,7 @@ func TestInitAndExportGenesis(t *testing.T) { *ccv.DefaultConsumerGenesisState(), []ccv.ValidatorSetChangePacketData{}, []string{"slashedValidatorConsAddress"}, - providertypes.ConsumerPhase_CONSUMER_PHASE_LAUNCHED, + providertypes.CONSUMER_PHASE_LAUNCHED, ), providertypes.NewConsumerStates( cChainIDs[1], @@ -61,7 +61,7 @@ func TestInitAndExportGenesis(t *testing.T) { *ccv.DefaultConsumerGenesisState(), []ccv.ValidatorSetChangePacketData{{ValsetUpdateId: vscID}}, nil, - providertypes.ConsumerPhase_CONSUMER_PHASE_LAUNCHED, + providertypes.CONSUMER_PHASE_LAUNCHED, ), }, params, diff --git a/x/ccv/provider/keeper/grpc_query.go b/x/ccv/provider/keeper/grpc_query.go index 3325ffd193..170b3ba29b 100644 --- a/x/ccv/provider/keeper/grpc_query.go +++ b/x/ccv/provider/keeper/grpc_query.go @@ -51,7 +51,7 @@ func (k Keeper) QueryConsumerChains(goCtx context.Context, req *types.QueryConsu consumerIds := []string{} for _, consumerID := range k.GetAllConsumerIds(ctx) { phase := k.GetConsumerPhase(ctx, consumerID) - if req.Phase != types.ConsumerPhase_CONSUMER_PHASE_UNSPECIFIED && req.Phase != phase { + if req.Phase != types.CONSUMER_PHASE_UNSPECIFIED && req.Phase != phase { // ignore consumer chain continue } @@ -308,7 +308,7 @@ func (k Keeper) QueryConsumerValidators(goCtx context.Context, req *types.QueryC // get the consumer phase phase := k.GetConsumerPhase(ctx, consumerId) - if phase == types.ConsumerPhase_CONSUMER_PHASE_UNSPECIFIED { + if phase == types.CONSUMER_PHASE_UNSPECIFIED { return nil, status.Errorf(codes.InvalidArgument, "cannot find a phase for consumer: %s", consumerId) } @@ -318,13 +318,13 @@ func (k Keeper) QueryConsumerValidators(goCtx context.Context, req *types.QueryC var err error // if the consumer launched, the consumer valset has been persisted - if phase == types.ConsumerPhase_CONSUMER_PHASE_LAUNCHED { + if phase == types.CONSUMER_PHASE_LAUNCHED { consumerValSet, err = k.GetConsumerValSet(ctx, consumerId) if err != nil { return nil, status.Error(codes.Internal, err.Error()) } // if the consumer hasn't been launched or stopped, compute the consumer validator set - } else if phase != types.ConsumerPhase_CONSUMER_PHASE_STOPPED { + } else if phase != types.CONSUMER_PHASE_STOPPED { bondedValidators, err := k.GetLastBondedValidators(ctx) if err != nil { return nil, status.Error(codes.Internal, fmt.Sprintf("failed to get last validators: %s", err)) @@ -572,7 +572,7 @@ func (k Keeper) QueryConsumerChain(goCtx context.Context, req *types.QueryConsum } phase := k.GetConsumerPhase(ctx, consumerId) - if phase == types.ConsumerPhase_CONSUMER_PHASE_UNSPECIFIED { + if phase == types.CONSUMER_PHASE_UNSPECIFIED { return nil, status.Errorf(codes.InvalidArgument, "cannot retrieve phase for consumer id: %s", consumerId) } diff --git a/x/ccv/provider/keeper/grpc_query_test.go b/x/ccv/provider/keeper/grpc_query_test.go index f87c62c375..3ba2cc9059 100644 --- a/x/ccv/provider/keeper/grpc_query_test.go +++ b/x/ccv/provider/keeper/grpc_query_test.go @@ -85,7 +85,7 @@ func TestQueryConsumerChainOptedInValidators(t *testing.T) { require.Error(t, err) pk.FetchAndIncrementConsumerId(ctx) - pk.SetConsumerPhase(ctx, consumerId, types.ConsumerPhase_CONSUMER_PHASE_INITIALIZED) + pk.SetConsumerPhase(ctx, consumerId, types.CONSUMER_PHASE_INITIALIZED) providerAddr1 := types.NewProviderConsAddress([]byte("providerAddr1")) providerAddr2 := types.NewProviderConsAddress([]byte("providerAddr2")) @@ -114,7 +114,7 @@ func TestQueryConsumerValidators(t *testing.T) { require.Error(t, err) // set the consumer to the "registered" phase - pk.SetConsumerPhase(ctx, consumerId, types.ConsumerPhase_CONSUMER_PHASE_REGISTERED) + pk.SetConsumerPhase(ctx, consumerId, types.CONSUMER_PHASE_REGISTERED) // set power shaping params err = pk.SetConsumerPowerShapingParameters(ctx, consumerId, types.PowerShapingParameters{}) @@ -233,13 +233,13 @@ func TestQueryConsumerValidators(t *testing.T) { require.Equal(t, &expRes, res) // expect same result when consumer is in "initialized" phase - pk.SetConsumerPhase(ctx, consumerId, types.ConsumerPhase_CONSUMER_PHASE_INITIALIZED) + pk.SetConsumerPhase(ctx, consumerId, types.CONSUMER_PHASE_INITIALIZED) res, err = pk.QueryConsumerValidators(ctx, &req) require.NoError(t, err) require.Equal(t, &expRes, res) // set consumer to the "launched" phase - pk.SetConsumerPhase(ctx, consumerId, types.ConsumerPhase_CONSUMER_PHASE_LAUNCHED) + pk.SetConsumerPhase(ctx, consumerId, types.CONSUMER_PHASE_LAUNCHED) // expect an empty consumer valset // since neither QueueVSCPackets or MakeConsumerGenesis was called at this point @@ -324,7 +324,7 @@ func TestQueryConsumerChainsValidatorHasToValidate(t *testing.T) { clientID := "client-" + strconv.Itoa(i) pk.SetConsumerClientId(ctx, consumerId, clientID) - pk.SetConsumerPhase(ctx, consumerId, types.ConsumerPhase_CONSUMER_PHASE_LAUNCHED) + pk.SetConsumerPhase(ctx, consumerId, types.CONSUMER_PHASE_LAUNCHED) consumerIds[i] = consumerId } @@ -374,7 +374,7 @@ func TestQueryValidatorConsumerCommissionRate(t *testing.T) { require.Error(t, err) pk.FetchAndIncrementConsumerId(ctx) - pk.SetConsumerPhase(ctx, consumerId, types.ConsumerPhase_CONSUMER_PHASE_INITIALIZED) + pk.SetConsumerPhase(ctx, consumerId, types.CONSUMER_PHASE_INITIALIZED) // validator with set consumer commission rate expectedCommissionRate := math.LegacyMustNewDecFromStr("0.123") @@ -545,7 +545,7 @@ func TestQueryConsumerChain(t *testing.T) { _, err = providerKeeper.QueryConsumerChain(ctx, &req) require.Error(t, err) - providerKeeper.SetConsumerPhase(ctx, consumerId, types.ConsumerPhase_CONSUMER_PHASE_REGISTERED) + providerKeeper.SetConsumerPhase(ctx, consumerId, types.CONSUMER_PHASE_REGISTERED) // expect error when consumer doesn't have metadata _, err = providerKeeper.QueryConsumerChain(ctx, &req) @@ -558,7 +558,7 @@ func TestQueryConsumerChain(t *testing.T) { ChainId: chainId, OwnerAddress: providerKeeper.GetAuthority(), Metadata: types.ConsumerMetadata{Name: chainId}, - Phase: types.ConsumerPhase_CONSUMER_PHASE_REGISTERED.String(), + Phase: types.CONSUMER_PHASE_REGISTERED.String(), InitParams: &types.ConsumerInitializationParameters{}, PowerShapingParams: &types.PowerShapingParameters{}, } @@ -623,10 +623,10 @@ func TestQueryConsumerChains(t *testing.T) { msgServer := keeper.NewMsgServerImpl(&pk) phases := []types.ConsumerPhase{ - types.ConsumerPhase_CONSUMER_PHASE_REGISTERED, - types.ConsumerPhase_CONSUMER_PHASE_INITIALIZED, - types.ConsumerPhase_CONSUMER_PHASE_LAUNCHED, - types.ConsumerPhase_CONSUMER_PHASE_STOPPED, + types.CONSUMER_PHASE_REGISTERED, + types.CONSUMER_PHASE_INITIALIZED, + types.CONSUMER_PHASE_LAUNCHED, + types.CONSUMER_PHASE_STOPPED, } // create four consumer chains in different phase @@ -678,37 +678,37 @@ func TestQueryConsumerChains(t *testing.T) { { name: "expect registered consumers when phase filter is set to Registered", setup: func(ctx sdk.Context, pk keeper.Keeper) { - consumers[0].Phase = types.ConsumerPhase_CONSUMER_PHASE_REGISTERED.String() - pk.SetConsumerPhase(ctx, consumerIds[0], types.ConsumerPhase_CONSUMER_PHASE_REGISTERED) + consumers[0].Phase = types.CONSUMER_PHASE_REGISTERED.String() + pk.SetConsumerPhase(ctx, consumerIds[0], types.CONSUMER_PHASE_REGISTERED) }, - phase_filter: types.ConsumerPhase_CONSUMER_PHASE_REGISTERED, + phase_filter: types.CONSUMER_PHASE_REGISTERED, expConsumers: consumers[0:1], }, { name: "expect initialized consumers when phase is set to Initialized", setup: func(ctx sdk.Context, pk keeper.Keeper) { - consumers[1].Phase = types.ConsumerPhase_CONSUMER_PHASE_INITIALIZED.String() - pk.SetConsumerPhase(ctx, consumerIds[1], types.ConsumerPhase_CONSUMER_PHASE_INITIALIZED) + consumers[1].Phase = types.CONSUMER_PHASE_INITIALIZED.String() + pk.SetConsumerPhase(ctx, consumerIds[1], types.CONSUMER_PHASE_INITIALIZED) }, - phase_filter: types.ConsumerPhase_CONSUMER_PHASE_INITIALIZED, + phase_filter: types.CONSUMER_PHASE_INITIALIZED, expConsumers: consumers[1:2], }, { name: "expect launched consumers when phase is set to Launched", setup: func(ctx sdk.Context, pk keeper.Keeper) { - consumers[2].Phase = types.ConsumerPhase_CONSUMER_PHASE_LAUNCHED.String() - pk.SetConsumerPhase(ctx, consumerIds[2], types.ConsumerPhase_CONSUMER_PHASE_LAUNCHED) + consumers[2].Phase = types.CONSUMER_PHASE_LAUNCHED.String() + pk.SetConsumerPhase(ctx, consumerIds[2], types.CONSUMER_PHASE_LAUNCHED) }, - phase_filter: types.ConsumerPhase_CONSUMER_PHASE_LAUNCHED, + phase_filter: types.CONSUMER_PHASE_LAUNCHED, expConsumers: consumers[2:3], }, { name: "expect stopped consumers when phase is set to Stopped", setup: func(ctx sdk.Context, pk keeper.Keeper) { - consumers[3].Phase = types.ConsumerPhase_CONSUMER_PHASE_STOPPED.String() - pk.SetConsumerPhase(ctx, consumerIds[3], types.ConsumerPhase_CONSUMER_PHASE_STOPPED) + consumers[3].Phase = types.CONSUMER_PHASE_STOPPED.String() + pk.SetConsumerPhase(ctx, consumerIds[3], types.CONSUMER_PHASE_STOPPED) }, - phase_filter: types.ConsumerPhase_CONSUMER_PHASE_STOPPED, + phase_filter: types.CONSUMER_PHASE_STOPPED, expConsumers: consumers[3:], }, } diff --git a/x/ccv/provider/keeper/hooks_test.go b/x/ccv/provider/keeper/hooks_test.go index bc6450923f..e76eece5ad 100644 --- a/x/ccv/provider/keeper/hooks_test.go +++ b/x/ccv/provider/keeper/hooks_test.go @@ -32,7 +32,7 @@ func TestValidatorConsensusKeyInUse(t *testing.T) { name: "in use by another validator", setup: func(ctx sdk.Context, k providerkeeper.Keeper) { k.FetchAndIncrementConsumerId(ctx) - k.SetConsumerPhase(ctx, "0", types.ConsumerPhase_CONSUMER_PHASE_INITIALIZED) + k.SetConsumerPhase(ctx, "0", types.CONSUMER_PHASE_INITIALIZED) // We are trying to add a new validator, but its address has already been used // by another validator @@ -49,8 +49,8 @@ func TestValidatorConsensusKeyInUse(t *testing.T) { setup: func(ctx sdk.Context, k providerkeeper.Keeper) { k.FetchAndIncrementConsumerId(ctx) k.FetchAndIncrementConsumerId(ctx) - k.SetConsumerPhase(ctx, "0", types.ConsumerPhase_CONSUMER_PHASE_INITIALIZED) - k.SetConsumerPhase(ctx, "1", types.ConsumerPhase_CONSUMER_PHASE_INITIALIZED) + k.SetConsumerPhase(ctx, "0", types.CONSUMER_PHASE_INITIALIZED) + k.SetConsumerPhase(ctx, "1", types.CONSUMER_PHASE_INITIALIZED) // We are trying to add a new validator, but its address has already been used // by another validator, of which there are several, across potentially several chains diff --git a/x/ccv/provider/keeper/keeper_test.go b/x/ccv/provider/keeper/keeper_test.go index 79d0b7fe8c..9485c9efd7 100644 --- a/x/ccv/provider/keeper/keeper_test.go +++ b/x/ccv/provider/keeper/keeper_test.go @@ -231,7 +231,7 @@ func TestGetAllConsumersWithIBCClients(t *testing.T) { for i, consumerId := range consumerIds { clientId := fmt.Sprintf("client-%d", len(consumerIds)-i) pk.SetConsumerClientId(ctx, consumerId, clientId) - pk.SetConsumerPhase(ctx, consumerId, providertypes.ConsumerPhase_CONSUMER_PHASE_LAUNCHED) + pk.SetConsumerPhase(ctx, consumerId, providertypes.CONSUMER_PHASE_LAUNCHED) } actualConsumerIds := pk.GetAllConsumersWithIBCClients(ctx) diff --git a/x/ccv/provider/keeper/key_assignment.go b/x/ccv/provider/keeper/key_assignment.go index 47a890098a..f2f10dd368 100644 --- a/x/ccv/provider/keeper/key_assignment.go +++ b/x/ccv/provider/keeper/key_assignment.go @@ -460,7 +460,7 @@ func (k Keeper) AssignConsumerKey( // check whether the consumer chain has already launched (i.e., a client to the consumer was already created) phase := k.GetConsumerPhase(ctx, consumerId) - if phase == types.ConsumerPhase_CONSUMER_PHASE_LAUNCHED { + if phase == types.CONSUMER_PHASE_LAUNCHED { // mark the old consumer address as prunable once UnbondingPeriod elapses; // note: this state is removed on EndBlock unbondingPeriod, err := k.stakingKeeper.UnbondingTime(ctx) diff --git a/x/ccv/provider/keeper/key_assignment_test.go b/x/ccv/provider/keeper/key_assignment_test.go index 9779b727ca..fced8ad7a7 100644 --- a/x/ccv/provider/keeper/key_assignment_test.go +++ b/x/ccv/provider/keeper/key_assignment_test.go @@ -393,7 +393,7 @@ func TestAssignConsensusKeyForConsumerChain(t *testing.T) { ) }, doActions: func(ctx sdk.Context, k providerkeeper.Keeper) { - k.SetConsumerPhase(ctx, consumerId, types.ConsumerPhase_CONSUMER_PHASE_LAUNCHED) + k.SetConsumerPhase(ctx, consumerId, types.CONSUMER_PHASE_LAUNCHED) err := k.AssignConsumerKey(ctx, consumerId, providerIdentities[0].SDKStakingValidator(), consumerIdentities[0].TMProtoCryptoPublicKey(), @@ -420,7 +420,7 @@ func TestAssignConsensusKeyForConsumerChain(t *testing.T) { ) }, doActions: func(sdkCtx sdk.Context, k providerkeeper.Keeper) { - k.SetConsumerPhase(sdkCtx, consumerId, types.ConsumerPhase_CONSUMER_PHASE_LAUNCHED) + k.SetConsumerPhase(sdkCtx, consumerId, types.CONSUMER_PHASE_LAUNCHED) err := k.AssignConsumerKey(sdkCtx, consumerId, providerIdentities[0].SDKStakingValidator(), consumerIdentities[0].TMProtoCryptoPublicKey(), @@ -450,7 +450,7 @@ func TestAssignConsensusKeyForConsumerChain(t *testing.T) { ) }, doActions: func(ctx sdk.Context, k providerkeeper.Keeper) { - k.SetConsumerPhase(ctx, consumerId, types.ConsumerPhase_CONSUMER_PHASE_LAUNCHED) + k.SetConsumerPhase(ctx, consumerId, types.CONSUMER_PHASE_LAUNCHED) err := k.AssignConsumerKey(ctx, consumerId, providerIdentities[0].SDKStakingValidator(), consumerIdentities[0].TMProtoCryptoPublicKey(), @@ -477,7 +477,7 @@ func TestAssignConsensusKeyForConsumerChain(t *testing.T) { ) }, doActions: func(ctx sdk.Context, k providerkeeper.Keeper) { - k.SetConsumerPhase(ctx, consumerId, types.ConsumerPhase_CONSUMER_PHASE_LAUNCHED) + k.SetConsumerPhase(ctx, consumerId, types.CONSUMER_PHASE_LAUNCHED) err := k.AssignConsumerKey(ctx, consumerId, providerIdentities[1].SDKStakingValidator(), providerIdentities[0].TMProtoCryptoPublicKey(), @@ -495,7 +495,7 @@ func TestAssignConsensusKeyForConsumerChain(t *testing.T) { ) }, doActions: func(ctx sdk.Context, k providerkeeper.Keeper) { - k.SetConsumerPhase(ctx, consumerId, types.ConsumerPhase_CONSUMER_PHASE_INITIALIZED) + k.SetConsumerPhase(ctx, consumerId, types.CONSUMER_PHASE_INITIALIZED) err := k.AssignConsumerKey(ctx, consumerId, providerIdentities[0].SDKStakingValidator(), consumerIdentities[0].TMProtoCryptoPublicKey(), @@ -520,7 +520,7 @@ func TestAssignConsensusKeyForConsumerChain(t *testing.T) { ) }, doActions: func(ctx sdk.Context, k providerkeeper.Keeper) { - k.SetConsumerPhase(ctx, consumerId, types.ConsumerPhase_CONSUMER_PHASE_INITIALIZED) + k.SetConsumerPhase(ctx, consumerId, types.CONSUMER_PHASE_INITIALIZED) err := k.AssignConsumerKey(ctx, consumerId, providerIdentities[0].SDKStakingValidator(), consumerIdentities[0].TMProtoCryptoPublicKey(), @@ -550,7 +550,7 @@ func TestAssignConsensusKeyForConsumerChain(t *testing.T) { ) }, doActions: func(ctx sdk.Context, k providerkeeper.Keeper) { - k.SetConsumerPhase(ctx, consumerId, types.ConsumerPhase_CONSUMER_PHASE_INITIALIZED) + k.SetConsumerPhase(ctx, consumerId, types.CONSUMER_PHASE_INITIALIZED) err := k.AssignConsumerKey(ctx, consumerId, providerIdentities[0].SDKStakingValidator(), consumerIdentities[0].TMProtoCryptoPublicKey(), @@ -577,7 +577,7 @@ func TestAssignConsensusKeyForConsumerChain(t *testing.T) { ) }, doActions: func(ctx sdk.Context, k providerkeeper.Keeper) { - k.SetConsumerPhase(ctx, consumerId, types.ConsumerPhase_CONSUMER_PHASE_INITIALIZED) + k.SetConsumerPhase(ctx, consumerId, types.CONSUMER_PHASE_INITIALIZED) err := k.AssignConsumerKey(ctx, consumerId, providerIdentities[1].SDKStakingValidator(), providerIdentities[0].TMProtoCryptoPublicKey(), @@ -613,7 +613,7 @@ func TestCannotReassignDefaultKeyAssignment(t *testing.T) { providerKeeper, ctx, ctrl, mocks := testkeeper.GetProviderKeeperAndCtx(t, testkeeper.NewInMemKeeperParams(t)) defer ctrl.Finish() - providerKeeper.SetConsumerPhase(ctx, "consumerId", types.ConsumerPhase_CONSUMER_PHASE_INITIALIZED) + providerKeeper.SetConsumerPhase(ctx, "consumerId", types.CONSUMER_PHASE_INITIALIZED) // Mock that the validator is validating with the single key, as confirmed by provider's staking keeper gomock.InOrder( diff --git a/x/ccv/provider/keeper/msg_server.go b/x/ccv/provider/keeper/msg_server.go index b24e09ae4d..088be381e4 100644 --- a/x/ccv/provider/keeper/msg_server.go +++ b/x/ccv/provider/keeper/msg_server.go @@ -291,7 +291,7 @@ func (k msgServer) CreateConsumer(goCtx context.Context, msg *types.MsgCreateCon k.Keeper.SetConsumerOwnerAddress(ctx, consumerId, msg.Signer) k.Keeper.SetConsumerChainId(ctx, consumerId, msg.ChainId) - k.Keeper.SetConsumerPhase(ctx, consumerId, types.ConsumerPhase_CONSUMER_PHASE_REGISTERED) + k.Keeper.SetConsumerPhase(ctx, consumerId, types.CONSUMER_PHASE_REGISTERED) if err := k.Keeper.SetConsumerMetadata(ctx, consumerId, msg.Metadata); err != nil { return &resp, errorsmod.Wrapf(types.ErrInvalidConsumerMetadata, @@ -326,7 +326,7 @@ func (k msgServer) CreateConsumer(goCtx context.Context, msg *types.MsgCreateCon } if spawnTime, canLaunch := k.Keeper.CanLaunch(ctx, consumerId); canLaunch { - k.Keeper.SetConsumerPhase(ctx, consumerId, types.ConsumerPhase_CONSUMER_PHASE_INITIALIZED) + k.Keeper.SetConsumerPhase(ctx, consumerId, types.CONSUMER_PHASE_INITIALIZED) if err := k.Keeper.PrepareConsumerForLaunch(ctx, consumerId, time.Time{}, spawnTime); err != nil { return &resp, errorsmod.Wrapf(types.ErrCannotPrepareForLaunch, "cannot prepare chain with consumer id (%s) for launch", consumerId) @@ -441,7 +441,7 @@ func (k msgServer) UpdateConsumer(goCtx context.Context, msg *types.MsgUpdateCon } if spawnTime, canLaunch := k.Keeper.CanLaunch(ctx, consumerId); canLaunch { - k.Keeper.SetConsumerPhase(ctx, consumerId, types.ConsumerPhase_CONSUMER_PHASE_INITIALIZED) + k.Keeper.SetConsumerPhase(ctx, consumerId, types.CONSUMER_PHASE_INITIALIZED) if err := k.Keeper.PrepareConsumerForLaunch(ctx, consumerId, previousSpawnTime, spawnTime); err != nil { return &resp, errorsmod.Wrapf(types.ErrCannotPrepareForLaunch, "cannot prepare chain with consumer id (%s) for launch", consumerId) @@ -468,7 +468,7 @@ func (k msgServer) RemoveConsumer(goCtx context.Context, msg *types.MsgRemoveCon } phase := k.Keeper.GetConsumerPhase(ctx, consumerId) - if phase != types.ConsumerPhase_CONSUMER_PHASE_LAUNCHED { + if phase != types.CONSUMER_PHASE_LAUNCHED { return &resp, errorsmod.Wrapf(types.ErrInvalidPhase, "chain with consumer id: %s has to be in its launched phase", consumerId) } diff --git a/x/ccv/provider/keeper/msg_server_test.go b/x/ccv/provider/keeper/msg_server_test.go index b6f9bb1f71..994c4a6fd0 100644 --- a/x/ccv/provider/keeper/msg_server_test.go +++ b/x/ccv/provider/keeper/msg_server_test.go @@ -34,7 +34,7 @@ func TestCreateConsumer(t *testing.T) { require.NoError(t, err) require.Equal(t, "signer", ownerAddress) phase := providerKeeper.GetConsumerPhase(ctx, "0") - require.Equal(t, providertypes.ConsumerPhase_CONSUMER_PHASE_REGISTERED, phase) + require.Equal(t, providertypes.CONSUMER_PHASE_REGISTERED, phase) consumerMetadata = providertypes.ConsumerMetadata{ Name: "chain name", @@ -54,7 +54,7 @@ func TestCreateConsumer(t *testing.T) { require.NoError(t, err) require.Equal(t, "signer2", ownerAddress) phase = providerKeeper.GetConsumerPhase(ctx, "1") - require.Equal(t, providertypes.ConsumerPhase_CONSUMER_PHASE_REGISTERED, phase) + require.Equal(t, providertypes.CONSUMER_PHASE_REGISTERED, phase) } func TestUpdateConsumer(t *testing.T) { @@ -134,7 +134,7 @@ func TestUpdateConsumer(t *testing.T) { // assert phase phase := providerKeeper.GetConsumerPhase(ctx, consumerId) - require.Equal(t, providertypes.ConsumerPhase_CONSUMER_PHASE_INITIALIZED, phase) + require.Equal(t, providertypes.CONSUMER_PHASE_INITIALIZED, phase) // assert that chain is set to launch consumerIds, err := providerKeeper.GetConsumersToBeLaunched(ctx, expectedInitializationParameters.SpawnTime) diff --git a/x/ccv/provider/keeper/partial_set_security.go b/x/ccv/provider/keeper/partial_set_security.go index 95667a1d4c..5d654516ab 100644 --- a/x/ccv/provider/keeper/partial_set_security.go +++ b/x/ccv/provider/keeper/partial_set_security.go @@ -67,13 +67,13 @@ func (k Keeper) HandleOptIn(ctx sdk.Context, consumerId string, providerAddr typ // Note that the validator only opts out at the end of an epoch. func (k Keeper) HandleOptOut(ctx sdk.Context, consumerId string, providerAddr types.ProviderConsAddress) error { phase := k.GetConsumerPhase(ctx, consumerId) - if phase == types.ConsumerPhase_CONSUMER_PHASE_UNSPECIFIED { + if phase == types.CONSUMER_PHASE_UNSPECIFIED { return errorsmod.Wrapf( types.ErrUnknownConsumerId, "opting out of an unknown consumer chain, consumerId(%s)", consumerId, ) } - if phase != types.ConsumerPhase_CONSUMER_PHASE_LAUNCHED { + if phase != types.CONSUMER_PHASE_LAUNCHED { // A validator can only opt out from a running chain return errorsmod.Wrapf( types.ErrInvalidPhase, diff --git a/x/ccv/provider/keeper/partial_set_security_test.go b/x/ccv/provider/keeper/partial_set_security_test.go index b29ff94a47..c9ef563914 100644 --- a/x/ccv/provider/keeper/partial_set_security_test.go +++ b/x/ccv/provider/keeper/partial_set_security_test.go @@ -37,10 +37,10 @@ func TestHandleOptIn(t *testing.T) { require.Error(t, providerKeeper.HandleOptIn(ctx, "unknownConsumerId", providerAddr, "")) // trying to opt in to a stopped consumer chain - providerKeeper.SetConsumerPhase(ctx, "stoppedConsumerId", types.ConsumerPhase_CONSUMER_PHASE_STOPPED) + providerKeeper.SetConsumerPhase(ctx, "stoppedConsumerId", types.CONSUMER_PHASE_STOPPED) require.Error(t, providerKeeper.HandleOptIn(ctx, "stoppedConsumerId", providerAddr, "")) - providerKeeper.SetConsumerPhase(ctx, "consumerId", types.ConsumerPhase_CONSUMER_PHASE_INITIALIZED) + providerKeeper.SetConsumerPhase(ctx, "consumerId", types.CONSUMER_PHASE_INITIALIZED) providerKeeper.SetConsumerChainId(ctx, "consumerId", "chainId") require.False(t, providerKeeper.IsOptedIn(ctx, "consumerId", providerAddr)) err := providerKeeper.HandleOptIn(ctx, "consumerId", providerAddr, "") @@ -49,7 +49,7 @@ func TestHandleOptIn(t *testing.T) { // validator tries to opt in to another chain with chain id ("chainId") while it is already opted in to // a different chain with the same chain id - providerKeeper.SetConsumerPhase(ctx, "consumerId2", types.ConsumerPhase_CONSUMER_PHASE_INITIALIZED) + providerKeeper.SetConsumerPhase(ctx, "consumerId2", types.CONSUMER_PHASE_INITIALIZED) providerKeeper.SetConsumerChainId(ctx, "consumerId2", "chainId") err = providerKeeper.HandleOptIn(ctx, "consumerId2", providerAddr, "") require.ErrorContains(t, err, "validator is already opted in to a chain") @@ -88,7 +88,7 @@ func TestHandleOptInWithConsumerKey(t *testing.T) { expectedConsumerPubKey, err := providerKeeper.ParseConsumerKey(consumerKey) require.NoError(t, err) - providerKeeper.SetConsumerPhase(ctx, "consumerId", types.ConsumerPhase_CONSUMER_PHASE_INITIALIZED) + providerKeeper.SetConsumerPhase(ctx, "consumerId", types.CONSUMER_PHASE_INITIALIZED) providerKeeper.SetConsumerChainId(ctx, "consumerId", "consumerId") err = providerKeeper.HandleOptIn(ctx, "consumerId", providerAddr, consumerKey) require.NoError(t, err) @@ -117,7 +117,7 @@ func TestHandleOptOut(t *testing.T) { require.Error(t, providerKeeper.HandleOptOut(ctx, "unknownChainID", providerAddr)) // set the phase and power shaping params - providerKeeper.SetConsumerPhase(ctx, consumerId, types.ConsumerPhase_CONSUMER_PHASE_LAUNCHED) + providerKeeper.SetConsumerPhase(ctx, consumerId, types.CONSUMER_PHASE_LAUNCHED) err := providerKeeper.SetConsumerPowerShapingParameters(ctx, consumerId, types.PowerShapingParameters{}) require.NoError(t, err) @@ -138,7 +138,7 @@ func TestHandleOptOutFromTopNChain(t *testing.T) { consumerId := "consumerId" // set the phase - providerKeeper.SetConsumerPhase(ctx, consumerId, types.ConsumerPhase_CONSUMER_PHASE_LAUNCHED) + providerKeeper.SetConsumerPhase(ctx, consumerId, types.CONSUMER_PHASE_LAUNCHED) // set the chain as Top 50 and create 4 validators with 10%, 20%, 30%, and 40% of the total voting power // respectively @@ -210,7 +210,7 @@ func TestHandleSetConsumerCommissionRate(t *testing.T) { // setup a pending consumer chain consumerId := "0" providerKeeper.FetchAndIncrementConsumerId(ctx) - providerKeeper.SetConsumerPhase(ctx, consumerId, types.ConsumerPhase_CONSUMER_PHASE_INITIALIZED) + providerKeeper.SetConsumerPhase(ctx, consumerId, types.CONSUMER_PHASE_INITIALIZED) // check that there's no commission rate set for the validator yet _, found := providerKeeper.GetConsumerCommissionRate(ctx, consumerId, providerAddr) diff --git a/x/ccv/provider/keeper/permissionless.go b/x/ccv/provider/keeper/permissionless.go index 039b016ffd..aa32b496a4 100644 --- a/x/ccv/provider/keeper/permissionless.go +++ b/x/ccv/provider/keeper/permissionless.go @@ -148,7 +148,7 @@ func (k Keeper) GetConsumerPhase(ctx sdk.Context, consumerId string) types.Consu store := ctx.KVStore(k.storeKey) buf := store.Get(types.ConsumerIdToPhaseKey(consumerId)) if buf == nil { - return types.ConsumerPhase_CONSUMER_PHASE_UNSPECIFIED + return types.CONSUMER_PHASE_UNSPECIFIED } phase := types.ConsumerPhase(binary.BigEndian.Uint32(buf)) return phase @@ -171,9 +171,9 @@ func (k Keeper) DeleteConsumerPhase(ctx sdk.Context, consumerId string) { // IsConsumerActive checks if a consumer chain is either registered, initialized, or launched. func (k Keeper) IsConsumerActive(ctx sdk.Context, consumerId string) bool { phase := k.GetConsumerPhase(ctx, consumerId) - return phase == types.ConsumerPhase_CONSUMER_PHASE_REGISTERED || - phase == types.ConsumerPhase_CONSUMER_PHASE_INITIALIZED || - phase == types.ConsumerPhase_CONSUMER_PHASE_LAUNCHED + return phase == types.CONSUMER_PHASE_REGISTERED || + phase == types.CONSUMER_PHASE_INITIALIZED || + phase == types.CONSUMER_PHASE_LAUNCHED } // GetOptedInConsumerIds returns all the consumer ids where the given validator is opted in diff --git a/x/ccv/provider/keeper/permissionless_test.go b/x/ccv/provider/keeper/permissionless_test.go index 049b5d92c1..dbb86cb4d4 100644 --- a/x/ccv/provider/keeper/permissionless_test.go +++ b/x/ccv/provider/keeper/permissionless_test.go @@ -185,15 +185,15 @@ func TestConsumerPhase(t *testing.T) { defer ctrl.Finish() phase := providerKeeper.GetConsumerPhase(ctx, "consumerId") - require.Equal(t, providertypes.ConsumerPhase_CONSUMER_PHASE_UNSPECIFIED, phase) + require.Equal(t, providertypes.CONSUMER_PHASE_UNSPECIFIED, phase) - providerKeeper.SetConsumerPhase(ctx, "consumerId", providertypes.ConsumerPhase_CONSUMER_PHASE_INITIALIZED) + providerKeeper.SetConsumerPhase(ctx, "consumerId", providertypes.CONSUMER_PHASE_INITIALIZED) phase = providerKeeper.GetConsumerPhase(ctx, "consumerId") - require.Equal(t, providertypes.ConsumerPhase_CONSUMER_PHASE_INITIALIZED, phase) + require.Equal(t, providertypes.CONSUMER_PHASE_INITIALIZED, phase) - providerKeeper.SetConsumerPhase(ctx, "consumerId", providertypes.ConsumerPhase_CONSUMER_PHASE_LAUNCHED) + providerKeeper.SetConsumerPhase(ctx, "consumerId", providertypes.CONSUMER_PHASE_LAUNCHED) phase = providerKeeper.GetConsumerPhase(ctx, "consumerId") - require.Equal(t, providertypes.ConsumerPhase_CONSUMER_PHASE_LAUNCHED, phase) + require.Equal(t, providertypes.CONSUMER_PHASE_LAUNCHED, phase) } // TestOptedInConsumerIds tests the `GetOptedInConsumerIds`, `AppendOptedInConsumerId`, and `RemoveOptedInConsumerId` methods diff --git a/x/ccv/provider/keeper/relay.go b/x/ccv/provider/keeper/relay.go index f5e5216bb6..5abb074c22 100644 --- a/x/ccv/provider/keeper/relay.go +++ b/x/ccv/provider/keeper/relay.go @@ -143,7 +143,7 @@ func (k Keeper) BlocksUntilNextEpoch(ctx sdk.Context) int64 { // TODO (mpoke): iterate only over consumers with established channel func (k Keeper) SendVSCPackets(ctx sdk.Context) error { for _, consumerId := range k.GetAllConsumersWithIBCClients(ctx) { - if k.GetConsumerPhase(ctx, consumerId) != providertypes.ConsumerPhase_CONSUMER_PHASE_LAUNCHED { + if k.GetConsumerPhase(ctx, consumerId) != providertypes.CONSUMER_PHASE_LAUNCHED { // only send VSCPackets to launched chains continue } @@ -219,7 +219,7 @@ func (k Keeper) QueueVSCPackets(ctx sdk.Context) error { } for _, consumerId := range k.GetAllConsumersWithIBCClients(ctx) { - if k.GetConsumerPhase(ctx, consumerId) != providertypes.ConsumerPhase_CONSUMER_PHASE_LAUNCHED { + if k.GetConsumerPhase(ctx, consumerId) != providertypes.CONSUMER_PHASE_LAUNCHED { // only queue VSCPackets to launched chains continue } diff --git a/x/ccv/provider/keeper/relay_test.go b/x/ccv/provider/keeper/relay_test.go index 88ec9159e3..753700214b 100644 --- a/x/ccv/provider/keeper/relay_test.go +++ b/x/ccv/provider/keeper/relay_test.go @@ -110,7 +110,7 @@ func TestQueueVSCPacketsDoesNotResetConsumerValidatorsHeights(t *testing.T) { // set a consumer client id and its phase, so we have a consumer chain (i.e., `GetAllConsumersWithIBCClients` is non-empty) providerKeeper.SetConsumerClientId(ctx, "consumerId", "clientID") - providerKeeper.SetConsumerPhase(ctx, "consumerId", providertypes.ConsumerPhase_CONSUMER_PHASE_LAUNCHED) + providerKeeper.SetConsumerPhase(ctx, "consumerId", providertypes.CONSUMER_PHASE_LAUNCHED) // opt in validator A and set as a consumer validator providerKeeper.SetOptedIn(ctx, "consumerId", providertypes.NewProviderConsAddress(valAConsAddr)) @@ -530,7 +530,7 @@ func TestSendVSCPacketsToChainFailure(t *testing.T) { // Pending VSC packets should be deleted in DeleteConsumerChain require.Empty(t, providerKeeper.GetPendingVSCPackets(ctx, "consumerId")) - require.Equal(t, providertypes.ConsumerPhase_CONSUMER_PHASE_DELETED, providerKeeper.GetConsumerPhase(ctx, "consumerId")) + require.Equal(t, providertypes.CONSUMER_PHASE_DELETED, providerKeeper.GetConsumerPhase(ctx, "consumerId")) } // TestOnTimeoutPacketWithNoChainFound tests the `OnTimeoutPacket` method fails when no chain is found @@ -670,7 +670,7 @@ func TestEndBlockVSU(t *testing.T) { // set a sample client for a launched consumer chain so that `GetAllConsumersWithIBCClients` in `QueueVSCPackets` iterates at least once providerKeeper.SetConsumerClientId(ctx, consumerId, "clientId") providerKeeper.SetConsumerPowerShapingParameters(ctx, consumerId, providertypes.PowerShapingParameters{Top_N: 100}) - providerKeeper.SetConsumerPhase(ctx, consumerId, providertypes.ConsumerPhase_CONSUMER_PHASE_LAUNCHED) + providerKeeper.SetConsumerPhase(ctx, consumerId, providertypes.CONSUMER_PHASE_LAUNCHED) // with block height of 1 we do not expect any queueing of VSC packets ctx = ctx.WithBlockHeight(1) @@ -799,7 +799,7 @@ func TestQueueVSCPacketsWithPowerCapping(t *testing.T) { // add a consumer chain providerKeeper.SetConsumerClientId(ctx, "consumerId", "clientId") - providerKeeper.SetConsumerPhase(ctx, "consumerId", providertypes.ConsumerPhase_CONSUMER_PHASE_LAUNCHED) + providerKeeper.SetConsumerPhase(ctx, "consumerId", providertypes.CONSUMER_PHASE_LAUNCHED) err := providerKeeper.SetConsumerPowerShapingParameters(ctx, "consumerId", providertypes.PowerShapingParameters{ Top_N: 50, // would opt in E diff --git a/x/ccv/provider/migrations/v8/migrations.go b/x/ccv/provider/migrations/v8/migrations.go index abf9cc0225..c7ace6eb3f 100644 --- a/x/ccv/provider/migrations/v8/migrations.go +++ b/x/ccv/provider/migrations/v8/migrations.go @@ -267,7 +267,7 @@ func MigrateLaunchedConsumerChains(ctx sdk.Context, store storetypes.KVStore, pk } // set phase to launched - pk.SetConsumerPhase(ctx, consumerId, providertypes.ConsumerPhase_CONSUMER_PHASE_LAUNCHED) + pk.SetConsumerPhase(ctx, consumerId, providertypes.CONSUMER_PHASE_LAUNCHED) // This is to migrate everything under `ProviderConsAddrToOptedInConsumerIdsKey` // `OptedIn` was already re-keyed earlier (see above) and hence we can use `consumerId` here. diff --git a/x/ccv/provider/types/genesis.pb.go b/x/ccv/provider/types/genesis.pb.go index 92a7aa345e..bbf069fec6 100644 --- a/x/ccv/provider/types/genesis.pb.go +++ b/x/ccv/provider/types/genesis.pb.go @@ -231,7 +231,7 @@ func (m *ConsumerState) GetPhase() ConsumerPhase { if m != nil { return m.Phase } - return ConsumerPhase_CONSUMER_PHASE_UNSPECIFIED + return CONSUMER_PHASE_UNSPECIFIED } // ValsetUpdateIdToHeight defines the genesis information for the mapping diff --git a/x/ccv/provider/types/provider.pb.go b/x/ccv/provider/types/provider.pb.go index bcdf7dd2ab..77d0dc6d98 100644 --- a/x/ccv/provider/types/provider.pb.go +++ b/x/ccv/provider/types/provider.pb.go @@ -42,20 +42,20 @@ type ConsumerPhase int32 const ( // UNSPECIFIED defines an empty phase. - ConsumerPhase_CONSUMER_PHASE_UNSPECIFIED ConsumerPhase = 0 + CONSUMER_PHASE_UNSPECIFIED ConsumerPhase = 0 // REGISTERED defines the phase in which a consumer chain has been assigned a unique consumer id. // A chain in this phase cannot yet launch. - ConsumerPhase_CONSUMER_PHASE_REGISTERED ConsumerPhase = 1 + CONSUMER_PHASE_REGISTERED ConsumerPhase = 1 // INITIALIZED defines the phase in which a consumer chain has set all the needed parameters to launch but // has not yet launched (e.g., because the `spawnTime` of the consumer chain has not yet been reached). - ConsumerPhase_CONSUMER_PHASE_INITIALIZED ConsumerPhase = 2 + CONSUMER_PHASE_INITIALIZED ConsumerPhase = 2 // LAUNCHED defines the phase in which a consumer chain is running and consuming a subset of the validator // set of the provider. - ConsumerPhase_CONSUMER_PHASE_LAUNCHED ConsumerPhase = 3 + CONSUMER_PHASE_LAUNCHED ConsumerPhase = 3 // STOPPED defines the phase in which a previously-launched chain has stopped. - ConsumerPhase_CONSUMER_PHASE_STOPPED ConsumerPhase = 4 + CONSUMER_PHASE_STOPPED ConsumerPhase = 4 // DELETED defines the phase in which the state of a stopped chain has been deleted. - ConsumerPhase_CONSUMER_PHASE_DELETED ConsumerPhase = 5 + CONSUMER_PHASE_DELETED ConsumerPhase = 5 ) var ConsumerPhase_name = map[int32]string{ @@ -1830,147 +1830,147 @@ func init() { } var fileDescriptor_f22ec409a72b7b72 = []byte{ - // 2231 bytes of a gzipped FileDescriptorProto + // 2238 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x59, 0xbd, 0x6f, 0x1b, 0xc9, - 0x15, 0xd7, 0x8a, 0x94, 0x44, 0x3e, 0xea, 0x83, 0x1a, 0xfb, 0x6c, 0x4a, 0xd6, 0x51, 0x34, 0x2f, - 0x36, 0x14, 0x3b, 0x26, 0x4f, 0x3a, 0x04, 0x30, 0x9c, 0x1c, 0x0c, 0x99, 0xa4, 0x6d, 0xfa, 0x43, - 0x66, 0x96, 0xb4, 0x0e, 0x70, 0x8a, 0xc5, 0x70, 0x77, 0x44, 0x4e, 0xb4, 0xbb, 0xb3, 0xde, 0x19, - 0xd2, 0x66, 0x8a, 0xd4, 0x41, 0x80, 0x00, 0x97, 0x54, 0x87, 0x34, 0xb9, 0x32, 0x48, 0x95, 0x22, - 0xc8, 0x1f, 0x90, 0x34, 0x87, 0x00, 0x41, 0xae, 0x4c, 0x75, 0x17, 0xd8, 0x45, 0x8a, 0x00, 0x69, - 0xd3, 0x06, 0x33, 0xfb, 0xc1, 0xa5, 0x3e, 0x6c, 0x1a, 0xb6, 0xd3, 0x48, 0x3b, 0xef, 0xfd, 0xde, - 0x9b, 0x37, 0x33, 0xef, 0x6b, 0x86, 0xb0, 0x43, 0x5d, 0x41, 0x7c, 0xb3, 0x8f, 0xa9, 0x6b, 0x70, - 0x62, 0x0e, 0x7c, 0x2a, 0x46, 0x55, 0xd3, 0x1c, 0x56, 0x3d, 0x9f, 0x0d, 0xa9, 0x45, 0xfc, 0xea, - 0x70, 0x3b, 0xfe, 0xae, 0x78, 0x3e, 0x13, 0x0c, 0x7d, 0x74, 0x82, 0x4c, 0xc5, 0x34, 0x87, 0x95, - 0x18, 0x37, 0xdc, 0x5e, 0xbf, 0x74, 0x9a, 0xe2, 0xe1, 0x76, 0xf5, 0x19, 0xf5, 0x49, 0xa0, 0x6b, - 0xfd, 0x6c, 0x8f, 0xf5, 0x98, 0xfa, 0xac, 0xca, 0xaf, 0x90, 0xba, 0xd9, 0x63, 0xac, 0x67, 0x93, - 0xaa, 0x1a, 0x75, 0x07, 0x07, 0x55, 0x41, 0x1d, 0xc2, 0x05, 0x76, 0xbc, 0x10, 0x50, 0x3c, 0x0a, - 0xb0, 0x06, 0x3e, 0x16, 0x94, 0xb9, 0x91, 0x02, 0xda, 0x35, 0xab, 0x26, 0xf3, 0x49, 0xd5, 0xb4, - 0x29, 0x71, 0x85, 0x9c, 0x35, 0xf8, 0x0a, 0x01, 0x55, 0x09, 0xb0, 0x69, 0xaf, 0x2f, 0x02, 0x32, - 0xaf, 0x0a, 0xe2, 0x5a, 0xc4, 0x77, 0x68, 0x00, 0x1e, 0x8f, 0x42, 0x81, 0x8d, 0x04, 0xdf, 0xf4, - 0x47, 0x9e, 0x60, 0xd5, 0x43, 0x32, 0xe2, 0x21, 0xf7, 0xb2, 0xc9, 0xb8, 0xc3, 0x78, 0x95, 0xc8, - 0xf5, 0xbb, 0x26, 0xa9, 0x0e, 0xb7, 0xbb, 0x44, 0xe0, 0xed, 0x98, 0x10, 0xd9, 0x1d, 0xe2, 0xba, - 0x98, 0x8f, 0x31, 0x26, 0xa3, 0x91, 0xdd, 0x6b, 0x01, 0xdf, 0x08, 0x76, 0x24, 0x18, 0x84, 0xac, - 0x55, 0xec, 0x50, 0x97, 0x55, 0xd5, 0xdf, 0x80, 0x54, 0xfe, 0x6f, 0x06, 0x0a, 0x35, 0xe6, 0xf2, - 0x81, 0x43, 0xfc, 0x5d, 0xcb, 0xa2, 0x72, 0x03, 0x5a, 0x3e, 0xf3, 0x18, 0xc7, 0x36, 0x3a, 0x0b, - 0x73, 0x82, 0x0a, 0x9b, 0x14, 0xb4, 0x92, 0xb6, 0x95, 0xd5, 0x83, 0x01, 0x2a, 0x41, 0xce, 0x22, - 0xdc, 0xf4, 0xa9, 0x27, 0xc1, 0x85, 0x59, 0xc5, 0x4b, 0x92, 0xd0, 0x1a, 0x64, 0x82, 0x53, 0xa3, - 0x56, 0x21, 0xa5, 0xd8, 0x0b, 0x6a, 0xdc, 0xb4, 0xd0, 0x1d, 0x58, 0xa6, 0x2e, 0x15, 0x14, 0xdb, - 0x46, 0x9f, 0xc8, 0xbd, 0x2b, 0xa4, 0x4b, 0xda, 0x56, 0x6e, 0x67, 0xbd, 0x42, 0xbb, 0x66, 0x45, - 0x6e, 0x77, 0x25, 0xdc, 0xe4, 0xe1, 0x76, 0xe5, 0xae, 0x42, 0xdc, 0x4a, 0x7f, 0xf5, 0xcd, 0xe6, - 0x8c, 0xbe, 0x14, 0xca, 0x05, 0x44, 0x74, 0x11, 0x16, 0x7b, 0xc4, 0x25, 0x9c, 0x72, 0xa3, 0x8f, - 0x79, 0xbf, 0x30, 0x57, 0xd2, 0xb6, 0x16, 0xf5, 0x5c, 0x48, 0xbb, 0x8b, 0x79, 0x1f, 0x6d, 0x42, - 0xae, 0x4b, 0x5d, 0xec, 0x8f, 0x02, 0xc4, 0xbc, 0x42, 0x40, 0x40, 0x52, 0x80, 0x1a, 0x00, 0xf7, - 0xf0, 0x33, 0xd7, 0x90, 0xbe, 0x51, 0x58, 0x08, 0x0d, 0x09, 0xfc, 0xa2, 0x12, 0xf9, 0x45, 0xa5, - 0x13, 0x39, 0xce, 0xad, 0x8c, 0x34, 0xe4, 0xf3, 0x6f, 0x37, 0x35, 0x3d, 0xab, 0xe4, 0x24, 0x07, - 0xed, 0x41, 0x7e, 0xe0, 0x76, 0x99, 0x6b, 0x51, 0xb7, 0x67, 0x78, 0xc4, 0xa7, 0xcc, 0x2a, 0x64, - 0x94, 0xaa, 0xb5, 0x63, 0xaa, 0xea, 0xa1, 0x8b, 0x05, 0x9a, 0xbe, 0x90, 0x9a, 0x56, 0x62, 0xe1, - 0x96, 0x92, 0x45, 0x3f, 0x02, 0x64, 0x9a, 0x43, 0x65, 0x12, 0x1b, 0x88, 0x48, 0x63, 0x76, 0x7a, - 0x8d, 0x79, 0xd3, 0x1c, 0x76, 0x02, 0xe9, 0x50, 0xe5, 0x8f, 0xe1, 0xbc, 0xf0, 0xb1, 0xcb, 0x0f, - 0x88, 0x7f, 0x54, 0x2f, 0x4c, 0xaf, 0xf7, 0x83, 0x48, 0xc7, 0xa4, 0xf2, 0xbb, 0x50, 0x32, 0x43, - 0x07, 0x32, 0x7c, 0x62, 0x51, 0x2e, 0x7c, 0xda, 0x1d, 0x48, 0x59, 0xe3, 0xc0, 0xc7, 0xa6, 0xf2, - 0x91, 0x9c, 0x72, 0x82, 0x62, 0x84, 0xd3, 0x27, 0x60, 0xb7, 0x43, 0x14, 0x7a, 0x04, 0xdf, 0xe9, - 0xda, 0xcc, 0x3c, 0xe4, 0xd2, 0x38, 0x63, 0x42, 0x93, 0x9a, 0xda, 0xa1, 0x9c, 0x4b, 0x6d, 0x8b, - 0x25, 0x6d, 0x2b, 0xa5, 0x5f, 0x0c, 0xb0, 0x2d, 0xe2, 0xd7, 0x13, 0xc8, 0x4e, 0x02, 0x88, 0xae, - 0x01, 0xea, 0x53, 0x2e, 0x98, 0x4f, 0x4d, 0x6c, 0x1b, 0xc4, 0x15, 0x3e, 0x25, 0xbc, 0xb0, 0xa4, - 0xc4, 0x57, 0xc7, 0x9c, 0x46, 0xc0, 0x40, 0xf7, 0xe0, 0xe2, 0xa9, 0x93, 0x1a, 0x66, 0x1f, 0xbb, - 0x2e, 0xb1, 0x0b, 0xcb, 0x6a, 0x29, 0x9b, 0xd6, 0x29, 0x73, 0xd6, 0x02, 0x18, 0x3a, 0x03, 0x73, - 0x82, 0x79, 0xc6, 0x5e, 0x61, 0xa5, 0xa4, 0x6d, 0x2d, 0xe9, 0x69, 0xc1, 0xbc, 0x3d, 0xf4, 0x31, - 0x9c, 0x1d, 0x62, 0x9b, 0x5a, 0x58, 0x30, 0x9f, 0x1b, 0x1e, 0x7b, 0x46, 0x7c, 0xc3, 0xc4, 0x5e, - 0x21, 0xaf, 0x30, 0x68, 0xcc, 0x6b, 0x49, 0x56, 0x0d, 0x7b, 0xe8, 0x0a, 0xac, 0xc6, 0x54, 0x83, - 0x13, 0xa1, 0xe0, 0xab, 0x0a, 0xbe, 0x12, 0x33, 0xda, 0x44, 0x48, 0xec, 0x06, 0x64, 0xb1, 0x6d, - 0xb3, 0x67, 0x36, 0xe5, 0xa2, 0x80, 0x4a, 0xa9, 0xad, 0xac, 0x3e, 0x26, 0xa0, 0x75, 0xc8, 0x58, - 0xc4, 0x1d, 0x29, 0xe6, 0x19, 0xc5, 0x8c, 0xc7, 0xe8, 0x02, 0x64, 0x1d, 0x99, 0x63, 0x05, 0x3e, - 0x24, 0x85, 0xb3, 0x25, 0x6d, 0x2b, 0xad, 0x67, 0x1c, 0xea, 0xb6, 0xe5, 0x18, 0x55, 0xe0, 0x8c, - 0xd2, 0x62, 0x50, 0x57, 0x9e, 0xd3, 0x90, 0x18, 0x43, 0x6c, 0xf3, 0xc2, 0x07, 0x25, 0x6d, 0x2b, - 0xa3, 0xaf, 0x2a, 0x56, 0x33, 0xe4, 0xec, 0x63, 0x9b, 0xdf, 0xb8, 0xfc, 0xf3, 0x2f, 0x37, 0x67, - 0xbe, 0xf8, 0x72, 0x73, 0xe6, 0xaf, 0x7f, 0xbc, 0xb6, 0x1e, 0xa6, 0x9f, 0x1e, 0x1b, 0x56, 0xc2, - 0x54, 0x55, 0xa9, 0x31, 0x57, 0x10, 0x57, 0x94, 0xff, 0xae, 0xc1, 0xf9, 0x5a, 0xec, 0x10, 0x0e, - 0x1b, 0x62, 0xfb, 0x7d, 0x26, 0x9e, 0x5d, 0xc8, 0x72, 0x79, 0x22, 0x2a, 0xd4, 0xd3, 0x6f, 0x10, - 0xea, 0x19, 0x29, 0x26, 0x19, 0x37, 0x8a, 0xaf, 0x59, 0xd1, 0xbf, 0x67, 0x61, 0x23, 0x5a, 0xd1, - 0x43, 0x66, 0xd1, 0x03, 0x6a, 0xe2, 0xf7, 0x9d, 0x4f, 0x63, 0x3f, 0x4b, 0x4f, 0xe1, 0x67, 0x73, - 0x6f, 0xe6, 0x67, 0xf3, 0x53, 0xf8, 0xd9, 0xc2, 0xab, 0xfc, 0x2c, 0xf3, 0x2a, 0x3f, 0xcb, 0x4e, - 0xe7, 0x67, 0x70, 0x8a, 0x9f, 0x95, 0x7f, 0xab, 0xc1, 0xd9, 0xc6, 0xd3, 0x01, 0x1d, 0xb2, 0x77, - 0xb4, 0xcb, 0xf7, 0x61, 0x89, 0x24, 0xf4, 0xf1, 0x42, 0xaa, 0x94, 0xda, 0xca, 0xed, 0x5c, 0xaa, - 0x84, 0x47, 0x1e, 0xd7, 0xe1, 0xe8, 0xdc, 0x93, 0xb3, 0xeb, 0x93, 0xb2, 0x37, 0x66, 0x0b, 0x5a, - 0xf9, 0xcf, 0x1a, 0xac, 0xcb, 0x7c, 0xd0, 0x23, 0x3a, 0x79, 0x86, 0x7d, 0xab, 0x4e, 0x5c, 0xe6, - 0xf0, 0xb7, 0xb6, 0xb3, 0x0c, 0x4b, 0x96, 0xd2, 0x64, 0x08, 0x66, 0x60, 0xcb, 0x52, 0x76, 0x2a, - 0x8c, 0x24, 0x76, 0xd8, 0xae, 0x65, 0xa1, 0x2d, 0xc8, 0x8f, 0x31, 0xbe, 0x8c, 0x2e, 0xe9, 0xf4, - 0x12, 0xb6, 0x1c, 0xc1, 0x54, 0xcc, 0x4d, 0xe1, 0xd4, 0x1a, 0xe4, 0xef, 0xd8, 0xac, 0x8b, 0xed, - 0xb6, 0x8d, 0x79, 0x5f, 0xe6, 0xca, 0x91, 0x0c, 0x26, 0x9f, 0x84, 0x45, 0x4a, 0x99, 0x3f, 0x75, - 0x30, 0x49, 0x31, 0x55, 0x36, 0x6f, 0xc2, 0x6a, 0x5c, 0x36, 0x62, 0xe7, 0x56, 0xab, 0xbd, 0x75, - 0xe6, 0xc5, 0x37, 0x9b, 0x2b, 0x51, 0x20, 0xd5, 0x94, 0xa3, 0xd7, 0xf5, 0x15, 0x73, 0x82, 0x60, - 0xa1, 0x22, 0xe4, 0x68, 0xd7, 0x34, 0x38, 0x79, 0x6a, 0xb8, 0x03, 0x47, 0xc5, 0x45, 0x5a, 0xcf, - 0xd2, 0xae, 0xd9, 0x26, 0x4f, 0xf7, 0x06, 0x0e, 0xfa, 0x04, 0xce, 0x45, 0xcd, 0xa4, 0xf4, 0x24, - 0x43, 0xca, 0xcb, 0xed, 0xf2, 0x55, 0xa8, 0x2c, 0xea, 0x67, 0x22, 0xee, 0x3e, 0xb6, 0xe5, 0x64, - 0xbb, 0x96, 0xe5, 0x97, 0xff, 0x33, 0x07, 0xf3, 0x2d, 0xec, 0x63, 0x87, 0xa3, 0x0e, 0xac, 0x08, - 0xe2, 0x78, 0x36, 0x16, 0xc4, 0x08, 0x5a, 0x92, 0x70, 0xa5, 0x57, 0x55, 0xab, 0x92, 0x6c, 0xfc, - 0x2a, 0x89, 0x56, 0x6f, 0xb8, 0x5d, 0xa9, 0x29, 0x6a, 0x5b, 0x60, 0x41, 0xf4, 0xe5, 0x48, 0x47, - 0x40, 0x44, 0xd7, 0xa1, 0x20, 0xfc, 0x01, 0x17, 0xe3, 0x66, 0x61, 0x5c, 0x25, 0x83, 0xb3, 0x3e, - 0x17, 0xf1, 0x83, 0xfa, 0x1a, 0x57, 0xc7, 0x93, 0xfb, 0x82, 0xd4, 0xdb, 0xf4, 0x05, 0x16, 0x6c, - 0x70, 0x79, 0xa8, 0x86, 0x43, 0x84, 0xaa, 0xde, 0x9e, 0x4d, 0x5c, 0xca, 0xfb, 0x91, 0xf2, 0xf9, - 0xe9, 0x95, 0xaf, 0x29, 0x45, 0x0f, 0xa5, 0x1e, 0x3d, 0x52, 0x13, 0xce, 0x52, 0x83, 0xe2, 0xc9, - 0xb3, 0xc4, 0x0b, 0x5f, 0x50, 0x0b, 0xbf, 0x70, 0x82, 0x8a, 0x78, 0xf5, 0x1c, 0x2e, 0x27, 0xba, - 0x0c, 0x19, 0x4d, 0x86, 0x72, 0x64, 0xc3, 0x27, 0x3d, 0x59, 0x8a, 0x71, 0xd0, 0x70, 0x10, 0x12, - 0x77, 0x4a, 0xa1, 0x4f, 0xcb, 0x36, 0x39, 0xe1, 0xd4, 0xd4, 0x0d, 0xdb, 0xc9, 0xf2, 0xb8, 0x19, - 0x89, 0x63, 0x53, 0x4f, 0xe8, 0xba, 0x4d, 0x88, 0x8c, 0xa2, 0x44, 0x43, 0x42, 0x3c, 0x66, 0xf6, - 0x55, 0x3e, 0x4a, 0xe9, 0xcb, 0x71, 0xf3, 0xd1, 0x90, 0x54, 0xf4, 0x04, 0xae, 0xba, 0x03, 0xa7, - 0x4b, 0x7c, 0x83, 0x1d, 0x04, 0x40, 0x15, 0x79, 0x5c, 0x60, 0x5f, 0x18, 0x3e, 0x31, 0x09, 0x1d, - 0xca, 0x13, 0x0f, 0x2c, 0xe7, 0xaa, 0x1f, 0x4a, 0xe9, 0x97, 0x02, 0x91, 0x47, 0x07, 0x4a, 0x07, - 0xef, 0xb0, 0xb6, 0x84, 0xeb, 0x11, 0x3a, 0x30, 0x8c, 0xa3, 0x26, 0x5c, 0x74, 0xf0, 0x73, 0x23, - 0x76, 0x66, 0x69, 0x38, 0x71, 0xf9, 0x80, 0x1b, 0xe3, 0x44, 0x1e, 0xf6, 0x44, 0x45, 0x07, 0x3f, - 0x6f, 0x85, 0xb8, 0x5a, 0x04, 0xdb, 0x8f, 0x51, 0xf7, 0xd2, 0x99, 0x74, 0x7e, 0xee, 0x5e, 0x3a, - 0x33, 0x97, 0x9f, 0xbf, 0x97, 0xce, 0x64, 0xf2, 0xd9, 0xf2, 0x77, 0x21, 0xab, 0xe2, 0x7a, 0xd7, - 0x3c, 0xe4, 0x2a, 0xb3, 0x5b, 0x96, 0x4f, 0x38, 0x27, 0xbc, 0xa0, 0x85, 0x99, 0x3d, 0x22, 0x94, - 0x05, 0xac, 0x9d, 0x76, 0x53, 0xe0, 0xe8, 0x33, 0x58, 0xf0, 0x88, 0x6a, 0x63, 0x95, 0x60, 0x6e, - 0xe7, 0xd3, 0xca, 0x14, 0x57, 0xbc, 0xca, 0x69, 0x0a, 0xf5, 0x48, 0x5b, 0xd9, 0x1f, 0xdf, 0x4f, - 0x8e, 0x74, 0x09, 0x1c, 0xed, 0x1f, 0x9d, 0xf4, 0x87, 0x6f, 0x34, 0xe9, 0x11, 0x7d, 0xe3, 0x39, - 0xaf, 0x42, 0x6e, 0x37, 0x58, 0xf6, 0x03, 0x59, 0xb6, 0x8e, 0x6d, 0xcb, 0x62, 0x72, 0x5b, 0xee, - 0xc1, 0x72, 0xd8, 0xf4, 0x75, 0x98, 0xca, 0x4d, 0xe8, 0x43, 0x80, 0xb0, 0x5b, 0x94, 0x39, 0x2d, - 0xc8, 0xee, 0xd9, 0x90, 0xd2, 0xb4, 0x26, 0xaa, 0xf9, 0xec, 0x44, 0x35, 0x2f, 0x33, 0x58, 0xdb, - 0x4f, 0x56, 0x5b, 0x55, 0x3c, 0x5a, 0xd8, 0x3c, 0x24, 0x82, 0x23, 0x1d, 0xd2, 0xaa, 0xaa, 0x06, - 0x4b, 0xbd, 0x7e, 0xea, 0x52, 0x87, 0xdb, 0x95, 0xd3, 0x94, 0xd4, 0xb1, 0xc0, 0xa1, 0xff, 0x2b, - 0x5d, 0xe5, 0x5f, 0x69, 0x50, 0xb8, 0x4f, 0x46, 0xbb, 0x9c, 0xd3, 0x9e, 0xeb, 0x10, 0x57, 0xc8, - 0xc8, 0xc3, 0x26, 0x91, 0x9f, 0xe8, 0x23, 0x58, 0x8a, 0x9d, 0x4e, 0x25, 0x4e, 0x4d, 0x25, 0xce, - 0xc5, 0x88, 0x28, 0xf7, 0x08, 0xdd, 0x00, 0xf0, 0x7c, 0x32, 0x34, 0x4c, 0xe3, 0x90, 0x8c, 0xd4, - 0x7a, 0x72, 0x3b, 0x1b, 0xc9, 0x84, 0x18, 0xdc, 0x74, 0x2b, 0xad, 0x41, 0xd7, 0xa6, 0xe6, 0x7d, - 0x32, 0xd2, 0x33, 0x12, 0x5f, 0xbb, 0x4f, 0x46, 0xb2, 0x02, 0xaa, 0xe6, 0x44, 0x65, 0xb1, 0x94, - 0x1e, 0x0c, 0xca, 0xbf, 0xd1, 0xe0, 0x7c, 0xbc, 0x80, 0xe8, 0xac, 0x5a, 0x83, 0xae, 0x94, 0x48, - 0xee, 0x9d, 0x36, 0xd9, 0x09, 0x1d, 0xb3, 0x76, 0xf6, 0x04, 0x6b, 0x6f, 0xc2, 0x62, 0x9c, 0x46, - 0xa4, 0xbd, 0xa9, 0x29, 0xec, 0xcd, 0x45, 0x12, 0xf7, 0xc9, 0xa8, 0xfc, 0xb3, 0x84, 0x6d, 0xb7, - 0x46, 0x09, 0xf7, 0xf5, 0x5f, 0x63, 0x5b, 0x3c, 0x6d, 0xd2, 0x36, 0x33, 0x29, 0x7f, 0x6c, 0x01, - 0xa9, 0xe3, 0x0b, 0x28, 0xff, 0x4d, 0x83, 0x73, 0xc9, 0x59, 0x79, 0x87, 0xb5, 0xfc, 0x81, 0x4b, - 0xf6, 0x77, 0x5e, 0x35, 0xff, 0x4d, 0xc8, 0x78, 0x12, 0x65, 0x08, 0x1e, 0x1e, 0xd1, 0x74, 0xe5, - 0x7a, 0x41, 0x49, 0x75, 0x64, 0x78, 0x2f, 0x4f, 0x2c, 0x80, 0x87, 0x3b, 0xf7, 0xf1, 0x54, 0x01, - 0x97, 0x08, 0x26, 0x7d, 0x29, 0xb9, 0x66, 0x5e, 0xfe, 0x93, 0x06, 0xe8, 0x78, 0xa6, 0x42, 0xdf, - 0x03, 0x34, 0x91, 0xef, 0x92, 0xfe, 0x97, 0xf7, 0x12, 0x19, 0x4e, 0xed, 0x5c, 0xec, 0x47, 0xb3, - 0x09, 0x3f, 0x42, 0x3f, 0x00, 0xf0, 0xd4, 0x21, 0x4e, 0x7d, 0xd2, 0x59, 0x2f, 0xfa, 0x44, 0x9b, - 0x90, 0xfb, 0x09, 0xa3, 0x6e, 0xf2, 0x91, 0x22, 0xa5, 0x83, 0x24, 0x05, 0xef, 0x0f, 0xe5, 0x5f, - 0x6a, 0xe3, 0x74, 0x18, 0x66, 0xea, 0x5d, 0xdb, 0x0e, 0xfb, 0x3f, 0xe4, 0xc1, 0x42, 0x94, 0xeb, - 0x83, 0x70, 0xdd, 0x38, 0xb1, 0x1e, 0xd5, 0x89, 0xa9, 0x4a, 0xd2, 0x75, 0xb9, 0xe3, 0xbf, 0xff, - 0x76, 0xf3, 0x6a, 0x8f, 0x8a, 0xfe, 0xa0, 0x5b, 0x31, 0x99, 0x13, 0xbe, 0xdc, 0x84, 0xff, 0xae, - 0x71, 0xeb, 0xb0, 0x2a, 0x46, 0x1e, 0xe1, 0x91, 0x0c, 0xff, 0xdd, 0xbf, 0xfe, 0x70, 0x45, 0xd3, - 0xa3, 0x69, 0xca, 0x16, 0xe4, 0xe3, 0xbb, 0x07, 0x11, 0xd8, 0xc2, 0x02, 0x23, 0x04, 0x69, 0x17, - 0x3b, 0x51, 0x83, 0xa9, 0xbe, 0xa7, 0xe8, 0x2f, 0xd7, 0x21, 0xe3, 0x84, 0x1a, 0xc2, 0xdb, 0x46, - 0x3c, 0x2e, 0xff, 0x62, 0x1e, 0x4a, 0xd1, 0x34, 0xcd, 0xe0, 0x3d, 0x86, 0xfe, 0x34, 0x68, 0xbf, - 0x65, 0xd7, 0x24, 0x6b, 0x37, 0x3f, 0xe1, 0x8d, 0x47, 0x7b, 0x37, 0x6f, 0x3c, 0xb3, 0xaf, 0x7d, - 0xe3, 0x49, 0xbd, 0xe6, 0x8d, 0x27, 0xfd, 0xee, 0xde, 0x78, 0xe6, 0xde, 0xf9, 0x1b, 0xcf, 0xfc, - 0x7b, 0x7a, 0xe3, 0x59, 0xf8, 0xbf, 0xbc, 0xf1, 0x64, 0xde, 0xe9, 0x1b, 0x4f, 0xf6, 0xed, 0xde, - 0x78, 0xe0, 0xad, 0xde, 0x78, 0x72, 0x53, 0xbd, 0xf1, 0x94, 0x7f, 0x3d, 0x0b, 0xe7, 0xd4, 0x0d, - 0xba, 0xdd, 0xc7, 0x9e, 0x3c, 0xdc, 0x71, 0x08, 0xc4, 0xd7, 0x72, 0x6d, 0x8a, 0x6b, 0xf9, 0xec, - 0x9b, 0x5d, 0xcb, 0x53, 0x53, 0x5c, 0xcb, 0xd3, 0xaf, 0xba, 0x96, 0xcf, 0xbd, 0xea, 0x5a, 0x3e, - 0x3f, 0xdd, 0xb5, 0x7c, 0xe1, 0xb4, 0x6b, 0xf9, 0x26, 0xe4, 0xe2, 0x04, 0x61, 0x71, 0x94, 0x87, - 0x14, 0xb5, 0xa2, 0x66, 0x52, 0x7e, 0x5e, 0xf9, 0x8b, 0x06, 0x4b, 0x71, 0x55, 0xef, 0x63, 0x4e, - 0x50, 0x11, 0xd6, 0x6b, 0x8f, 0xf6, 0xda, 0x8f, 0x1f, 0x36, 0x74, 0xa3, 0x75, 0x77, 0xb7, 0xdd, - 0x30, 0x1e, 0xef, 0xb5, 0x5b, 0x8d, 0x5a, 0xf3, 0x76, 0xb3, 0x51, 0xcf, 0xcf, 0xa0, 0x0f, 0x61, - 0xed, 0x08, 0x5f, 0x6f, 0xdc, 0x69, 0xb6, 0x3b, 0x0d, 0xbd, 0x51, 0xcf, 0x6b, 0x27, 0x88, 0x37, - 0xf7, 0x9a, 0x9d, 0xe6, 0xee, 0x83, 0xe6, 0x93, 0x46, 0x3d, 0x3f, 0x8b, 0x2e, 0xc0, 0xf9, 0x23, - 0xfc, 0x07, 0xbb, 0x8f, 0xf7, 0x6a, 0x77, 0x1b, 0xf5, 0x7c, 0x0a, 0xad, 0xc3, 0xb9, 0x23, 0xcc, - 0x76, 0xe7, 0x51, 0xab, 0xd5, 0xa8, 0xe7, 0xd3, 0x27, 0xf0, 0xea, 0x8d, 0x07, 0x8d, 0x4e, 0xa3, - 0x9e, 0x9f, 0xbb, 0xf5, 0xd9, 0x57, 0x2f, 0x8a, 0xda, 0xd7, 0x2f, 0x8a, 0xda, 0x3f, 0x5f, 0x14, - 0xb5, 0xcf, 0x5f, 0x16, 0x67, 0xbe, 0x7e, 0x59, 0x9c, 0xf9, 0xc7, 0xcb, 0xe2, 0xcc, 0x93, 0x4f, - 0x8f, 0xe7, 0xf0, 0x71, 0x8d, 0xbc, 0x16, 0xff, 0x8e, 0x31, 0xfc, 0x7e, 0xf5, 0xf9, 0xe4, 0xaf, - 0x24, 0x2a, 0xbd, 0x77, 0xe7, 0x55, 0x78, 0x7e, 0xf2, 0xbf, 0x00, 0x00, 0x00, 0xff, 0xff, 0x63, - 0x65, 0x8b, 0xc3, 0x56, 0x19, 0x00, 0x00, + 0x15, 0xd7, 0x8a, 0x94, 0x44, 0x3e, 0xea, 0x83, 0x1a, 0xfb, 0x6c, 0x4a, 0xa7, 0xa3, 0x68, 0x5e, + 0x6c, 0x28, 0x76, 0x4c, 0x9e, 0x74, 0x08, 0x60, 0x38, 0x39, 0x18, 0x32, 0x49, 0xdb, 0xf4, 0x87, + 0xcc, 0x2c, 0x69, 0x1d, 0xe0, 0x14, 0x8b, 0xe1, 0xee, 0x88, 0x9c, 0x68, 0x77, 0x67, 0xbd, 0x33, + 0xa4, 0xcd, 0x14, 0xa9, 0x0f, 0x01, 0x02, 0x5c, 0x52, 0x1d, 0xd2, 0xe4, 0x80, 0x34, 0x41, 0xaa, + 0x14, 0x41, 0xfe, 0x80, 0x54, 0x97, 0x00, 0x41, 0xae, 0x4c, 0x75, 0x17, 0xd8, 0x45, 0x8a, 0x00, + 0x69, 0xd3, 0x06, 0x33, 0xfb, 0xc1, 0xa5, 0x3e, 0x6c, 0x1a, 0xb6, 0xd3, 0x48, 0x3b, 0xef, 0xfd, + 0xde, 0x9b, 0x37, 0x33, 0xef, 0x6b, 0x86, 0xb0, 0x43, 0x5d, 0x41, 0x7c, 0xb3, 0x8f, 0xa9, 0x6b, + 0x70, 0x62, 0x0e, 0x7c, 0x2a, 0x46, 0x55, 0xd3, 0x1c, 0x56, 0x3d, 0x9f, 0x0d, 0xa9, 0x45, 0xfc, + 0xea, 0x70, 0x3b, 0xfe, 0xae, 0x78, 0x3e, 0x13, 0x0c, 0x7d, 0x78, 0x82, 0x4c, 0xc5, 0x34, 0x87, + 0x95, 0x18, 0x37, 0xdc, 0x5e, 0xbf, 0x78, 0x9a, 0xe2, 0xe1, 0x76, 0xf5, 0x29, 0xf5, 0x49, 0xa0, + 0x6b, 0xfd, 0x6c, 0x8f, 0xf5, 0x98, 0xfa, 0xac, 0xca, 0xaf, 0x90, 0xba, 0xd9, 0x63, 0xac, 0x67, + 0x93, 0xaa, 0x1a, 0x75, 0x07, 0x07, 0x55, 0x41, 0x1d, 0xc2, 0x05, 0x76, 0xbc, 0x10, 0x50, 0x3c, + 0x0a, 0xb0, 0x06, 0x3e, 0x16, 0x94, 0xb9, 0x91, 0x02, 0xda, 0x35, 0xab, 0x26, 0xf3, 0x49, 0xd5, + 0xb4, 0x29, 0x71, 0x85, 0x9c, 0x35, 0xf8, 0x0a, 0x01, 0x55, 0x09, 0xb0, 0x69, 0xaf, 0x2f, 0x02, + 0x32, 0xaf, 0x0a, 0xe2, 0x5a, 0xc4, 0x77, 0x68, 0x00, 0x1e, 0x8f, 0x42, 0x81, 0x8d, 0x04, 0xdf, + 0xf4, 0x47, 0x9e, 0x60, 0xd5, 0x43, 0x32, 0xe2, 0x21, 0xf7, 0x92, 0xc9, 0xb8, 0xc3, 0x78, 0x95, + 0xc8, 0xf5, 0xbb, 0x26, 0xa9, 0x0e, 0xb7, 0xbb, 0x44, 0xe0, 0xed, 0x98, 0x10, 0xd9, 0x1d, 0xe2, + 0xba, 0x98, 0x8f, 0x31, 0x26, 0xa3, 0x91, 0xdd, 0x6b, 0x01, 0xdf, 0x08, 0x76, 0x24, 0x18, 0x84, + 0xac, 0x55, 0xec, 0x50, 0x97, 0x55, 0xd5, 0xdf, 0x80, 0x54, 0xfe, 0x6f, 0x06, 0x0a, 0x35, 0xe6, + 0xf2, 0x81, 0x43, 0xfc, 0x5d, 0xcb, 0xa2, 0x72, 0x03, 0x5a, 0x3e, 0xf3, 0x18, 0xc7, 0x36, 0x3a, + 0x0b, 0x73, 0x82, 0x0a, 0x9b, 0x14, 0xb4, 0x92, 0xb6, 0x95, 0xd5, 0x83, 0x01, 0x2a, 0x41, 0xce, + 0x22, 0xdc, 0xf4, 0xa9, 0x27, 0xc1, 0x85, 0x59, 0xc5, 0x4b, 0x92, 0xd0, 0x1a, 0x64, 0x82, 0x53, + 0xa3, 0x56, 0x21, 0xa5, 0xd8, 0x0b, 0x6a, 0xdc, 0xb4, 0xd0, 0x6d, 0x58, 0xa6, 0x2e, 0x15, 0x14, + 0xdb, 0x46, 0x9f, 0xc8, 0xbd, 0x2b, 0xa4, 0x4b, 0xda, 0x56, 0x6e, 0x67, 0xbd, 0x42, 0xbb, 0x66, + 0x45, 0x6e, 0x77, 0x25, 0xdc, 0xe4, 0xe1, 0x76, 0xe5, 0x8e, 0x42, 0xdc, 0x4c, 0x7f, 0xf5, 0xcd, + 0xe6, 0x8c, 0xbe, 0x14, 0xca, 0x05, 0x44, 0x74, 0x01, 0x16, 0x7b, 0xc4, 0x25, 0x9c, 0x72, 0xa3, + 0x8f, 0x79, 0xbf, 0x30, 0x57, 0xd2, 0xb6, 0x16, 0xf5, 0x5c, 0x48, 0xbb, 0x83, 0x79, 0x1f, 0x6d, + 0x42, 0xae, 0x4b, 0x5d, 0xec, 0x8f, 0x02, 0xc4, 0xbc, 0x42, 0x40, 0x40, 0x52, 0x80, 0x1a, 0x00, + 0xf7, 0xf0, 0x53, 0xd7, 0x90, 0xbe, 0x51, 0x58, 0x08, 0x0d, 0x09, 0xfc, 0xa2, 0x12, 0xf9, 0x45, + 0xa5, 0x13, 0x39, 0xce, 0xcd, 0x8c, 0x34, 0xe4, 0xf3, 0x6f, 0x37, 0x35, 0x3d, 0xab, 0xe4, 0x24, + 0x07, 0xed, 0x41, 0x7e, 0xe0, 0x76, 0x99, 0x6b, 0x51, 0xb7, 0x67, 0x78, 0xc4, 0xa7, 0xcc, 0x2a, + 0x64, 0x94, 0xaa, 0xb5, 0x63, 0xaa, 0xea, 0xa1, 0x8b, 0x05, 0x9a, 0xbe, 0x90, 0x9a, 0x56, 0x62, + 0xe1, 0x96, 0x92, 0x45, 0x3f, 0x02, 0x64, 0x9a, 0x43, 0x65, 0x12, 0x1b, 0x88, 0x48, 0x63, 0x76, + 0x7a, 0x8d, 0x79, 0xd3, 0x1c, 0x76, 0x02, 0xe9, 0x50, 0xe5, 0x8f, 0xe1, 0xbc, 0xf0, 0xb1, 0xcb, + 0x0f, 0x88, 0x7f, 0x54, 0x2f, 0x4c, 0xaf, 0xf7, 0xbd, 0x48, 0xc7, 0xa4, 0xf2, 0x3b, 0x50, 0x32, + 0x43, 0x07, 0x32, 0x7c, 0x62, 0x51, 0x2e, 0x7c, 0xda, 0x1d, 0x48, 0x59, 0xe3, 0xc0, 0xc7, 0xa6, + 0xf2, 0x91, 0x9c, 0x72, 0x82, 0x62, 0x84, 0xd3, 0x27, 0x60, 0xb7, 0x42, 0x14, 0x7a, 0x08, 0xdf, + 0xe9, 0xda, 0xcc, 0x3c, 0xe4, 0xd2, 0x38, 0x63, 0x42, 0x93, 0x9a, 0xda, 0xa1, 0x9c, 0x4b, 0x6d, + 0x8b, 0x25, 0x6d, 0x2b, 0xa5, 0x5f, 0x08, 0xb0, 0x2d, 0xe2, 0xd7, 0x13, 0xc8, 0x4e, 0x02, 0x88, + 0xae, 0x02, 0xea, 0x53, 0x2e, 0x98, 0x4f, 0x4d, 0x6c, 0x1b, 0xc4, 0x15, 0x3e, 0x25, 0xbc, 0xb0, + 0xa4, 0xc4, 0x57, 0xc7, 0x9c, 0x46, 0xc0, 0x40, 0x77, 0xe1, 0xc2, 0xa9, 0x93, 0x1a, 0x66, 0x1f, + 0xbb, 0x2e, 0xb1, 0x0b, 0xcb, 0x6a, 0x29, 0x9b, 0xd6, 0x29, 0x73, 0xd6, 0x02, 0x18, 0x3a, 0x03, + 0x73, 0x82, 0x79, 0xc6, 0x5e, 0x61, 0xa5, 0xa4, 0x6d, 0x2d, 0xe9, 0x69, 0xc1, 0xbc, 0x3d, 0xf4, + 0x11, 0x9c, 0x1d, 0x62, 0x9b, 0x5a, 0x58, 0x30, 0x9f, 0x1b, 0x1e, 0x7b, 0x4a, 0x7c, 0xc3, 0xc4, + 0x5e, 0x21, 0xaf, 0x30, 0x68, 0xcc, 0x6b, 0x49, 0x56, 0x0d, 0x7b, 0xe8, 0x32, 0xac, 0xc6, 0x54, + 0x83, 0x13, 0xa1, 0xe0, 0xab, 0x0a, 0xbe, 0x12, 0x33, 0xda, 0x44, 0x48, 0xec, 0x06, 0x64, 0xb1, + 0x6d, 0xb3, 0xa7, 0x36, 0xe5, 0xa2, 0x80, 0x4a, 0xa9, 0xad, 0xac, 0x3e, 0x26, 0xa0, 0x75, 0xc8, + 0x58, 0xc4, 0x1d, 0x29, 0xe6, 0x19, 0xc5, 0x8c, 0xc7, 0xe8, 0x7d, 0xc8, 0x3a, 0x32, 0xc7, 0x0a, + 0x7c, 0x48, 0x0a, 0x67, 0x4b, 0xda, 0x56, 0x5a, 0xcf, 0x38, 0xd4, 0x6d, 0xcb, 0x31, 0xaa, 0xc0, + 0x19, 0xa5, 0xc5, 0xa0, 0xae, 0x3c, 0xa7, 0x21, 0x31, 0x86, 0xd8, 0xe6, 0x85, 0xf7, 0x4a, 0xda, + 0x56, 0x46, 0x5f, 0x55, 0xac, 0x66, 0xc8, 0xd9, 0xc7, 0x36, 0xbf, 0x7e, 0xe9, 0xb3, 0x2f, 0x37, + 0x67, 0xbe, 0xf8, 0x72, 0x73, 0xe6, 0xaf, 0x7f, 0xbc, 0xba, 0x1e, 0xa6, 0x9f, 0x1e, 0x1b, 0x56, + 0xc2, 0x54, 0x55, 0xa9, 0x31, 0x57, 0x10, 0x57, 0x94, 0xff, 0xae, 0xc1, 0xf9, 0x5a, 0xec, 0x10, + 0x0e, 0x1b, 0x62, 0xfb, 0x5d, 0x26, 0x9e, 0x5d, 0xc8, 0x72, 0x79, 0x22, 0x2a, 0xd4, 0xd3, 0xaf, + 0x11, 0xea, 0x19, 0x29, 0x26, 0x19, 0xd7, 0x8b, 0xaf, 0x58, 0xd1, 0xbf, 0x67, 0x61, 0x23, 0x5a, + 0xd1, 0x03, 0x66, 0xd1, 0x03, 0x6a, 0xe2, 0x77, 0x9d, 0x4f, 0x63, 0x3f, 0x4b, 0x4f, 0xe1, 0x67, + 0x73, 0xaf, 0xe7, 0x67, 0xf3, 0x53, 0xf8, 0xd9, 0xc2, 0xcb, 0xfc, 0x2c, 0xf3, 0x32, 0x3f, 0xcb, + 0x4e, 0xe7, 0x67, 0x70, 0x8a, 0x9f, 0x95, 0x7f, 0xa3, 0xc1, 0xd9, 0xc6, 0x93, 0x01, 0x1d, 0xb2, + 0xb7, 0xb4, 0xcb, 0xf7, 0x60, 0x89, 0x24, 0xf4, 0xf1, 0x42, 0xaa, 0x94, 0xda, 0xca, 0xed, 0x5c, + 0xac, 0x84, 0x47, 0x1e, 0xd7, 0xe1, 0xe8, 0xdc, 0x93, 0xb3, 0xeb, 0x93, 0xb2, 0xd7, 0x67, 0x0b, + 0x5a, 0xf9, 0xcf, 0x1a, 0xac, 0xcb, 0x7c, 0xd0, 0x23, 0x3a, 0x79, 0x8a, 0x7d, 0xab, 0x4e, 0x5c, + 0xe6, 0xf0, 0x37, 0xb6, 0xb3, 0x0c, 0x4b, 0x96, 0xd2, 0x64, 0x08, 0x66, 0x60, 0xcb, 0x52, 0x76, + 0x2a, 0x8c, 0x24, 0x76, 0xd8, 0xae, 0x65, 0xa1, 0x2d, 0xc8, 0x8f, 0x31, 0xbe, 0x8c, 0x2e, 0xe9, + 0xf4, 0x12, 0xb6, 0x1c, 0xc1, 0x54, 0xcc, 0x4d, 0xe1, 0xd4, 0x1a, 0xe4, 0x6f, 0xdb, 0xac, 0x8b, + 0xed, 0xb6, 0x8d, 0x79, 0x5f, 0xe6, 0xca, 0x91, 0x0c, 0x26, 0x9f, 0x84, 0x45, 0x4a, 0x99, 0x3f, + 0x75, 0x30, 0x49, 0x31, 0x55, 0x36, 0x6f, 0xc0, 0x6a, 0x5c, 0x36, 0x62, 0xe7, 0x56, 0xab, 0xbd, + 0x79, 0xe6, 0xf9, 0x37, 0x9b, 0x2b, 0x51, 0x20, 0xd5, 0x94, 0xa3, 0xd7, 0xf5, 0x15, 0x73, 0x82, + 0x60, 0xa1, 0x22, 0xe4, 0x68, 0xd7, 0x34, 0x38, 0x79, 0x62, 0xb8, 0x03, 0x47, 0xc5, 0x45, 0x5a, + 0xcf, 0xd2, 0xae, 0xd9, 0x26, 0x4f, 0xf6, 0x06, 0x0e, 0xfa, 0x18, 0xce, 0x45, 0xcd, 0xa4, 0xf4, + 0x24, 0x43, 0xca, 0xcb, 0xed, 0xf2, 0x55, 0xa8, 0x2c, 0xea, 0x67, 0x22, 0xee, 0x3e, 0xb6, 0xe5, + 0x64, 0xbb, 0x96, 0xe5, 0x97, 0xff, 0x33, 0x07, 0xf3, 0x2d, 0xec, 0x63, 0x87, 0xa3, 0x0e, 0xac, + 0x08, 0xe2, 0x78, 0x36, 0x16, 0xc4, 0x08, 0x5a, 0x92, 0x70, 0xa5, 0x57, 0x54, 0xab, 0x92, 0x6c, + 0xfc, 0x2a, 0x89, 0x56, 0x6f, 0xb8, 0x5d, 0xa9, 0x29, 0x6a, 0x5b, 0x60, 0x41, 0xf4, 0xe5, 0x48, + 0x47, 0x40, 0x44, 0xd7, 0xa0, 0x20, 0xfc, 0x01, 0x17, 0xe3, 0x66, 0x61, 0x5c, 0x25, 0x83, 0xb3, + 0x3e, 0x17, 0xf1, 0x83, 0xfa, 0x1a, 0x57, 0xc7, 0x93, 0xfb, 0x82, 0xd4, 0x9b, 0xf4, 0x05, 0x16, + 0x6c, 0x70, 0x79, 0xa8, 0x86, 0x43, 0x84, 0xaa, 0xde, 0x9e, 0x4d, 0x5c, 0xca, 0xfb, 0x91, 0xf2, + 0xf9, 0xe9, 0x95, 0xaf, 0x29, 0x45, 0x0f, 0xa4, 0x1e, 0x3d, 0x52, 0x13, 0xce, 0x52, 0x83, 0xe2, + 0xc9, 0xb3, 0xc4, 0x0b, 0x5f, 0x50, 0x0b, 0x7f, 0xff, 0x04, 0x15, 0xf1, 0xea, 0x39, 0x5c, 0x4a, + 0x74, 0x19, 0x32, 0x9a, 0x0c, 0xe5, 0xc8, 0x86, 0x4f, 0x7a, 0xb2, 0x14, 0xe3, 0xa0, 0xe1, 0x20, + 0x24, 0xee, 0x94, 0x42, 0x9f, 0x96, 0x6d, 0x72, 0xc2, 0xa9, 0xa9, 0x1b, 0xb6, 0x93, 0xe5, 0x71, + 0x33, 0x12, 0xc7, 0xa6, 0x9e, 0xd0, 0x75, 0x8b, 0x10, 0x19, 0x45, 0x89, 0x86, 0x84, 0x78, 0xcc, + 0xec, 0xab, 0x7c, 0x94, 0xd2, 0x97, 0xe3, 0xe6, 0xa3, 0x21, 0xa9, 0xe8, 0x31, 0x5c, 0x71, 0x07, + 0x4e, 0x97, 0xf8, 0x06, 0x3b, 0x08, 0x80, 0x2a, 0xf2, 0xb8, 0xc0, 0xbe, 0x30, 0x7c, 0x62, 0x12, + 0x3a, 0x94, 0x27, 0x1e, 0x58, 0xce, 0x55, 0x3f, 0x94, 0xd2, 0x2f, 0x06, 0x22, 0x0f, 0x0f, 0x94, + 0x0e, 0xde, 0x61, 0x6d, 0x09, 0xd7, 0x23, 0x74, 0x60, 0x18, 0x47, 0x4d, 0xb8, 0xe0, 0xe0, 0x67, + 0x46, 0xec, 0xcc, 0xd2, 0x70, 0xe2, 0xf2, 0x01, 0x37, 0xc6, 0x89, 0x3c, 0xec, 0x89, 0x8a, 0x0e, + 0x7e, 0xd6, 0x0a, 0x71, 0xb5, 0x08, 0xb6, 0x1f, 0xa3, 0xee, 0xa6, 0x33, 0xe9, 0xfc, 0xdc, 0xdd, + 0x74, 0x66, 0x2e, 0x3f, 0x7f, 0x37, 0x9d, 0xc9, 0xe4, 0xb3, 0xe5, 0xef, 0x42, 0x56, 0xc5, 0xf5, + 0xae, 0x79, 0xc8, 0x55, 0x66, 0xb7, 0x2c, 0x9f, 0x70, 0x4e, 0x78, 0x41, 0x0b, 0x33, 0x7b, 0x44, + 0x28, 0x0b, 0x58, 0x3b, 0xed, 0xa6, 0xc0, 0xd1, 0xa7, 0xb0, 0xe0, 0x11, 0xd5, 0xc6, 0x2a, 0xc1, + 0xdc, 0xce, 0x27, 0x95, 0x29, 0xae, 0x78, 0x95, 0xd3, 0x14, 0xea, 0x91, 0xb6, 0xb2, 0x3f, 0xbe, + 0x9f, 0x1c, 0xe9, 0x12, 0x38, 0xda, 0x3f, 0x3a, 0xe9, 0x0f, 0x5f, 0x6b, 0xd2, 0x23, 0xfa, 0xc6, + 0x73, 0x5e, 0x81, 0xdc, 0x6e, 0xb0, 0xec, 0xfb, 0xb2, 0x6c, 0x1d, 0xdb, 0x96, 0xc5, 0xe4, 0xb6, + 0xdc, 0x85, 0xe5, 0xb0, 0xe9, 0xeb, 0x30, 0x95, 0x9b, 0xd0, 0x07, 0x00, 0x61, 0xb7, 0x28, 0x73, + 0x5a, 0x90, 0xdd, 0xb3, 0x21, 0xa5, 0x69, 0x4d, 0x54, 0xf3, 0xd9, 0x89, 0x6a, 0x5e, 0x66, 0xb0, + 0xb6, 0x9f, 0xac, 0xb6, 0xaa, 0x78, 0xb4, 0xb0, 0x79, 0x48, 0x04, 0x47, 0x3a, 0xa4, 0x55, 0x55, + 0x0d, 0x96, 0x7a, 0xed, 0xd4, 0xa5, 0x0e, 0xb7, 0x2b, 0xa7, 0x29, 0xa9, 0x63, 0x81, 0x43, 0xff, + 0x57, 0xba, 0xca, 0xbf, 0xd4, 0xa0, 0x70, 0x8f, 0x8c, 0x76, 0x39, 0xa7, 0x3d, 0xd7, 0x21, 0xae, + 0x90, 0x91, 0x87, 0x4d, 0x22, 0x3f, 0xd1, 0x87, 0xb0, 0x14, 0x3b, 0x9d, 0x4a, 0x9c, 0x9a, 0x4a, + 0x9c, 0x8b, 0x11, 0x51, 0xee, 0x11, 0xba, 0x0e, 0xe0, 0xf9, 0x64, 0x68, 0x98, 0xc6, 0x21, 0x19, + 0xa9, 0xf5, 0xe4, 0x76, 0x36, 0x92, 0x09, 0x31, 0xb8, 0xe9, 0x56, 0x5a, 0x83, 0xae, 0x4d, 0xcd, + 0x7b, 0x64, 0xa4, 0x67, 0x24, 0xbe, 0x76, 0x8f, 0x8c, 0x64, 0x05, 0x54, 0xcd, 0x89, 0xca, 0x62, + 0x29, 0x3d, 0x18, 0x94, 0x7f, 0xad, 0xc1, 0xf9, 0x78, 0x01, 0xd1, 0x59, 0xb5, 0x06, 0x5d, 0x29, + 0x91, 0xdc, 0x3b, 0x6d, 0xb2, 0x13, 0x3a, 0x66, 0xed, 0xec, 0x09, 0xd6, 0xde, 0x80, 0xc5, 0x38, + 0x8d, 0x48, 0x7b, 0x53, 0x53, 0xd8, 0x9b, 0x8b, 0x24, 0xee, 0x91, 0x51, 0xf9, 0x67, 0x09, 0xdb, + 0x6e, 0x8e, 0x12, 0xee, 0xeb, 0xbf, 0xc2, 0xb6, 0x78, 0xda, 0xa4, 0x6d, 0x66, 0x52, 0xfe, 0xd8, + 0x02, 0x52, 0xc7, 0x17, 0x50, 0xfe, 0x9b, 0x06, 0xe7, 0x92, 0xb3, 0xf2, 0x0e, 0x6b, 0xf9, 0x03, + 0x97, 0xec, 0xef, 0xbc, 0x6c, 0xfe, 0x1b, 0x90, 0xf1, 0x24, 0xca, 0x10, 0x3c, 0x3c, 0xa2, 0xe9, + 0xca, 0xf5, 0x82, 0x92, 0xea, 0xc8, 0xf0, 0x5e, 0x9e, 0x58, 0x00, 0x0f, 0x77, 0xee, 0xa3, 0xa9, + 0x02, 0x2e, 0x11, 0x4c, 0xfa, 0x52, 0x72, 0xcd, 0xbc, 0xfc, 0x27, 0x0d, 0xd0, 0xf1, 0x4c, 0x85, + 0xbe, 0x07, 0x68, 0x22, 0xdf, 0x25, 0xfd, 0x2f, 0xef, 0x25, 0x32, 0x9c, 0xda, 0xb9, 0xd8, 0x8f, + 0x66, 0x13, 0x7e, 0x84, 0x7e, 0x00, 0xe0, 0xa9, 0x43, 0x9c, 0xfa, 0xa4, 0xb3, 0x5e, 0xf4, 0x89, + 0x36, 0x21, 0xf7, 0x13, 0x46, 0xdd, 0xe4, 0x23, 0x45, 0x4a, 0x07, 0x49, 0x0a, 0xde, 0x1f, 0xca, + 0xbf, 0xd0, 0xc6, 0xe9, 0x30, 0xcc, 0xd4, 0xbb, 0xb6, 0x1d, 0xf6, 0x7f, 0xc8, 0x83, 0x85, 0x28, + 0xd7, 0x07, 0xe1, 0xba, 0x71, 0x62, 0x3d, 0xaa, 0x13, 0x53, 0x95, 0xa4, 0x6b, 0x72, 0xc7, 0x7f, + 0xff, 0xed, 0xe6, 0x95, 0x1e, 0x15, 0xfd, 0x41, 0xb7, 0x62, 0x32, 0x27, 0x7c, 0xb9, 0x09, 0xff, + 0x5d, 0xe5, 0xd6, 0x61, 0x55, 0x8c, 0x3c, 0xc2, 0x23, 0x19, 0xfe, 0xbb, 0x7f, 0xfd, 0xe1, 0xb2, + 0xa6, 0x47, 0xd3, 0x94, 0x2d, 0xc8, 0xc7, 0x77, 0x0f, 0x22, 0xb0, 0x85, 0x05, 0x46, 0x08, 0xd2, + 0x2e, 0x76, 0xa2, 0x06, 0x53, 0x7d, 0x4f, 0xd1, 0x5f, 0xae, 0x43, 0xc6, 0x09, 0x35, 0x84, 0xb7, + 0x8d, 0x78, 0x5c, 0xfe, 0xf9, 0x3c, 0x94, 0xa2, 0x69, 0x9a, 0xc1, 0x7b, 0x0c, 0xfd, 0x69, 0xd0, + 0x7e, 0xcb, 0xae, 0x49, 0xd6, 0x6e, 0x7e, 0xc2, 0x1b, 0x8f, 0xf6, 0x76, 0xde, 0x78, 0x66, 0x5f, + 0xf9, 0xc6, 0x93, 0x7a, 0xc5, 0x1b, 0x4f, 0xfa, 0xed, 0xbd, 0xf1, 0xcc, 0xbd, 0xf5, 0x37, 0x9e, + 0xf9, 0x77, 0xf4, 0xc6, 0xb3, 0xf0, 0x7f, 0x79, 0xe3, 0xc9, 0xbc, 0xd5, 0x37, 0x9e, 0xec, 0x9b, + 0xbd, 0xf1, 0xc0, 0x1b, 0xbd, 0xf1, 0xe4, 0xa6, 0x7a, 0xe3, 0x29, 0xff, 0x6a, 0x16, 0xce, 0xa9, + 0x1b, 0x74, 0xbb, 0x8f, 0x3d, 0x79, 0xb8, 0xe3, 0x10, 0x88, 0xaf, 0xe5, 0xda, 0x14, 0xd7, 0xf2, + 0xd9, 0xd7, 0xbb, 0x96, 0xa7, 0xa6, 0xb8, 0x96, 0xa7, 0x5f, 0x76, 0x2d, 0x9f, 0x7b, 0xd9, 0xb5, + 0x7c, 0x7e, 0xba, 0x6b, 0xf9, 0xc2, 0x69, 0xd7, 0xf2, 0x4d, 0xc8, 0xc5, 0x09, 0xc2, 0xe2, 0x28, + 0x0f, 0x29, 0x6a, 0x45, 0xcd, 0xa4, 0xfc, 0xbc, 0xfc, 0x17, 0x0d, 0x96, 0xe2, 0xaa, 0xde, 0xc7, + 0x9c, 0xa0, 0x22, 0xac, 0xd7, 0x1e, 0xee, 0xb5, 0x1f, 0x3d, 0x68, 0xe8, 0x46, 0xeb, 0xce, 0x6e, + 0xbb, 0x61, 0x3c, 0xda, 0x6b, 0xb7, 0x1a, 0xb5, 0xe6, 0xad, 0x66, 0xa3, 0x9e, 0x9f, 0x41, 0x1f, + 0xc0, 0xda, 0x11, 0xbe, 0xde, 0xb8, 0xdd, 0x6c, 0x77, 0x1a, 0x7a, 0xa3, 0x9e, 0xd7, 0x4e, 0x10, + 0x6f, 0xee, 0x35, 0x3b, 0xcd, 0xdd, 0xfb, 0xcd, 0xc7, 0x8d, 0x7a, 0x7e, 0x16, 0xbd, 0x0f, 0xe7, + 0x8f, 0xf0, 0xef, 0xef, 0x3e, 0xda, 0xab, 0xdd, 0x69, 0xd4, 0xf3, 0x29, 0xb4, 0x0e, 0xe7, 0x8e, + 0x30, 0xdb, 0x9d, 0x87, 0xad, 0x56, 0xa3, 0x9e, 0x4f, 0x9f, 0xc0, 0xab, 0x37, 0xee, 0x37, 0x3a, + 0x8d, 0x7a, 0x7e, 0x6e, 0x3d, 0xfd, 0xd9, 0x6f, 0x8b, 0x33, 0x37, 0x3f, 0xfd, 0xea, 0x79, 0x51, + 0xfb, 0xfa, 0x79, 0x51, 0xfb, 0xe7, 0xf3, 0xa2, 0xf6, 0xf9, 0x8b, 0xe2, 0xcc, 0xd7, 0x2f, 0x8a, + 0x33, 0xff, 0x78, 0x51, 0x9c, 0x79, 0xfc, 0xc9, 0xf1, 0x4c, 0x3e, 0xae, 0x94, 0x57, 0xe3, 0x5f, + 0x33, 0x86, 0xdf, 0xaf, 0x3e, 0x9b, 0xfc, 0xad, 0x44, 0x25, 0xf9, 0xee, 0xbc, 0x0a, 0xd2, 0x8f, + 0xff, 0x17, 0x00, 0x00, 0xff, 0xff, 0x79, 0x8b, 0xb8, 0x2d, 0x5c, 0x19, 0x00, 0x00, } func (m *ConsumerAdditionProposal) Marshal() (dAtA []byte, err error) { diff --git a/x/ccv/provider/types/query.pb.go b/x/ccv/provider/types/query.pb.go index 7ef6796493..6ef50117a7 100644 --- a/x/ccv/provider/types/query.pb.go +++ b/x/ccv/provider/types/query.pb.go @@ -128,7 +128,7 @@ func (m *QueryConsumerGenesisResponse) GetGenesisState() types.ConsumerGenesisSt type QueryConsumerChainsRequest struct { // The phase of the consumer chains returned (optional) - // All=0|Registered=1|Initialized=2|Launched=3|Stopped=4|Deleted=5 + // Registered=1|Initialized=2|Launched=3|Stopped=4|Deleted=5 Phase ConsumerPhase `protobuf:"varint,1,opt,name=phase,proto3,enum=interchain_security.ccv.provider.v1.ConsumerPhase" json:"phase,omitempty"` // The limit of consumer chains returned (optional) // default is 100 @@ -172,7 +172,7 @@ func (m *QueryConsumerChainsRequest) GetPhase() ConsumerPhase { if m != nil { return m.Phase } - return ConsumerPhase_CONSUMER_PHASE_UNSPECIFIED + return CONSUMER_PHASE_UNSPECIFIED } func (m *QueryConsumerChainsRequest) GetLimit() int32 { @@ -243,7 +243,7 @@ type Chain struct { Allowlist []string `protobuf:"bytes,7,rep,name=allowlist,proto3" json:"allowlist,omitempty"` // Corresponds to a list of provider consensus addresses of validators that CANNOT validate the consumer chain. Denylist []string `protobuf:"bytes,8,rep,name=denylist,proto3" json:"denylist,omitempty"` - // The phase the consumer chain (Registered=1|Initialized=2|Launched=3|Stopped=4|Deleted=5) + // The phase the consumer chain Phase string `protobuf:"bytes,9,opt,name=phase,proto3" json:"phase,omitempty"` // The metadata of the consumer chain Metadata ConsumerMetadata `protobuf:"bytes,10,opt,name=metadata,proto3" json:"metadata"`