diff --git a/CHANGELOG.md b/CHANGELOG.md index c6da175fb5..32fe54e08e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -57,7 +57,6 @@ Every module contains its own CHANGELOG.md. Please refer to the module you are i * (baseapp) [#18499](https://github.com/cosmos/cosmos-sdk/pull/18499) Add `MsgRouter` response type from message name function. * (types) [#18768](https://github.com/cosmos/cosmos-sdk/pull/18768) Add MustValAddressFromBech32 function. * (gRPC) [#19049](https://github.com/cosmos/cosmos-sdk/pull/19049) Add debug log prints for each gRPC request. -* (x/consensus) [#19483](https://github.com/cosmos/cosmos-sdk/pull/19483) Add consensus messages registration to consensus module. * (types) [#19759](https://github.com/cosmos/cosmos-sdk/pull/19759) Align SignerExtractionAdapter in PriorityNonceMempool Remove. * (client) [#19870](https://github.com/cosmos/cosmos-sdk/pull/19870) Add new query command `wait-tx`. Alias `event-query-tx-for` to `wait-tx` for backward compatibility. * (crypto/keyring) [#20212](https://github.com/cosmos/cosmos-sdk/pull/20212) Expose the db keyring used in the keystore. @@ -144,7 +143,6 @@ Every module contains its own CHANGELOG.md. Please refer to the module you are i * The module manager now can do everything that the basic manager was doing. * When using runtime, just inject the module manager when needed using your app config. * All `AppModuleBasic` structs have been removed. -* (x/consensus) [#19488](https://github.com/cosmos/cosmos-sdk/pull/19488) Consensus module creation takes `appmodule.Environment` instead of individual services. * (server) [#18303](https://github.com/cosmos/cosmos-sdk/pull/18303) `x/genutil` now handles the application export. `server.AddCommands` does not take an `AppExporter` but instead `genutilcli.Commands` does. * (x/gov/testutil) [#17986](https://github.com/cosmos/cosmos-sdk/pull/18036) `MsgDeposit` has been removed because of AutoCLI migration. * (x/staking/testutil) [#17986](https://github.com/cosmos/cosmos-sdk/pull/17986) `MsgRedelegateExec`, `MsgUnbondExec` has been removed because of AutoCLI migration. @@ -174,7 +172,6 @@ Every module contains its own CHANGELOG.md. Please refer to the module you are i * (x/staking) [#18257](https://github.com/cosmos/cosmos-sdk/pull/18257) Staking module was moved to its own go.mod `cosmossdk.io/x/staking` * (x/authz) [#18265](https://github.com/cosmos/cosmos-sdk/pull/18265) Authz module was moved to its own go.mod `cosmossdk.io/x/authz` * (x/mint) [#18283](https://github.com/cosmos/cosmos-sdk/pull/18283) Mint module was moved to its own go.mod `cosmossdk.io/x/mint` -* (x/consensus) [#18041](https://github.com/cosmos/cosmos-sdk/pull/18041) `ToProtoConsensusParams()` returns an error * (x/slashing) [#18115](https://github.com/cosmos/cosmos-sdk/pull/18115) `NewValidatorSigningInfo` takes strings instead of `sdk.AccAddress` * (types) [#18268](https://github.com/cosmos/cosmos-sdk/pull/18268) Remove global setting of basedenom. Use the staking module parameter instead * (x/auth) [#18351](https://github.com/cosmos/cosmos-sdk/pull/18351) Auth module was moved to its own go.mod `cosmossdk.io/x/auth` diff --git a/api/cosmos/consensus/v1/tx.pulsar.go b/api/cosmos/consensus/v1/tx.pulsar.go index c0328eeffb..6a6a85835b 100644 --- a/api/cosmos/consensus/v1/tx.pulsar.go +++ b/api/cosmos/consensus/v1/tx.pulsar.go @@ -1298,8 +1298,6 @@ type MsgUpdateParams struct { Block *v1.BlockParams `protobuf:"bytes,2,opt,name=block,proto3" json:"block,omitempty"` Evidence *v1.EvidenceParams `protobuf:"bytes,3,opt,name=evidence,proto3" json:"evidence,omitempty"` Validator *v1.ValidatorParams `protobuf:"bytes,4,opt,name=validator,proto3" json:"validator,omitempty"` - // Since: cosmos-sdk 0.51 - // // Deprecated: Do not use. Abci *v1.ABCIParams `protobuf:"bytes,5,opt,name=abci,proto3" json:"abci,omitempty"` Synchrony *v1.SynchronyParams `protobuf:"bytes,6,opt,name=synchrony,proto3" json:"synchrony,omitempty"` @@ -1444,7 +1442,7 @@ var file_cosmos_consensus_v1_tx_proto_rawDesc = []byte{ 0x62, 0x66, 0x74, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x79, 0x6e, 0x63, 0x68, 0x72, 0x6f, 0x6e, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x42, 0x13, 0xda, 0xb4, 0x2d, 0x0f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2d, 0x73, 0x64, 0x6b, 0x20, 0x30, 0x2e, 0x35, - 0x31, 0x52, 0x09, 0x73, 0x79, 0x6e, 0x63, 0x68, 0x72, 0x6f, 0x6e, 0x79, 0x12, 0x4f, 0x0a, 0x07, + 0x32, 0x52, 0x09, 0x73, 0x79, 0x6e, 0x63, 0x68, 0x72, 0x6f, 0x6e, 0x79, 0x12, 0x4f, 0x0a, 0x07, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x63, 0x6f, 0x6d, 0x65, 0x74, 0x62, 0x66, 0x74, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x42, diff --git a/x/consensus/CHANGELOG.md b/x/consensus/CHANGELOG.md index 23c658a931..74694f4a7b 100644 --- a/x/consensus/CHANGELOG.md +++ b/x/consensus/CHANGELOG.md @@ -31,4 +31,13 @@ Ref: https://keepachangelog.com/en/1.0.0/ ## [Unreleased] +### Features + +* (x/consensus) [#19483](https://github.com/cosmos/cosmos-sdk/pull/19483) Add consensus messages registration to consensus module. * [#20615](https://github.com/cosmos/cosmos-sdk/pull/20615) Add consensus messages to add cometinfo to consensus modules + +### API Breaking Changes + +* (x/consensus) [#19488](https://github.com/cosmos/cosmos-sdk/pull/19488) Consensus module creation takes `appmodule.Environment` instead of individual services. +* (x/consensus) [#18041](https://github.com/cosmos/cosmos-sdk/pull/18041) `ToProtoConsensusParams()` returns an error + diff --git a/x/consensus/keeper/keeper.go b/x/consensus/keeper/keeper.go index fbf7fcc410..9236f76f8d 100644 --- a/x/consensus/keeper/keeper.go +++ b/x/consensus/keeper/keeper.go @@ -19,8 +19,6 @@ import ( "github.com/cosmos/cosmos-sdk/codec" ) -var StoreKey = "Consensus" - type Keeper struct { appmodule.Environment diff --git a/x/consensus/keeper/keeper_test.go b/x/consensus/keeper/keeper_test.go index 48188411b5..ed2bee648a 100644 --- a/x/consensus/keeper/keeper_test.go +++ b/x/consensus/keeper/keeper_test.go @@ -38,7 +38,7 @@ func getDuration(d time.Duration) *time.Duration { } func (s *KeeperTestSuite) SetupTest(enabledFeatures bool) { - key := storetypes.NewKVStoreKey(consensusparamkeeper.StoreKey) + key := storetypes.NewKVStoreKey(types.StoreKey) testCtx := testutil.DefaultContextWithDB(s.T(), key, storetypes.NewTransientStoreKey("transient_test")) ctx := testCtx.Ctx.WithHeaderInfo(header.Info{Height: 5}) encCfg := moduletestutil.MakeTestEncodingConfig(codectestutil.CodecOptions{}) diff --git a/x/consensus/proto/cosmos/consensus/v1/tx.proto b/x/consensus/proto/cosmos/consensus/v1/tx.proto index d6b21625c4..afecf31d97 100644 --- a/x/consensus/proto/cosmos/consensus/v1/tx.proto +++ b/x/consensus/proto/cosmos/consensus/v1/tx.proto @@ -38,9 +38,9 @@ message MsgUpdateParams { cometbft.types.v1.EvidenceParams evidence = 3; cometbft.types.v1.ValidatorParams validator = 4; - // Since: cosmos-sdk 0.51 - cometbft.types.v1.ABCIParams abci = 5 [deprecated = true, (cosmos_proto.field_added_in) = "cosmos-sdk 0.50"]; - cometbft.types.v1.SynchronyParams synchrony = 6 [(cosmos_proto.field_added_in) = "cosmos-sdk 0.51"]; + cometbft.types.v1.ABCIParams abci = 5 [deprecated = true, (cosmos_proto.field_added_in) = "cosmos-sdk 0.50"]; + + cometbft.types.v1.SynchronyParams synchrony = 6 [(cosmos_proto.field_added_in) = "cosmos-sdk 0.52"]; cometbft.types.v1.FeatureParams feature = 7 [(cosmos_proto.field_added_in) = "cosmos-sdk 0.52"]; } diff --git a/x/consensus/types/msgs.go b/x/consensus/types/msgs.go index 71c950aa29..832658049d 100644 --- a/x/consensus/types/msgs.go +++ b/x/consensus/types/msgs.go @@ -31,39 +31,19 @@ func (msg MsgUpdateParams) ToProtoConsensusParams() (cmtproto.ConsensusParams, e PubKeyTypes: msg.Validator.PubKeyTypes, }, Version: cmttypes.DefaultConsensusParams().ToProto().Version, // Version is stored in x/upgrade - Feature: &cmtproto.FeatureParams{}, - Synchrony: &cmtproto.SynchronyParams{}, + Feature: msg.Feature, + Synchrony: msg.Synchrony, } if msg.Abci != nil { + if cp.Feature == nil { + cp.Feature = &cmtproto.FeatureParams{} + } + cp.Feature.VoteExtensionsEnableHeight = &types.Int64Value{ Value: msg.Abci.VoteExtensionsEnableHeight, } } - if msg.Feature != nil { - if msg.Feature.VoteExtensionsEnableHeight != nil { - cp.Feature.VoteExtensionsEnableHeight = &types.Int64Value{ - Value: msg.Feature.GetVoteExtensionsEnableHeight().GetValue(), - } - } - if msg.Feature.PbtsEnableHeight != nil { - cp.Feature.PbtsEnableHeight = &types.Int64Value{ - Value: msg.Feature.GetPbtsEnableHeight().GetValue(), - } - } - } - - if msg.Synchrony != nil { - if msg.Synchrony.MessageDelay != nil { - delay := *msg.Synchrony.MessageDelay - cp.Synchrony.MessageDelay = &delay - } - if msg.Synchrony.Precision != nil { - precision := *msg.Synchrony.Precision - cp.Synchrony.Precision = &precision - } - } - return cp, nil } diff --git a/x/consensus/types/tx.pb.go b/x/consensus/types/tx.pb.go index fec7fc6718..33f9d9a38e 100644 --- a/x/consensus/types/tx.pb.go +++ b/x/consensus/types/tx.pb.go @@ -44,7 +44,6 @@ type MsgUpdateParams struct { Block *v1.BlockParams `protobuf:"bytes,2,opt,name=block,proto3" json:"block,omitempty"` Evidence *v1.EvidenceParams `protobuf:"bytes,3,opt,name=evidence,proto3" json:"evidence,omitempty"` Validator *v1.ValidatorParams `protobuf:"bytes,4,opt,name=validator,proto3" json:"validator,omitempty"` - // Since: cosmos-sdk 0.51 Abci *v1.ABCIParams `protobuf:"bytes,5,opt,name=abci,proto3" json:"abci,omitempty"` // Deprecated: Do not use. Synchrony *v1.SynchronyParams `protobuf:"bytes,6,opt,name=synchrony,proto3" json:"synchrony,omitempty"` Feature *v1.FeatureParams `protobuf:"bytes,7,opt,name=feature,proto3" json:"feature,omitempty"` @@ -179,39 +178,39 @@ func init() { func init() { proto.RegisterFile("cosmos/consensus/v1/tx.proto", fileDescriptor_2135c60575ab504d) } var fileDescriptor_2135c60575ab504d = []byte{ - // 507 bytes of a gzipped FileDescriptorProto + // 506 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x93, 0x4f, 0x6b, 0x13, 0x41, 0x18, 0xc6, 0xb3, 0x36, 0x69, 0xcd, 0x28, 0x14, 0x27, 0x4a, 0xa7, 0xa1, 0x0e, 0x31, 0x88, 0x94, 0x60, 0x66, 0x9b, 0x58, 0xff, 0x82, 0x60, 0x23, 0x8a, 0x1e, 0x8a, 0xb2, 0xa5, 0x1e, 0xbc, 0xc8, 0x64, 0x77, 0xba, 0x5d, 0xd2, 0xdd, 0x59, 0x76, 0x26, 0x6b, 0x73, 0x13, 0xc1, 0x8b, 0x27, 0xbf, 0x88, 0x90, 0x43, 0x3f, 0x84, 0x78, 0x2a, 0x9e, 0xc4, 0x93, 0x24, 0x87, 0x7c, 0x0d, 0xd9, 0x99, - 0xdd, 0xac, 0x8d, 0x5b, 0xf0, 0x12, 0xc8, 0x3e, 0xcf, 0xef, 0x79, 0x66, 0xde, 0x7d, 0x17, 0x6c, - 0xd8, 0x5c, 0xf8, 0x5c, 0x98, 0x36, 0x0f, 0x04, 0x0b, 0xc4, 0x50, 0x98, 0x71, 0xc7, 0x94, 0xc7, - 0x24, 0x8c, 0xb8, 0xe4, 0xb0, 0xa6, 0x55, 0x32, 0x57, 0x49, 0xdc, 0xa9, 0x5f, 0xa1, 0xbe, 0x17, - 0x70, 0x53, 0xfd, 0x6a, 0x5f, 0x7d, 0x5d, 0xfb, 0xde, 0xa9, 0x7f, 0x66, 0x0a, 0x69, 0x69, 0x2d, - 0x2d, 0xf0, 0x85, 0x9b, 0x44, 0xfb, 0xc2, 0x4d, 0x05, 0x6c, 0x73, 0x9f, 0xc9, 0xfe, 0x81, 0x34, - 0xe5, 0x28, 0x64, 0xaa, 0x37, 0xa4, 0x11, 0xf5, 0x33, 0x70, 0x63, 0xae, 0xd3, 0xbe, 0xed, 0xa9, - 0x63, 0x25, 0x3e, 0xad, 0x36, 0xbf, 0x96, 0xc1, 0xea, 0xae, 0x70, 0xf7, 0x43, 0x87, 0x4a, 0xf6, - 0x5a, 0x71, 0xf0, 0x1e, 0xa8, 0xd2, 0xa1, 0x3c, 0xe4, 0x91, 0x27, 0x47, 0xc8, 0x68, 0x18, 0x9b, - 0xd5, 0x1e, 0xfa, 0x71, 0xd2, 0xbe, 0x9a, 0x9e, 0x67, 0xc7, 0x71, 0x22, 0x26, 0xc4, 0x9e, 0x8c, - 0xbc, 0xc0, 0xb5, 0x72, 0x2b, 0xdc, 0x06, 0x95, 0xfe, 0x11, 0xb7, 0x07, 0xe8, 0x42, 0xc3, 0xd8, - 0xbc, 0xd4, 0xc5, 0x24, 0x6b, 0x26, 0xba, 0x31, 0xee, 0x90, 0x5e, 0xa2, 0xeb, 0x1a, 0x4b, 0x9b, - 0xe1, 0x63, 0x70, 0x91, 0xc5, 0x9e, 0xc3, 0x02, 0x9b, 0xa1, 0x25, 0x05, 0xde, 0x28, 0x00, 0x9f, - 0xa5, 0x96, 0x94, 0x9d, 0x23, 0xf0, 0x09, 0xa8, 0xc6, 0xf4, 0xc8, 0x73, 0xa8, 0xe4, 0x11, 0x2a, - 0x2b, 0xbe, 0x59, 0xc0, 0xbf, 0xc9, 0x3c, 0x69, 0x40, 0x0e, 0xc1, 0x17, 0xa0, 0x9c, 0x4c, 0x06, - 0x55, 0x14, 0x7c, 0xbd, 0x00, 0xde, 0xe9, 0x3d, 0x7d, 0xa9, 0xb9, 0xde, 0xb5, 0x5f, 0x27, 0xed, - 0x55, 0x3d, 0x88, 0xb6, 0x70, 0x06, 0x8d, 0x2d, 0x72, 0x77, 0x0b, 0x19, 0x96, 0x4a, 0x80, 0xfb, - 0xa0, 0x2a, 0x46, 0x81, 0x7d, 0x18, 0xf1, 0x60, 0x84, 0x96, 0xcf, 0x3d, 0xcb, 0x5e, 0xe6, 0x49, - 0x33, 0x6b, 0xff, 0x66, 0x76, 0xac, 0x3c, 0x09, 0xbe, 0x02, 0x2b, 0x07, 0x8c, 0xca, 0x61, 0xc4, - 0xd0, 0x8a, 0x0a, 0x6d, 0x14, 0x84, 0x3e, 0xd7, 0x8e, 0xf3, 0x23, 0xbb, 0x56, 0x96, 0xf2, 0xe8, - 0xe1, 0xc7, 0xd9, 0xb8, 0x95, 0xbf, 0xb8, 0xcf, 0xb3, 0x71, 0xeb, 0x56, 0x6e, 0x36, 0x8f, 0xff, - 0xda, 0xe2, 0x85, 0xdd, 0x68, 0xae, 0x83, 0xb5, 0x85, 0x47, 0x16, 0x13, 0x61, 0x62, 0xef, 0x7e, - 0x32, 0xc0, 0xd2, 0xae, 0x70, 0xe1, 0x7b, 0x70, 0xf9, 0xcc, 0x3a, 0xdd, 0x24, 0x05, 0xdb, 0x4f, - 0x16, 0x52, 0xea, 0xb7, 0xff, 0xc7, 0x95, 0x75, 0x35, 0x6b, 0xdf, 0x17, 0xef, 0xb7, 0x7d, 0xbf, - 0x5e, 0xf9, 0x30, 0x1b, 0xb7, 0x8c, 0xde, 0x83, 0x6f, 0x13, 0x6c, 0x9c, 0x4e, 0xb0, 0xf1, 0x7b, - 0x82, 0x8d, 0x2f, 0x53, 0x5c, 0x3a, 0x9d, 0xe2, 0xd2, 0xcf, 0x29, 0x2e, 0xbd, 0xc5, 0x9a, 0x10, - 0xce, 0x80, 0x78, 0xfc, 0xcc, 0x35, 0xd5, 0x18, 0xfb, 0xcb, 0xea, 0x9b, 0xb8, 0xf3, 0x27, 0x00, - 0x00, 0xff, 0xff, 0x6c, 0x14, 0x46, 0x20, 0xcd, 0x03, 0x00, 0x00, + 0xdd, 0xac, 0x8d, 0xab, 0x78, 0x09, 0x64, 0x9f, 0xe7, 0xf7, 0x3c, 0x33, 0xef, 0xbe, 0x0b, 0x36, + 0x6c, 0x2e, 0x7c, 0x2e, 0x4c, 0x9b, 0x07, 0x82, 0x05, 0x62, 0x28, 0xcc, 0xb8, 0x63, 0xca, 0x63, + 0x12, 0x46, 0x5c, 0x72, 0x58, 0xd3, 0x2a, 0x99, 0xab, 0x24, 0xee, 0xd4, 0x2f, 0x51, 0xdf, 0x0b, + 0xb8, 0xa9, 0x7e, 0xb5, 0xaf, 0xbe, 0xae, 0x7d, 0x6f, 0xd4, 0x3f, 0x33, 0x85, 0xb4, 0xb4, 0x96, + 0x16, 0xf8, 0xc2, 0x4d, 0xa2, 0x7d, 0xe1, 0xa6, 0x02, 0xb6, 0xb9, 0xcf, 0x64, 0xff, 0x40, 0x9a, + 0x72, 0x14, 0x32, 0xd5, 0x1b, 0xd2, 0x88, 0xfa, 0x19, 0xb8, 0x31, 0xd7, 0x69, 0xdf, 0xf6, 0xd4, + 0xb1, 0x12, 0x9f, 0x56, 0x9b, 0x9f, 0xcb, 0x60, 0x75, 0x57, 0xb8, 0xfb, 0xa1, 0x43, 0x25, 0x7b, + 0xa9, 0x38, 0x78, 0x07, 0x54, 0xe9, 0x50, 0x1e, 0xf2, 0xc8, 0x93, 0x23, 0x64, 0x34, 0x8c, 0xcd, + 0x6a, 0x0f, 0x7d, 0x3b, 0x69, 0x5f, 0x4e, 0xcf, 0xb3, 0xe3, 0x38, 0x11, 0x13, 0x62, 0x4f, 0x46, + 0x5e, 0xe0, 0x5a, 0xb9, 0x15, 0x6e, 0x83, 0x4a, 0xff, 0x88, 0xdb, 0x03, 0x74, 0xae, 0x61, 0x6c, + 0x5e, 0xe8, 0x62, 0x92, 0x35, 0x13, 0xdd, 0x18, 0x77, 0x48, 0x2f, 0xd1, 0x75, 0x8d, 0xa5, 0xcd, + 0xf0, 0x21, 0x38, 0xcf, 0x62, 0xcf, 0x61, 0x81, 0xcd, 0xd0, 0x92, 0x02, 0xaf, 0x15, 0x80, 0x4f, + 0x52, 0x4b, 0xca, 0xce, 0x11, 0xf8, 0x08, 0x54, 0x63, 0x7a, 0xe4, 0x39, 0x54, 0xf2, 0x08, 0x95, + 0x15, 0xdf, 0x2c, 0xe0, 0x5f, 0x65, 0x9e, 0x34, 0x20, 0x87, 0xe0, 0x33, 0x50, 0x4e, 0x26, 0x83, + 0x2a, 0x0a, 0xbe, 0x5a, 0x00, 0xef, 0xf4, 0x1e, 0x3f, 0xd7, 0x5c, 0xef, 0xca, 0x8f, 0x93, 0xf6, + 0xaa, 0x1e, 0x44, 0x5b, 0x38, 0x83, 0xc6, 0x16, 0xb9, 0xbd, 0x85, 0x0c, 0x4b, 0x25, 0xc0, 0x7d, + 0x50, 0x15, 0xa3, 0xc0, 0x3e, 0x8c, 0x78, 0x30, 0x42, 0xcb, 0x7f, 0x3d, 0xcb, 0x5e, 0xe6, 0x49, + 0x33, 0x6b, 0x7f, 0x66, 0x76, 0xad, 0x3c, 0x09, 0xbe, 0x00, 0x2b, 0x07, 0x8c, 0xca, 0x61, 0xc4, + 0xd0, 0x8a, 0x0a, 0x6d, 0x14, 0x84, 0x3e, 0xd5, 0x8e, 0x7f, 0x45, 0x66, 0x29, 0x0f, 0xee, 0xbf, + 0x9f, 0x8d, 0x5b, 0xf9, 0x8b, 0xfb, 0x38, 0x1b, 0xb7, 0x6e, 0xe4, 0x66, 0xf3, 0xf8, 0xb7, 0x2d, + 0x5e, 0xd8, 0x8d, 0xe6, 0x3a, 0x58, 0x5b, 0x78, 0x64, 0x31, 0x11, 0x26, 0xf6, 0xee, 0x07, 0x03, + 0x2c, 0xed, 0x0a, 0x17, 0xbe, 0x05, 0x17, 0xcf, 0xac, 0xd3, 0x75, 0x52, 0xb0, 0xfd, 0x64, 0x21, + 0xa5, 0x7e, 0xf3, 0x7f, 0x5c, 0x59, 0x57, 0xb3, 0xf6, 0x75, 0xf1, 0x7e, 0xdb, 0x77, 0xeb, 0x95, + 0x77, 0xb3, 0x71, 0xcb, 0xe8, 0xdd, 0xfb, 0x32, 0xc1, 0xc6, 0xe9, 0x04, 0x1b, 0x3f, 0x27, 0xd8, + 0xf8, 0x34, 0xc5, 0xa5, 0xd3, 0x29, 0x2e, 0x7d, 0x9f, 0xe2, 0xd2, 0x6b, 0xac, 0x09, 0xe1, 0x0c, + 0x88, 0xc7, 0xcf, 0x5c, 0x53, 0x8d, 0xb1, 0xbf, 0xac, 0xbe, 0x89, 0x5b, 0xbf, 0x02, 0x00, 0x00, + 0xff, 0xff, 0x84, 0xf1, 0x97, 0xc0, 0xcd, 0x03, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used.