diff --git a/node/cmd/guardiand/admintemplate.go b/node/cmd/guardiand/admintemplate.go index 7d15a5fa70..ee8fac88bb 100644 --- a/node/cmd/guardiand/admintemplate.go +++ b/node/cmd/guardiand/admintemplate.go @@ -48,7 +48,7 @@ var wormchainMigrateContractInstantiationMsg *string var wormchainWasmInstantiateAllowlistCodeId *string var wormchainWasmInstantiateAllowlistContractAddress *string -var wormchainIbcComposabilityMwContractAddress *string +var gatewayIbcComposabilityMwContractAddress *string var ibcUpdateChannelChainTargetChainId *string var ibcUpdateChannelChainChannelId *string @@ -132,11 +132,11 @@ func init() { TemplateCmd.AddCommand(AdminClientWormchainAddWasmInstantiateAllowlistCmd) TemplateCmd.AddCommand(AdminClientWormchainDeleteWasmInstantiateAllowlistCmd) - // flags for the wormchain-ibc-composability-mw-set-contract command - wormchainIbcComposabilityMwFlagSet := pflag.NewFlagSet("wormchain-ibc-composability-mw-set-contract", pflag.ExitOnError) - wormchainIbcComposabilityMwContractAddress = wormchainIbcComposabilityMwFlagSet.String("contract-address", "", "contract address to set in the ibc composability middleware") - AdminClientWormchainIbcComposabilityMwSetContractCmd.Flags().AddFlagSet(wormchainIbcComposabilityMwFlagSet) - TemplateCmd.AddCommand(AdminClientWormchainIbcComposabilityMwSetContractCmd) + // flags for the gateway-ibc-composability-mw-set-contract command + gatewayIbcComposabilityMwFlagSet := pflag.NewFlagSet("gateway-ibc-composability-mw-set-contract", pflag.ExitOnError) + gatewayIbcComposabilityMwContractAddress = gatewayIbcComposabilityMwFlagSet.String("contract-address", "", "contract address to set in the ibc composability middleware") + AdminClientGatewayIbcComposabilityMwSetContractCmd.Flags().AddFlagSet(gatewayIbcComposabilityMwFlagSet) + TemplateCmd.AddCommand(AdminClientGatewayIbcComposabilityMwSetContractCmd) // flags for the ibc-receiver-update-channel-chain and ibc-translator-update-channel-chain commands ibcUpdateChannelChainFlagSet := pflag.NewFlagSet("ibc-mapping", pflag.ExitOnError) @@ -147,6 +147,9 @@ func init() { AdminClientIbcTranslatorUpdateChannelChainCmd.Flags().AddFlagSet(ibcUpdateChannelChainFlagSet) TemplateCmd.AddCommand(AdminClientIbcReceiverUpdateChannelChainCmd) TemplateCmd.AddCommand(AdminClientIbcTranslatorUpdateChannelChainCmd) + + // AdminClientGatewaySetTokenfactoryPfmDefaultParamsCmd doesn't have any flags + TemplateCmd.AddCommand(AdminClientGatewaySetTokenfactoryPfmDefaultParamsCmd) } var TemplateCmd = &cobra.Command{ @@ -226,10 +229,16 @@ var AdminClientWormchainDeleteWasmInstantiateAllowlistCmd = &cobra.Command{ Run: runWormchainDeleteWasmInstantiateAllowlistTemplate, } -var AdminClientWormchainIbcComposabilityMwSetContractCmd = &cobra.Command{ - Use: "wormchain-ibc-composability-mw-set-contract", +var AdminClientGatewayIbcComposabilityMwSetContractCmd = &cobra.Command{ + Use: "gateway-ibc-composability-mw-set-contract", Short: "Set the contract that the IBC Composability middleware will query", - Run: runWormchainIbcComposabilityMwSetContractTemplate, + Run: runGatewayIbcComposabilityMwSetContractTemplate, +} + +var AdminClientGatewaySetTokenfactoryPfmDefaultParamsCmd = &cobra.Command{ + Use: "gateway-set-tokenfactory-pfm-default-params", + Short: "Generate an empty gateway set tokenfactory pfm default params template at specified path", + Run: runGatewaySetTokenfactoryPfmDefaultParamsTemplate, } var AdminClientIbcReceiverUpdateChannelChainCmd = &cobra.Command{ @@ -674,8 +683,8 @@ func runWormchainWasmInstantiateAllowlistTemplate(action nodev1.WormchainWasmIns fmt.Print(string(b)) } -func runWormchainIbcComposabilityMwSetContractTemplate(cmd *cobra.Command, args []string) { - if *wormchainIbcComposabilityMwContractAddress == "" { +func runGatewayIbcComposabilityMwSetContractTemplate(cmd *cobra.Command, args []string) { + if *gatewayIbcComposabilityMwContractAddress == "" { log.Fatal("--contract-address must be specified") } @@ -685,9 +694,9 @@ func runWormchainIbcComposabilityMwSetContractTemplate(cmd *cobra.Command, args { Sequence: rand.Uint64(), Nonce: rand.Uint32(), - Payload: &nodev1.GovernanceMessage_WormchainIbcComposabilityMwSetContract{ - WormchainIbcComposabilityMwSetContract: &nodev1.WormchainIbcComposabilityMwSetContract{ - Contract: *wormchainIbcComposabilityMwContractAddress, + Payload: &nodev1.GovernanceMessage_GatewayIbcComposabilityMwSetContract{ + GatewayIbcComposabilityMwSetContract: &nodev1.GatewayIbcComposabilityMwSetContract{ + Contract: *gatewayIbcComposabilityMwContractAddress, }, }, }, @@ -701,6 +710,27 @@ func runWormchainIbcComposabilityMwSetContractTemplate(cmd *cobra.Command, args fmt.Print(string(b)) } +func runGatewaySetTokenfactoryPfmDefaultParamsTemplate(cmd *cobra.Command, args []string) { + m := &nodev1.InjectGovernanceVAARequest{ + CurrentSetIndex: uint32(*templateGuardianIndex), + Messages: []*nodev1.GovernanceMessage{ + { + Sequence: rand.Uint64(), + Nonce: rand.Uint32(), + Payload: &nodev1.GovernanceMessage_GatewaySetTokenfactoryPfmDefaultParams{ + GatewaySetTokenfactoryPfmDefaultParams: &nodev1.GatewaySetTokenfactoryPfmDefaultParams{}, + }, + }, + }, + } + + b, err := prototext.MarshalOptions{Multiline: true}.Marshal(m) + if err != nil { + panic(err) + } + fmt.Print(string(b)) +} + func runIbcReceiverUpdateChannelChainTemplate(cmd *cobra.Command, args []string) { runIbcUpdateChannelChainTemplate(nodev1.IbcUpdateChannelChainModule_IBC_UPDATE_CHANNEL_CHAIN_MODULE_RECEIVER) } diff --git a/node/pkg/adminrpc/adminserver.go b/node/pkg/adminrpc/adminserver.go index c13d569a42..90b4ee7aa1 100644 --- a/node/pkg/adminrpc/adminserver.go +++ b/node/pkg/adminrpc/adminserver.go @@ -338,8 +338,8 @@ func wormchainWasmInstantiateAllowlist( return v, nil } -func wormchainIbcComposabilityMwSetContract( - req *nodev1.WormchainIbcComposabilityMwSetContract, +func gatewayIbcComposabilityMwSetContract( + req *nodev1.GatewayIbcComposabilityMwSetContract, timestamp time.Time, guardianSetIndex uint32, nonce uint32, @@ -353,13 +353,30 @@ func wormchainIbcComposabilityMwSetContract( var decodedAddr32 [32]byte copy(decodedAddr32[:], decodedAddr) - v := vaa.CreateGovernanceVAA(timestamp, nonce, sequence, guardianSetIndex, vaa.BodyWormchainIbcComposabilityMwContract{ + v := vaa.CreateGovernanceVAA(timestamp, nonce, sequence, guardianSetIndex, vaa.BodyGatewayIbcComposabilityMwContract{ ContractAddr: decodedAddr32, }.Serialize()) return v, nil } +func gatewaySetTokenfactoryPfmDefaultParams( + timestamp time.Time, + guardianSetIndex uint32, + nonce uint32, + sequence uint64, +) *vaa.VAA { + v := vaa.CreateGovernanceVAA( + timestamp, + nonce, + sequence, + guardianSetIndex, + vaa.EmptyPayloadVaa(vaa.GatewayModuleStr, vaa.ActionSetTokenfactoryPfmDefaultParams, vaa.ChainIDWormchain), + ) + + return v +} + // circleIntegrationUpdateWormholeFinality converts a nodev1.CircleIntegrationUpdateWormholeFinality to its canonical VAA representation // Returns an error if the data is invalid func circleIntegrationUpdateWormholeFinality(req *nodev1.CircleIntegrationUpdateWormholeFinality, timestamp time.Time, guardianSetIndex uint32, nonce uint32, sequence uint64) (*vaa.VAA, error) { @@ -531,8 +548,10 @@ func GovMsgToVaa(message *nodev1.GovernanceMessage, currentSetIndex uint32, time v, err = wormchainMigrateContract(payload.WormchainMigrateContract, timestamp, currentSetIndex, message.Nonce, message.Sequence) case *nodev1.GovernanceMessage_WormchainWasmInstantiateAllowlist: v, err = wormchainWasmInstantiateAllowlist(payload.WormchainWasmInstantiateAllowlist, timestamp, currentSetIndex, message.Nonce, message.Sequence) - case *nodev1.GovernanceMessage_WormchainIbcComposabilityMwSetContract: - v, err = wormchainIbcComposabilityMwSetContract(payload.WormchainIbcComposabilityMwSetContract, timestamp, currentSetIndex, message.Nonce, message.Sequence) + case *nodev1.GovernanceMessage_GatewayIbcComposabilityMwSetContract: + v, err = gatewayIbcComposabilityMwSetContract(payload.GatewayIbcComposabilityMwSetContract, timestamp, currentSetIndex, message.Nonce, message.Sequence) + case *nodev1.GovernanceMessage_GatewaySetTokenfactoryPfmDefaultParams: + v = gatewaySetTokenfactoryPfmDefaultParams(timestamp, currentSetIndex, message.Nonce, message.Sequence) case *nodev1.GovernanceMessage_CircleIntegrationUpdateWormholeFinality: v, err = circleIntegrationUpdateWormholeFinality(payload.CircleIntegrationUpdateWormholeFinality, timestamp, currentSetIndex, message.Nonce, message.Sequence) case *nodev1.GovernanceMessage_CircleIntegrationRegisterEmitterAndDomain: diff --git a/node/pkg/proto/node/v1/node.pb.go b/node/pkg/proto/node/v1/node.pb.go index 02a2fe7521..0f193ee9e9 100644 --- a/node/pkg/proto/node/v1/node.pb.go +++ b/node/pkg/proto/node/v1/node.pb.go @@ -257,7 +257,8 @@ type GovernanceMessage struct { // *GovernanceMessage_WormchainInstantiateContract // *GovernanceMessage_WormchainMigrateContract // *GovernanceMessage_WormchainWasmInstantiateAllowlist - // *GovernanceMessage_WormchainIbcComposabilityMwSetContract + // *GovernanceMessage_GatewayIbcComposabilityMwSetContract + // *GovernanceMessage_GatewaySetTokenfactoryPfmDefaultParams // *GovernanceMessage_AccountantModifyBalance // *GovernanceMessage_CircleIntegrationUpdateWormholeFinality // *GovernanceMessage_CircleIntegrationRegisterEmitterAndDomain @@ -376,9 +377,16 @@ func (x *GovernanceMessage) GetWormchainWasmInstantiateAllowlist() *WormchainWas return nil } -func (x *GovernanceMessage) GetWormchainIbcComposabilityMwSetContract() *WormchainIbcComposabilityMwSetContract { - if x, ok := x.GetPayload().(*GovernanceMessage_WormchainIbcComposabilityMwSetContract); ok { - return x.WormchainIbcComposabilityMwSetContract +func (x *GovernanceMessage) GetGatewayIbcComposabilityMwSetContract() *GatewayIbcComposabilityMwSetContract { + if x, ok := x.GetPayload().(*GovernanceMessage_GatewayIbcComposabilityMwSetContract); ok { + return x.GatewayIbcComposabilityMwSetContract + } + return nil +} + +func (x *GovernanceMessage) GetGatewaySetTokenfactoryPfmDefaultParams() *GatewaySetTokenfactoryPfmDefaultParams { + if x, ok := x.GetPayload().(*GovernanceMessage_GatewaySetTokenfactoryPfmDefaultParams); ok { + return x.GatewaySetTokenfactoryPfmDefaultParams } return nil } @@ -461,8 +469,13 @@ type GovernanceMessage_WormchainWasmInstantiateAllowlist struct { WormchainWasmInstantiateAllowlist *WormchainWasmInstantiateAllowlist `protobuf:"bytes,23,opt,name=wormchain_wasm_instantiate_allowlist,json=wormchainWasmInstantiateAllowlist,proto3,oneof"` } -type GovernanceMessage_WormchainIbcComposabilityMwSetContract struct { - WormchainIbcComposabilityMwSetContract *WormchainIbcComposabilityMwSetContract `protobuf:"bytes,24,opt,name=wormchain_ibc_composability_mw_set_contract,json=wormchainIbcComposabilityMwSetContract,proto3,oneof"` +type GovernanceMessage_GatewayIbcComposabilityMwSetContract struct { + // Gateway + GatewayIbcComposabilityMwSetContract *GatewayIbcComposabilityMwSetContract `protobuf:"bytes,24,opt,name=gateway_ibc_composability_mw_set_contract,json=gatewayIbcComposabilityMwSetContract,proto3,oneof"` +} + +type GovernanceMessage_GatewaySetTokenfactoryPfmDefaultParams struct { + GatewaySetTokenfactoryPfmDefaultParams *GatewaySetTokenfactoryPfmDefaultParams `protobuf:"bytes,25,opt,name=gateway_set_tokenfactory_pfm_default_params,json=gatewaySetTokenfactoryPfmDefaultParams,proto3,oneof"` } type GovernanceMessage_AccountantModifyBalance struct { @@ -509,7 +522,9 @@ func (*GovernanceMessage_WormchainMigrateContract) isGovernanceMessage_Payload() func (*GovernanceMessage_WormchainWasmInstantiateAllowlist) isGovernanceMessage_Payload() {} -func (*GovernanceMessage_WormchainIbcComposabilityMwSetContract) isGovernanceMessage_Payload() {} +func (*GovernanceMessage_GatewayIbcComposabilityMwSetContract) isGovernanceMessage_Payload() {} + +func (*GovernanceMessage_GatewaySetTokenfactoryPfmDefaultParams) isGovernanceMessage_Payload() {} func (*GovernanceMessage_AccountantModifyBalance) isGovernanceMessage_Payload() {} @@ -1238,7 +1253,7 @@ func (x *WormchainWasmInstantiateAllowlist) GetAction() WormchainWasmInstantiate return WormchainWasmInstantiateAllowlistAction_WORMCHAIN_WASM_INSTANTIATE_ALLOWLIST_ACTION_UNSPECIFIED } -type WormchainIbcComposabilityMwSetContract struct { +type GatewayIbcComposabilityMwSetContract struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields @@ -1247,8 +1262,8 @@ type WormchainIbcComposabilityMwSetContract struct { Contract string `protobuf:"bytes,1,opt,name=contract,proto3" json:"contract,omitempty"` } -func (x *WormchainIbcComposabilityMwSetContract) Reset() { - *x = WormchainIbcComposabilityMwSetContract{} +func (x *GatewayIbcComposabilityMwSetContract) Reset() { + *x = GatewayIbcComposabilityMwSetContract{} if protoimpl.UnsafeEnabled { mi := &file_node_v1_node_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -1256,13 +1271,13 @@ func (x *WormchainIbcComposabilityMwSetContract) Reset() { } } -func (x *WormchainIbcComposabilityMwSetContract) String() string { +func (x *GatewayIbcComposabilityMwSetContract) String() string { return protoimpl.X.MessageStringOf(x) } -func (*WormchainIbcComposabilityMwSetContract) ProtoMessage() {} +func (*GatewayIbcComposabilityMwSetContract) ProtoMessage() {} -func (x *WormchainIbcComposabilityMwSetContract) ProtoReflect() protoreflect.Message { +func (x *GatewayIbcComposabilityMwSetContract) ProtoReflect() protoreflect.Message { mi := &file_node_v1_node_proto_msgTypes[13] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -1274,18 +1289,56 @@ func (x *WormchainIbcComposabilityMwSetContract) ProtoReflect() protoreflect.Mes return mi.MessageOf(x) } -// Deprecated: Use WormchainIbcComposabilityMwSetContract.ProtoReflect.Descriptor instead. -func (*WormchainIbcComposabilityMwSetContract) Descriptor() ([]byte, []int) { +// Deprecated: Use GatewayIbcComposabilityMwSetContract.ProtoReflect.Descriptor instead. +func (*GatewayIbcComposabilityMwSetContract) Descriptor() ([]byte, []int) { return file_node_v1_node_proto_rawDescGZIP(), []int{13} } -func (x *WormchainIbcComposabilityMwSetContract) GetContract() string { +func (x *GatewayIbcComposabilityMwSetContract) GetContract() string { if x != nil { return x.Contract } return "" } +type GatewaySetTokenfactoryPfmDefaultParams struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *GatewaySetTokenfactoryPfmDefaultParams) Reset() { + *x = GatewaySetTokenfactoryPfmDefaultParams{} + if protoimpl.UnsafeEnabled { + mi := &file_node_v1_node_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GatewaySetTokenfactoryPfmDefaultParams) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GatewaySetTokenfactoryPfmDefaultParams) ProtoMessage() {} + +func (x *GatewaySetTokenfactoryPfmDefaultParams) ProtoReflect() protoreflect.Message { + mi := &file_node_v1_node_proto_msgTypes[14] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GatewaySetTokenfactoryPfmDefaultParams.ProtoReflect.Descriptor instead. +func (*GatewaySetTokenfactoryPfmDefaultParams) Descriptor() ([]byte, []int) { + return file_node_v1_node_proto_rawDescGZIP(), []int{14} +} + type CircleIntegrationUpdateWormholeFinality struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -1298,7 +1351,7 @@ type CircleIntegrationUpdateWormholeFinality struct { func (x *CircleIntegrationUpdateWormholeFinality) Reset() { *x = CircleIntegrationUpdateWormholeFinality{} if protoimpl.UnsafeEnabled { - mi := &file_node_v1_node_proto_msgTypes[14] + mi := &file_node_v1_node_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1311,7 +1364,7 @@ func (x *CircleIntegrationUpdateWormholeFinality) String() string { func (*CircleIntegrationUpdateWormholeFinality) ProtoMessage() {} func (x *CircleIntegrationUpdateWormholeFinality) ProtoReflect() protoreflect.Message { - mi := &file_node_v1_node_proto_msgTypes[14] + mi := &file_node_v1_node_proto_msgTypes[15] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1324,7 +1377,7 @@ func (x *CircleIntegrationUpdateWormholeFinality) ProtoReflect() protoreflect.Me // Deprecated: Use CircleIntegrationUpdateWormholeFinality.ProtoReflect.Descriptor instead. func (*CircleIntegrationUpdateWormholeFinality) Descriptor() ([]byte, []int) { - return file_node_v1_node_proto_rawDescGZIP(), []int{14} + return file_node_v1_node_proto_rawDescGZIP(), []int{15} } func (x *CircleIntegrationUpdateWormholeFinality) GetFinality() uint32 { @@ -1355,7 +1408,7 @@ type CircleIntegrationRegisterEmitterAndDomain struct { func (x *CircleIntegrationRegisterEmitterAndDomain) Reset() { *x = CircleIntegrationRegisterEmitterAndDomain{} if protoimpl.UnsafeEnabled { - mi := &file_node_v1_node_proto_msgTypes[15] + mi := &file_node_v1_node_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1368,7 +1421,7 @@ func (x *CircleIntegrationRegisterEmitterAndDomain) String() string { func (*CircleIntegrationRegisterEmitterAndDomain) ProtoMessage() {} func (x *CircleIntegrationRegisterEmitterAndDomain) ProtoReflect() protoreflect.Message { - mi := &file_node_v1_node_proto_msgTypes[15] + mi := &file_node_v1_node_proto_msgTypes[16] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1381,7 +1434,7 @@ func (x *CircleIntegrationRegisterEmitterAndDomain) ProtoReflect() protoreflect. // Deprecated: Use CircleIntegrationRegisterEmitterAndDomain.ProtoReflect.Descriptor instead. func (*CircleIntegrationRegisterEmitterAndDomain) Descriptor() ([]byte, []int) { - return file_node_v1_node_proto_rawDescGZIP(), []int{15} + return file_node_v1_node_proto_rawDescGZIP(), []int{16} } func (x *CircleIntegrationRegisterEmitterAndDomain) GetForeignEmitterChainId() uint32 { @@ -1424,7 +1477,7 @@ type CircleIntegrationUpgradeContractImplementation struct { func (x *CircleIntegrationUpgradeContractImplementation) Reset() { *x = CircleIntegrationUpgradeContractImplementation{} if protoimpl.UnsafeEnabled { - mi := &file_node_v1_node_proto_msgTypes[16] + mi := &file_node_v1_node_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1437,7 +1490,7 @@ func (x *CircleIntegrationUpgradeContractImplementation) String() string { func (*CircleIntegrationUpgradeContractImplementation) ProtoMessage() {} func (x *CircleIntegrationUpgradeContractImplementation) ProtoReflect() protoreflect.Message { - mi := &file_node_v1_node_proto_msgTypes[16] + mi := &file_node_v1_node_proto_msgTypes[17] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1450,7 +1503,7 @@ func (x *CircleIntegrationUpgradeContractImplementation) ProtoReflect() protoref // Deprecated: Use CircleIntegrationUpgradeContractImplementation.ProtoReflect.Descriptor instead. func (*CircleIntegrationUpgradeContractImplementation) Descriptor() ([]byte, []int) { - return file_node_v1_node_proto_rawDescGZIP(), []int{16} + return file_node_v1_node_proto_rawDescGZIP(), []int{17} } func (x *CircleIntegrationUpgradeContractImplementation) GetNewImplementationAddress() string { @@ -1485,7 +1538,7 @@ type IbcUpdateChannelChain struct { func (x *IbcUpdateChannelChain) Reset() { *x = IbcUpdateChannelChain{} if protoimpl.UnsafeEnabled { - mi := &file_node_v1_node_proto_msgTypes[17] + mi := &file_node_v1_node_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1498,7 +1551,7 @@ func (x *IbcUpdateChannelChain) String() string { func (*IbcUpdateChannelChain) ProtoMessage() {} func (x *IbcUpdateChannelChain) ProtoReflect() protoreflect.Message { - mi := &file_node_v1_node_proto_msgTypes[17] + mi := &file_node_v1_node_proto_msgTypes[18] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1511,7 +1564,7 @@ func (x *IbcUpdateChannelChain) ProtoReflect() protoreflect.Message { // Deprecated: Use IbcUpdateChannelChain.ProtoReflect.Descriptor instead. func (*IbcUpdateChannelChain) Descriptor() ([]byte, []int) { - return file_node_v1_node_proto_rawDescGZIP(), []int{17} + return file_node_v1_node_proto_rawDescGZIP(), []int{18} } func (x *IbcUpdateChannelChain) GetTargetChainId() uint32 { @@ -1556,7 +1609,7 @@ type WormholeRelayerSetDefaultDeliveryProvider struct { func (x *WormholeRelayerSetDefaultDeliveryProvider) Reset() { *x = WormholeRelayerSetDefaultDeliveryProvider{} if protoimpl.UnsafeEnabled { - mi := &file_node_v1_node_proto_msgTypes[18] + mi := &file_node_v1_node_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1569,7 +1622,7 @@ func (x *WormholeRelayerSetDefaultDeliveryProvider) String() string { func (*WormholeRelayerSetDefaultDeliveryProvider) ProtoMessage() {} func (x *WormholeRelayerSetDefaultDeliveryProvider) ProtoReflect() protoreflect.Message { - mi := &file_node_v1_node_proto_msgTypes[18] + mi := &file_node_v1_node_proto_msgTypes[19] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1582,7 +1635,7 @@ func (x *WormholeRelayerSetDefaultDeliveryProvider) ProtoReflect() protoreflect. // Deprecated: Use WormholeRelayerSetDefaultDeliveryProvider.ProtoReflect.Descriptor instead. func (*WormholeRelayerSetDefaultDeliveryProvider) Descriptor() ([]byte, []int) { - return file_node_v1_node_proto_rawDescGZIP(), []int{18} + return file_node_v1_node_proto_rawDescGZIP(), []int{19} } func (x *WormholeRelayerSetDefaultDeliveryProvider) GetChainId() uint32 { @@ -1617,7 +1670,7 @@ type FindMissingMessagesRequest struct { func (x *FindMissingMessagesRequest) Reset() { *x = FindMissingMessagesRequest{} if protoimpl.UnsafeEnabled { - mi := &file_node_v1_node_proto_msgTypes[19] + mi := &file_node_v1_node_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1630,7 +1683,7 @@ func (x *FindMissingMessagesRequest) String() string { func (*FindMissingMessagesRequest) ProtoMessage() {} func (x *FindMissingMessagesRequest) ProtoReflect() protoreflect.Message { - mi := &file_node_v1_node_proto_msgTypes[19] + mi := &file_node_v1_node_proto_msgTypes[20] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1643,7 +1696,7 @@ func (x *FindMissingMessagesRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use FindMissingMessagesRequest.ProtoReflect.Descriptor instead. func (*FindMissingMessagesRequest) Descriptor() ([]byte, []int) { - return file_node_v1_node_proto_rawDescGZIP(), []int{19} + return file_node_v1_node_proto_rawDescGZIP(), []int{20} } func (x *FindMissingMessagesRequest) GetEmitterChain() uint32 { @@ -1689,7 +1742,7 @@ type FindMissingMessagesResponse struct { func (x *FindMissingMessagesResponse) Reset() { *x = FindMissingMessagesResponse{} if protoimpl.UnsafeEnabled { - mi := &file_node_v1_node_proto_msgTypes[20] + mi := &file_node_v1_node_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1702,7 +1755,7 @@ func (x *FindMissingMessagesResponse) String() string { func (*FindMissingMessagesResponse) ProtoMessage() {} func (x *FindMissingMessagesResponse) ProtoReflect() protoreflect.Message { - mi := &file_node_v1_node_proto_msgTypes[20] + mi := &file_node_v1_node_proto_msgTypes[21] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1715,7 +1768,7 @@ func (x *FindMissingMessagesResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use FindMissingMessagesResponse.ProtoReflect.Descriptor instead. func (*FindMissingMessagesResponse) Descriptor() ([]byte, []int) { - return file_node_v1_node_proto_rawDescGZIP(), []int{20} + return file_node_v1_node_proto_rawDescGZIP(), []int{21} } func (x *FindMissingMessagesResponse) GetMissingMessages() []string { @@ -1750,7 +1803,7 @@ type SendObservationRequestRequest struct { func (x *SendObservationRequestRequest) Reset() { *x = SendObservationRequestRequest{} if protoimpl.UnsafeEnabled { - mi := &file_node_v1_node_proto_msgTypes[21] + mi := &file_node_v1_node_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1763,7 +1816,7 @@ func (x *SendObservationRequestRequest) String() string { func (*SendObservationRequestRequest) ProtoMessage() {} func (x *SendObservationRequestRequest) ProtoReflect() protoreflect.Message { - mi := &file_node_v1_node_proto_msgTypes[21] + mi := &file_node_v1_node_proto_msgTypes[22] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1776,7 +1829,7 @@ func (x *SendObservationRequestRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use SendObservationRequestRequest.ProtoReflect.Descriptor instead. func (*SendObservationRequestRequest) Descriptor() ([]byte, []int) { - return file_node_v1_node_proto_rawDescGZIP(), []int{21} + return file_node_v1_node_proto_rawDescGZIP(), []int{22} } func (x *SendObservationRequestRequest) GetObservationRequest() *v1.ObservationRequest { @@ -1795,7 +1848,7 @@ type SendObservationRequestResponse struct { func (x *SendObservationRequestResponse) Reset() { *x = SendObservationRequestResponse{} if protoimpl.UnsafeEnabled { - mi := &file_node_v1_node_proto_msgTypes[22] + mi := &file_node_v1_node_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1808,7 +1861,7 @@ func (x *SendObservationRequestResponse) String() string { func (*SendObservationRequestResponse) ProtoMessage() {} func (x *SendObservationRequestResponse) ProtoReflect() protoreflect.Message { - mi := &file_node_v1_node_proto_msgTypes[22] + mi := &file_node_v1_node_proto_msgTypes[23] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1821,7 +1874,7 @@ func (x *SendObservationRequestResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use SendObservationRequestResponse.ProtoReflect.Descriptor instead. func (*SendObservationRequestResponse) Descriptor() ([]byte, []int) { - return file_node_v1_node_proto_rawDescGZIP(), []int{22} + return file_node_v1_node_proto_rawDescGZIP(), []int{23} } type ChainGovernorStatusRequest struct { @@ -1833,7 +1886,7 @@ type ChainGovernorStatusRequest struct { func (x *ChainGovernorStatusRequest) Reset() { *x = ChainGovernorStatusRequest{} if protoimpl.UnsafeEnabled { - mi := &file_node_v1_node_proto_msgTypes[23] + mi := &file_node_v1_node_proto_msgTypes[24] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1846,7 +1899,7 @@ func (x *ChainGovernorStatusRequest) String() string { func (*ChainGovernorStatusRequest) ProtoMessage() {} func (x *ChainGovernorStatusRequest) ProtoReflect() protoreflect.Message { - mi := &file_node_v1_node_proto_msgTypes[23] + mi := &file_node_v1_node_proto_msgTypes[24] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1859,7 +1912,7 @@ func (x *ChainGovernorStatusRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ChainGovernorStatusRequest.ProtoReflect.Descriptor instead. func (*ChainGovernorStatusRequest) Descriptor() ([]byte, []int) { - return file_node_v1_node_proto_rawDescGZIP(), []int{23} + return file_node_v1_node_proto_rawDescGZIP(), []int{24} } type ChainGovernorStatusResponse struct { @@ -1873,7 +1926,7 @@ type ChainGovernorStatusResponse struct { func (x *ChainGovernorStatusResponse) Reset() { *x = ChainGovernorStatusResponse{} if protoimpl.UnsafeEnabled { - mi := &file_node_v1_node_proto_msgTypes[24] + mi := &file_node_v1_node_proto_msgTypes[25] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1886,7 +1939,7 @@ func (x *ChainGovernorStatusResponse) String() string { func (*ChainGovernorStatusResponse) ProtoMessage() {} func (x *ChainGovernorStatusResponse) ProtoReflect() protoreflect.Message { - mi := &file_node_v1_node_proto_msgTypes[24] + mi := &file_node_v1_node_proto_msgTypes[25] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1899,7 +1952,7 @@ func (x *ChainGovernorStatusResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ChainGovernorStatusResponse.ProtoReflect.Descriptor instead. func (*ChainGovernorStatusResponse) Descriptor() ([]byte, []int) { - return file_node_v1_node_proto_rawDescGZIP(), []int{24} + return file_node_v1_node_proto_rawDescGZIP(), []int{25} } func (x *ChainGovernorStatusResponse) GetResponse() string { @@ -1918,7 +1971,7 @@ type ChainGovernorReloadRequest struct { func (x *ChainGovernorReloadRequest) Reset() { *x = ChainGovernorReloadRequest{} if protoimpl.UnsafeEnabled { - mi := &file_node_v1_node_proto_msgTypes[25] + mi := &file_node_v1_node_proto_msgTypes[26] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1931,7 +1984,7 @@ func (x *ChainGovernorReloadRequest) String() string { func (*ChainGovernorReloadRequest) ProtoMessage() {} func (x *ChainGovernorReloadRequest) ProtoReflect() protoreflect.Message { - mi := &file_node_v1_node_proto_msgTypes[25] + mi := &file_node_v1_node_proto_msgTypes[26] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1944,7 +1997,7 @@ func (x *ChainGovernorReloadRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ChainGovernorReloadRequest.ProtoReflect.Descriptor instead. func (*ChainGovernorReloadRequest) Descriptor() ([]byte, []int) { - return file_node_v1_node_proto_rawDescGZIP(), []int{25} + return file_node_v1_node_proto_rawDescGZIP(), []int{26} } type ChainGovernorReloadResponse struct { @@ -1958,7 +2011,7 @@ type ChainGovernorReloadResponse struct { func (x *ChainGovernorReloadResponse) Reset() { *x = ChainGovernorReloadResponse{} if protoimpl.UnsafeEnabled { - mi := &file_node_v1_node_proto_msgTypes[26] + mi := &file_node_v1_node_proto_msgTypes[27] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1971,7 +2024,7 @@ func (x *ChainGovernorReloadResponse) String() string { func (*ChainGovernorReloadResponse) ProtoMessage() {} func (x *ChainGovernorReloadResponse) ProtoReflect() protoreflect.Message { - mi := &file_node_v1_node_proto_msgTypes[26] + mi := &file_node_v1_node_proto_msgTypes[27] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1984,7 +2037,7 @@ func (x *ChainGovernorReloadResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ChainGovernorReloadResponse.ProtoReflect.Descriptor instead. func (*ChainGovernorReloadResponse) Descriptor() ([]byte, []int) { - return file_node_v1_node_proto_rawDescGZIP(), []int{26} + return file_node_v1_node_proto_rawDescGZIP(), []int{27} } func (x *ChainGovernorReloadResponse) GetResponse() string { @@ -2005,7 +2058,7 @@ type ChainGovernorDropPendingVAARequest struct { func (x *ChainGovernorDropPendingVAARequest) Reset() { *x = ChainGovernorDropPendingVAARequest{} if protoimpl.UnsafeEnabled { - mi := &file_node_v1_node_proto_msgTypes[27] + mi := &file_node_v1_node_proto_msgTypes[28] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2018,7 +2071,7 @@ func (x *ChainGovernorDropPendingVAARequest) String() string { func (*ChainGovernorDropPendingVAARequest) ProtoMessage() {} func (x *ChainGovernorDropPendingVAARequest) ProtoReflect() protoreflect.Message { - mi := &file_node_v1_node_proto_msgTypes[27] + mi := &file_node_v1_node_proto_msgTypes[28] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2031,7 +2084,7 @@ func (x *ChainGovernorDropPendingVAARequest) ProtoReflect() protoreflect.Message // Deprecated: Use ChainGovernorDropPendingVAARequest.ProtoReflect.Descriptor instead. func (*ChainGovernorDropPendingVAARequest) Descriptor() ([]byte, []int) { - return file_node_v1_node_proto_rawDescGZIP(), []int{27} + return file_node_v1_node_proto_rawDescGZIP(), []int{28} } func (x *ChainGovernorDropPendingVAARequest) GetVaaId() string { @@ -2052,7 +2105,7 @@ type ChainGovernorDropPendingVAAResponse struct { func (x *ChainGovernorDropPendingVAAResponse) Reset() { *x = ChainGovernorDropPendingVAAResponse{} if protoimpl.UnsafeEnabled { - mi := &file_node_v1_node_proto_msgTypes[28] + mi := &file_node_v1_node_proto_msgTypes[29] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2065,7 +2118,7 @@ func (x *ChainGovernorDropPendingVAAResponse) String() string { func (*ChainGovernorDropPendingVAAResponse) ProtoMessage() {} func (x *ChainGovernorDropPendingVAAResponse) ProtoReflect() protoreflect.Message { - mi := &file_node_v1_node_proto_msgTypes[28] + mi := &file_node_v1_node_proto_msgTypes[29] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2078,7 +2131,7 @@ func (x *ChainGovernorDropPendingVAAResponse) ProtoReflect() protoreflect.Messag // Deprecated: Use ChainGovernorDropPendingVAAResponse.ProtoReflect.Descriptor instead. func (*ChainGovernorDropPendingVAAResponse) Descriptor() ([]byte, []int) { - return file_node_v1_node_proto_rawDescGZIP(), []int{28} + return file_node_v1_node_proto_rawDescGZIP(), []int{29} } func (x *ChainGovernorDropPendingVAAResponse) GetResponse() string { @@ -2099,7 +2152,7 @@ type ChainGovernorReleasePendingVAARequest struct { func (x *ChainGovernorReleasePendingVAARequest) Reset() { *x = ChainGovernorReleasePendingVAARequest{} if protoimpl.UnsafeEnabled { - mi := &file_node_v1_node_proto_msgTypes[29] + mi := &file_node_v1_node_proto_msgTypes[30] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2112,7 +2165,7 @@ func (x *ChainGovernorReleasePendingVAARequest) String() string { func (*ChainGovernorReleasePendingVAARequest) ProtoMessage() {} func (x *ChainGovernorReleasePendingVAARequest) ProtoReflect() protoreflect.Message { - mi := &file_node_v1_node_proto_msgTypes[29] + mi := &file_node_v1_node_proto_msgTypes[30] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2125,7 +2178,7 @@ func (x *ChainGovernorReleasePendingVAARequest) ProtoReflect() protoreflect.Mess // Deprecated: Use ChainGovernorReleasePendingVAARequest.ProtoReflect.Descriptor instead. func (*ChainGovernorReleasePendingVAARequest) Descriptor() ([]byte, []int) { - return file_node_v1_node_proto_rawDescGZIP(), []int{29} + return file_node_v1_node_proto_rawDescGZIP(), []int{30} } func (x *ChainGovernorReleasePendingVAARequest) GetVaaId() string { @@ -2146,7 +2199,7 @@ type ChainGovernorReleasePendingVAAResponse struct { func (x *ChainGovernorReleasePendingVAAResponse) Reset() { *x = ChainGovernorReleasePendingVAAResponse{} if protoimpl.UnsafeEnabled { - mi := &file_node_v1_node_proto_msgTypes[30] + mi := &file_node_v1_node_proto_msgTypes[31] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2159,7 +2212,7 @@ func (x *ChainGovernorReleasePendingVAAResponse) String() string { func (*ChainGovernorReleasePendingVAAResponse) ProtoMessage() {} func (x *ChainGovernorReleasePendingVAAResponse) ProtoReflect() protoreflect.Message { - mi := &file_node_v1_node_proto_msgTypes[30] + mi := &file_node_v1_node_proto_msgTypes[31] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2172,7 +2225,7 @@ func (x *ChainGovernorReleasePendingVAAResponse) ProtoReflect() protoreflect.Mes // Deprecated: Use ChainGovernorReleasePendingVAAResponse.ProtoReflect.Descriptor instead. func (*ChainGovernorReleasePendingVAAResponse) Descriptor() ([]byte, []int) { - return file_node_v1_node_proto_rawDescGZIP(), []int{30} + return file_node_v1_node_proto_rawDescGZIP(), []int{31} } func (x *ChainGovernorReleasePendingVAAResponse) GetResponse() string { @@ -2193,7 +2246,7 @@ type ChainGovernorResetReleaseTimerRequest struct { func (x *ChainGovernorResetReleaseTimerRequest) Reset() { *x = ChainGovernorResetReleaseTimerRequest{} if protoimpl.UnsafeEnabled { - mi := &file_node_v1_node_proto_msgTypes[31] + mi := &file_node_v1_node_proto_msgTypes[32] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2206,7 +2259,7 @@ func (x *ChainGovernorResetReleaseTimerRequest) String() string { func (*ChainGovernorResetReleaseTimerRequest) ProtoMessage() {} func (x *ChainGovernorResetReleaseTimerRequest) ProtoReflect() protoreflect.Message { - mi := &file_node_v1_node_proto_msgTypes[31] + mi := &file_node_v1_node_proto_msgTypes[32] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2219,7 +2272,7 @@ func (x *ChainGovernorResetReleaseTimerRequest) ProtoReflect() protoreflect.Mess // Deprecated: Use ChainGovernorResetReleaseTimerRequest.ProtoReflect.Descriptor instead. func (*ChainGovernorResetReleaseTimerRequest) Descriptor() ([]byte, []int) { - return file_node_v1_node_proto_rawDescGZIP(), []int{31} + return file_node_v1_node_proto_rawDescGZIP(), []int{32} } func (x *ChainGovernorResetReleaseTimerRequest) GetVaaId() string { @@ -2240,7 +2293,7 @@ type ChainGovernorResetReleaseTimerResponse struct { func (x *ChainGovernorResetReleaseTimerResponse) Reset() { *x = ChainGovernorResetReleaseTimerResponse{} if protoimpl.UnsafeEnabled { - mi := &file_node_v1_node_proto_msgTypes[32] + mi := &file_node_v1_node_proto_msgTypes[33] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2253,7 +2306,7 @@ func (x *ChainGovernorResetReleaseTimerResponse) String() string { func (*ChainGovernorResetReleaseTimerResponse) ProtoMessage() {} func (x *ChainGovernorResetReleaseTimerResponse) ProtoReflect() protoreflect.Message { - mi := &file_node_v1_node_proto_msgTypes[32] + mi := &file_node_v1_node_proto_msgTypes[33] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2266,7 +2319,7 @@ func (x *ChainGovernorResetReleaseTimerResponse) ProtoReflect() protoreflect.Mes // Deprecated: Use ChainGovernorResetReleaseTimerResponse.ProtoReflect.Descriptor instead. func (*ChainGovernorResetReleaseTimerResponse) Descriptor() ([]byte, []int) { - return file_node_v1_node_proto_rawDescGZIP(), []int{32} + return file_node_v1_node_proto_rawDescGZIP(), []int{33} } func (x *ChainGovernorResetReleaseTimerResponse) GetResponse() string { @@ -2288,7 +2341,7 @@ type PurgePythNetVaasRequest struct { func (x *PurgePythNetVaasRequest) Reset() { *x = PurgePythNetVaasRequest{} if protoimpl.UnsafeEnabled { - mi := &file_node_v1_node_proto_msgTypes[33] + mi := &file_node_v1_node_proto_msgTypes[34] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2301,7 +2354,7 @@ func (x *PurgePythNetVaasRequest) String() string { func (*PurgePythNetVaasRequest) ProtoMessage() {} func (x *PurgePythNetVaasRequest) ProtoReflect() protoreflect.Message { - mi := &file_node_v1_node_proto_msgTypes[33] + mi := &file_node_v1_node_proto_msgTypes[34] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2314,7 +2367,7 @@ func (x *PurgePythNetVaasRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use PurgePythNetVaasRequest.ProtoReflect.Descriptor instead. func (*PurgePythNetVaasRequest) Descriptor() ([]byte, []int) { - return file_node_v1_node_proto_rawDescGZIP(), []int{33} + return file_node_v1_node_proto_rawDescGZIP(), []int{34} } func (x *PurgePythNetVaasRequest) GetDaysOld() uint64 { @@ -2342,7 +2395,7 @@ type PurgePythNetVaasResponse struct { func (x *PurgePythNetVaasResponse) Reset() { *x = PurgePythNetVaasResponse{} if protoimpl.UnsafeEnabled { - mi := &file_node_v1_node_proto_msgTypes[34] + mi := &file_node_v1_node_proto_msgTypes[35] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2355,7 +2408,7 @@ func (x *PurgePythNetVaasResponse) String() string { func (*PurgePythNetVaasResponse) ProtoMessage() {} func (x *PurgePythNetVaasResponse) ProtoReflect() protoreflect.Message { - mi := &file_node_v1_node_proto_msgTypes[34] + mi := &file_node_v1_node_proto_msgTypes[35] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2368,7 +2421,7 @@ func (x *PurgePythNetVaasResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use PurgePythNetVaasResponse.ProtoReflect.Descriptor instead. func (*PurgePythNetVaasResponse) Descriptor() ([]byte, []int) { - return file_node_v1_node_proto_rawDescGZIP(), []int{34} + return file_node_v1_node_proto_rawDescGZIP(), []int{35} } func (x *PurgePythNetVaasResponse) GetResponse() string { @@ -2391,7 +2444,7 @@ type SignExistingVAARequest struct { func (x *SignExistingVAARequest) Reset() { *x = SignExistingVAARequest{} if protoimpl.UnsafeEnabled { - mi := &file_node_v1_node_proto_msgTypes[35] + mi := &file_node_v1_node_proto_msgTypes[36] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2404,7 +2457,7 @@ func (x *SignExistingVAARequest) String() string { func (*SignExistingVAARequest) ProtoMessage() {} func (x *SignExistingVAARequest) ProtoReflect() protoreflect.Message { - mi := &file_node_v1_node_proto_msgTypes[35] + mi := &file_node_v1_node_proto_msgTypes[36] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2417,7 +2470,7 @@ func (x *SignExistingVAARequest) ProtoReflect() protoreflect.Message { // Deprecated: Use SignExistingVAARequest.ProtoReflect.Descriptor instead. func (*SignExistingVAARequest) Descriptor() ([]byte, []int) { - return file_node_v1_node_proto_rawDescGZIP(), []int{35} + return file_node_v1_node_proto_rawDescGZIP(), []int{36} } func (x *SignExistingVAARequest) GetVaa() []byte { @@ -2452,7 +2505,7 @@ type SignExistingVAAResponse struct { func (x *SignExistingVAAResponse) Reset() { *x = SignExistingVAAResponse{} if protoimpl.UnsafeEnabled { - mi := &file_node_v1_node_proto_msgTypes[36] + mi := &file_node_v1_node_proto_msgTypes[37] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2465,7 +2518,7 @@ func (x *SignExistingVAAResponse) String() string { func (*SignExistingVAAResponse) ProtoMessage() {} func (x *SignExistingVAAResponse) ProtoReflect() protoreflect.Message { - mi := &file_node_v1_node_proto_msgTypes[36] + mi := &file_node_v1_node_proto_msgTypes[37] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2478,7 +2531,7 @@ func (x *SignExistingVAAResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use SignExistingVAAResponse.ProtoReflect.Descriptor instead. func (*SignExistingVAAResponse) Descriptor() ([]byte, []int) { - return file_node_v1_node_proto_rawDescGZIP(), []int{36} + return file_node_v1_node_proto_rawDescGZIP(), []int{37} } func (x *SignExistingVAAResponse) GetVaa() []byte { @@ -2497,7 +2550,7 @@ type DumpRPCsRequest struct { func (x *DumpRPCsRequest) Reset() { *x = DumpRPCsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_node_v1_node_proto_msgTypes[37] + mi := &file_node_v1_node_proto_msgTypes[38] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2510,7 +2563,7 @@ func (x *DumpRPCsRequest) String() string { func (*DumpRPCsRequest) ProtoMessage() {} func (x *DumpRPCsRequest) ProtoReflect() protoreflect.Message { - mi := &file_node_v1_node_proto_msgTypes[37] + mi := &file_node_v1_node_proto_msgTypes[38] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2523,7 +2576,7 @@ func (x *DumpRPCsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use DumpRPCsRequest.ProtoReflect.Descriptor instead. func (*DumpRPCsRequest) Descriptor() ([]byte, []int) { - return file_node_v1_node_proto_rawDescGZIP(), []int{37} + return file_node_v1_node_proto_rawDescGZIP(), []int{38} } type DumpRPCsResponse struct { @@ -2537,7 +2590,7 @@ type DumpRPCsResponse struct { func (x *DumpRPCsResponse) Reset() { *x = DumpRPCsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_node_v1_node_proto_msgTypes[38] + mi := &file_node_v1_node_proto_msgTypes[39] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2550,7 +2603,7 @@ func (x *DumpRPCsResponse) String() string { func (*DumpRPCsResponse) ProtoMessage() {} func (x *DumpRPCsResponse) ProtoReflect() protoreflect.Message { - mi := &file_node_v1_node_proto_msgTypes[38] + mi := &file_node_v1_node_proto_msgTypes[39] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2563,7 +2616,7 @@ func (x *DumpRPCsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use DumpRPCsResponse.ProtoReflect.Descriptor instead. func (*DumpRPCsResponse) Descriptor() ([]byte, []int) { - return file_node_v1_node_proto_rawDescGZIP(), []int{38} + return file_node_v1_node_proto_rawDescGZIP(), []int{39} } func (x *DumpRPCsResponse) GetResponse() map[string]string { @@ -2589,7 +2642,7 @@ type GuardianSetUpdate_Guardian struct { func (x *GuardianSetUpdate_Guardian) Reset() { *x = GuardianSetUpdate_Guardian{} if protoimpl.UnsafeEnabled { - mi := &file_node_v1_node_proto_msgTypes[39] + mi := &file_node_v1_node_proto_msgTypes[40] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2602,7 +2655,7 @@ func (x *GuardianSetUpdate_Guardian) String() string { func (*GuardianSetUpdate_Guardian) ProtoMessage() {} func (x *GuardianSetUpdate_Guardian) ProtoReflect() protoreflect.Message { - mi := &file_node_v1_node_proto_msgTypes[39] + mi := &file_node_v1_node_proto_msgTypes[40] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2648,7 +2701,7 @@ var file_node_v1_node_proto_rawDesc = []byte{ 0x65, 0x72, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x08, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x74, 0x69, 0x6d, - 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0xe3, 0x0d, 0x0a, 0x11, 0x47, 0x6f, 0x76, 0x65, 0x72, + 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0xee, 0x0e, 0x0a, 0x11, 0x47, 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6e, 0x6f, 0x6e, 0x63, @@ -2698,416 +2751,427 @@ var file_node_v1_node_proto_rawDesc = []byte{ 0x74, 0x61, 0x6e, 0x74, 0x69, 0x61, 0x74, 0x65, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x6c, 0x69, 0x73, 0x74, 0x48, 0x00, 0x52, 0x21, 0x77, 0x6f, 0x72, 0x6d, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x57, 0x61, 0x73, 0x6d, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x69, 0x61, 0x74, 0x65, 0x41, 0x6c, 0x6c, - 0x6f, 0x77, 0x6c, 0x69, 0x73, 0x74, 0x12, 0x8e, 0x01, 0x0a, 0x2b, 0x77, 0x6f, 0x72, 0x6d, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x62, 0x63, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x61, - 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x6d, 0x77, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x63, 0x6f, - 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x18, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x6e, - 0x6f, 0x64, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x6f, 0x72, 0x6d, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x49, 0x62, 0x63, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, - 0x4d, 0x77, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x48, 0x00, 0x52, - 0x26, 0x77, 0x6f, 0x72, 0x6d, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x49, 0x62, 0x63, 0x43, 0x6f, 0x6d, - 0x70, 0x6f, 0x73, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x4d, 0x77, 0x53, 0x65, 0x74, 0x43, - 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x12, 0x5e, 0x0a, 0x19, 0x61, 0x63, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x61, 0x6e, 0x74, 0x5f, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x5f, 0x62, 0x61, 0x6c, - 0x61, 0x6e, 0x63, 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x6e, 0x6f, 0x64, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x61, 0x6e, 0x74, 0x4d, - 0x6f, 0x64, 0x69, 0x66, 0x79, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x48, 0x00, 0x52, 0x17, - 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x61, 0x6e, 0x74, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x79, - 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x90, 0x01, 0x0a, 0x2b, 0x63, 0x69, 0x72, 0x63, - 0x6c, 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x75, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x77, 0x6f, 0x72, 0x6d, 0x68, 0x6f, 0x6c, 0x65, 0x5f, 0x66, - 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, - 0x6e, 0x6f, 0x64, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x69, 0x72, 0x63, 0x6c, 0x65, 0x49, 0x6e, - 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x57, - 0x6f, 0x72, 0x6d, 0x68, 0x6f, 0x6c, 0x65, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x48, - 0x00, 0x52, 0x27, 0x63, 0x69, 0x72, 0x63, 0x6c, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, + 0x6f, 0x77, 0x6c, 0x69, 0x73, 0x74, 0x12, 0x88, 0x01, 0x0a, 0x29, 0x67, 0x61, 0x74, 0x65, 0x77, + 0x61, 0x79, 0x5f, 0x69, 0x62, 0x63, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x61, 0x62, 0x69, + 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x6d, 0x77, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x74, + 0x72, 0x61, 0x63, 0x74, 0x18, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x6e, 0x6f, 0x64, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x49, 0x62, 0x63, 0x43, + 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x4d, 0x77, 0x53, 0x65, + 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x48, 0x00, 0x52, 0x24, 0x67, 0x61, 0x74, + 0x65, 0x77, 0x61, 0x79, 0x49, 0x62, 0x63, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x61, 0x62, 0x69, + 0x6c, 0x69, 0x74, 0x79, 0x4d, 0x77, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, + 0x74, 0x12, 0x8e, 0x01, 0x0a, 0x2b, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x5f, 0x73, 0x65, + 0x74, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x5f, 0x70, + 0x66, 0x6d, 0x5f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, + 0x73, 0x18, 0x19, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x6e, 0x6f, 0x64, 0x65, 0x2e, 0x76, + 0x31, 0x2e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x53, 0x65, 0x74, 0x54, 0x6f, 0x6b, 0x65, + 0x6e, 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x50, 0x66, 0x6d, 0x44, 0x65, 0x66, 0x61, 0x75, + 0x6c, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x48, 0x00, 0x52, 0x26, 0x67, 0x61, 0x74, 0x65, + 0x77, 0x61, 0x79, 0x53, 0x65, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x66, 0x61, 0x63, 0x74, 0x6f, + 0x72, 0x79, 0x50, 0x66, 0x6d, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x50, 0x61, 0x72, 0x61, + 0x6d, 0x73, 0x12, 0x5e, 0x0a, 0x19, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x61, 0x6e, 0x74, + 0x5f, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x18, + 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x6e, 0x6f, 0x64, 0x65, 0x2e, 0x76, 0x31, 0x2e, + 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x61, 0x6e, 0x74, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x79, + 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x48, 0x00, 0x52, 0x17, 0x61, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x61, 0x6e, 0x74, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x42, 0x61, 0x6c, 0x61, 0x6e, + 0x63, 0x65, 0x12, 0x90, 0x01, 0x0a, 0x2b, 0x63, 0x69, 0x72, 0x63, 0x6c, 0x65, 0x5f, 0x69, 0x6e, + 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x5f, 0x77, 0x6f, 0x72, 0x6d, 0x68, 0x6f, 0x6c, 0x65, 0x5f, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x69, + 0x74, 0x79, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x6e, 0x6f, 0x64, 0x65, 0x2e, + 0x76, 0x31, 0x2e, 0x43, 0x69, 0x72, 0x63, 0x6c, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6d, 0x68, 0x6f, - 0x6c, 0x65, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x97, 0x01, 0x0a, 0x2e, 0x63, - 0x69, 0x72, 0x63, 0x6c, 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x5f, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x65, 0x6d, 0x69, 0x74, 0x74, - 0x65, 0x72, 0x5f, 0x61, 0x6e, 0x64, 0x5f, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x13, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x6e, 0x6f, 0x64, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x69, - 0x72, 0x63, 0x6c, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, - 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x45, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x72, 0x41, 0x6e, - 0x64, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x48, 0x00, 0x52, 0x29, 0x63, 0x69, 0x72, 0x63, 0x6c, - 0x65, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x67, 0x69, - 0x73, 0x74, 0x65, 0x72, 0x45, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x72, 0x41, 0x6e, 0x64, 0x44, 0x6f, - 0x6d, 0x61, 0x69, 0x6e, 0x12, 0xa5, 0x01, 0x0a, 0x32, 0x63, 0x69, 0x72, 0x63, 0x6c, 0x65, 0x5f, - 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x75, 0x70, 0x67, 0x72, - 0x61, 0x64, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x5f, 0x69, 0x6d, 0x70, - 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x14, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x37, 0x2e, 0x6e, 0x6f, 0x64, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x69, 0x72, 0x63, - 0x6c, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x55, 0x70, 0x67, - 0x72, 0x61, 0x64, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x49, 0x6d, 0x70, 0x6c, - 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x2e, 0x63, 0x69, + 0x6c, 0x65, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x48, 0x00, 0x52, 0x27, 0x63, 0x69, 0x72, 0x63, 0x6c, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x55, - 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x49, 0x6d, - 0x70, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x59, 0x0a, 0x18, - 0x69, 0x62, 0x63, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, - 0x65, 0x6c, 0x5f, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, - 0x2e, 0x6e, 0x6f, 0x64, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x62, 0x63, 0x55, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x48, 0x00, - 0x52, 0x15, 0x69, 0x62, 0x63, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x6e, - 0x65, 0x6c, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x12, 0x97, 0x01, 0x0a, 0x2e, 0x77, 0x6f, 0x72, 0x6d, - 0x68, 0x6f, 0x6c, 0x65, 0x5f, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x74, - 0x5f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x64, 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, - 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x18, 0x16, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x32, 0x2e, 0x6e, 0x6f, 0x64, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x6f, 0x72, 0x6d, 0x68, - 0x6f, 0x6c, 0x65, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x53, 0x65, 0x74, 0x44, 0x65, 0x66, - 0x61, 0x75, 0x6c, 0x74, 0x44, 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x76, - 0x69, 0x64, 0x65, 0x72, 0x48, 0x00, 0x52, 0x29, 0x77, 0x6f, 0x72, 0x6d, 0x68, 0x6f, 0x6c, 0x65, - 0x52, 0x65, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x53, 0x65, 0x74, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, - 0x74, 0x44, 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, - 0x72, 0x42, 0x09, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x22, 0x37, 0x0a, 0x1b, - 0x49, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x47, 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x61, 0x6e, 0x63, 0x65, - 0x56, 0x41, 0x41, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x64, - 0x69, 0x67, 0x65, 0x73, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0c, 0x52, 0x07, 0x64, 0x69, - 0x67, 0x65, 0x73, 0x74, 0x73, 0x22, 0x8e, 0x01, 0x0a, 0x11, 0x47, 0x75, 0x61, 0x72, 0x64, 0x69, - 0x61, 0x6e, 0x53, 0x65, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x41, 0x0a, 0x09, 0x67, - 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, - 0x2e, 0x6e, 0x6f, 0x64, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, - 0x6e, 0x53, 0x65, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x47, 0x75, 0x61, 0x72, 0x64, - 0x69, 0x61, 0x6e, 0x52, 0x09, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x73, 0x1a, 0x36, - 0x0a, 0x08, 0x47, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x75, - 0x62, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x75, 0x62, 0x6b, - 0x65, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x5b, 0x0a, 0x0b, 0x47, 0x75, 0x61, 0x72, 0x64, 0x69, - 0x61, 0x6e, 0x4b, 0x65, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x38, 0x0a, 0x18, 0x75, 0x6e, 0x73, - 0x61, 0x66, 0x65, 0x5f, 0x64, 0x65, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x69, 0x73, 0x74, 0x69, - 0x63, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x16, 0x75, 0x6e, 0x73, - 0x61, 0x66, 0x65, 0x44, 0x65, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x69, 0x73, 0x74, 0x69, 0x63, - 0x4b, 0x65, 0x79, 0x22, 0x71, 0x0a, 0x13, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x52, 0x65, 0x67, - 0x69, 0x73, 0x74, 0x65, 0x72, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x6f, - 0x64, 0x75, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6d, 0x6f, 0x64, 0x75, - 0x6c, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x12, 0x27, 0x0a, - 0x0f, 0x65, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x65, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x72, 0x41, - 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0xb5, 0x02, 0x0a, 0x17, 0x41, 0x63, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x61, 0x6e, 0x74, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x42, 0x61, 0x6c, 0x61, 0x6e, - 0x63, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x06, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x12, 0x26, 0x0a, 0x0f, 0x74, 0x61, - 0x72, 0x67, 0x65, 0x74, 0x5f, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, - 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x19, - 0x0a, 0x08, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x07, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x6f, 0x6b, - 0x65, 0x6e, 0x5f, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, - 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x12, 0x23, 0x0a, 0x0d, 0x74, 0x6f, - 0x6b, 0x65, 0x6e, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0c, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, - 0x2d, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x19, 0x2e, - 0x6e, 0x6f, 0x64, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x63, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x69, 0x6e, 0x64, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x12, 0x16, - 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, - 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, - 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x22, 0x4f, - 0x0a, 0x0f, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, - 0x65, 0x12, 0x19, 0x0a, 0x08, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x07, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, - 0x6e, 0x65, 0x77, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0b, 0x6e, 0x65, 0x77, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x22, - 0x7a, 0x0a, 0x15, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, - 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x6f, 0x64, 0x75, - 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, - 0x12, 0x26, 0x0a, 0x0f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x74, 0x61, 0x72, 0x67, 0x65, - 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x6e, 0x65, 0x77, 0x5f, - 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, - 0x6e, 0x65, 0x77, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x22, 0x31, 0x0a, 0x12, 0x57, - 0x6f, 0x72, 0x6d, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x43, 0x6f, 0x64, - 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x77, 0x61, 0x73, 0x6d, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x77, 0x61, 0x73, 0x6d, 0x48, 0x61, 0x73, 0x68, 0x22, 0x7a, - 0x0a, 0x1c, 0x57, 0x6f, 0x72, 0x6d, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, - 0x6e, 0x74, 0x69, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x12, 0x17, - 0x0a, 0x07, 0x63, 0x6f, 0x64, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, - 0x06, 0x63, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x2b, 0x0a, - 0x11, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, - 0x73, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, - 0x74, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x73, 0x67, 0x22, 0x7c, 0x0a, 0x18, 0x57, 0x6f, - 0x72, 0x6d, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x43, 0x6f, - 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x63, 0x6f, 0x64, 0x65, 0x5f, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x63, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x12, - 0x1a, 0x0a, 0x08, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x08, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x12, 0x2b, 0x0a, 0x11, 0x69, - 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x73, 0x67, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x69, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x73, 0x67, 0x22, 0xa2, 0x01, 0x0a, 0x21, 0x57, 0x6f, 0x72, - 0x6d, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x57, 0x61, 0x73, 0x6d, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, - 0x74, 0x69, 0x61, 0x74, 0x65, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x6c, 0x69, 0x73, 0x74, 0x12, 0x17, - 0x0a, 0x07, 0x63, 0x6f, 0x64, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, - 0x06, 0x63, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x6f, 0x6e, 0x74, 0x72, - 0x61, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x6f, 0x6e, 0x74, 0x72, - 0x61, 0x63, 0x74, 0x12, 0x48, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x0e, 0x32, 0x30, 0x2e, 0x6e, 0x6f, 0x64, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x6f, - 0x72, 0x6d, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x57, 0x61, 0x73, 0x6d, 0x49, 0x6e, 0x73, 0x74, 0x61, - 0x6e, 0x74, 0x69, 0x61, 0x74, 0x65, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x6c, 0x69, 0x73, 0x74, 0x41, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x44, 0x0a, - 0x26, 0x57, 0x6f, 0x72, 0x6d, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x49, 0x62, 0x63, 0x43, 0x6f, 0x6d, - 0x70, 0x6f, 0x73, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x4d, 0x77, 0x53, 0x65, 0x74, 0x43, - 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x6f, 0x6e, 0x74, 0x72, - 0x61, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x6f, 0x6e, 0x74, 0x72, - 0x61, 0x63, 0x74, 0x22, 0x6d, 0x0a, 0x27, 0x43, 0x69, 0x72, 0x63, 0x6c, 0x65, 0x49, 0x6e, 0x74, - 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x57, 0x6f, - 0x72, 0x6d, 0x68, 0x6f, 0x6c, 0x65, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x1a, - 0x0a, 0x08, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x08, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x26, 0x0a, 0x0f, 0x74, 0x61, - 0x72, 0x67, 0x65, 0x74, 0x5f, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, - 0x49, 0x64, 0x22, 0xe9, 0x01, 0x0a, 0x29, 0x43, 0x69, 0x72, 0x63, 0x6c, 0x65, 0x49, 0x6e, 0x74, - 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, - 0x45, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x72, 0x41, 0x6e, 0x64, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, - 0x12, 0x37, 0x0a, 0x18, 0x66, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x5f, 0x65, 0x6d, 0x69, 0x74, - 0x74, 0x65, 0x72, 0x5f, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x15, 0x66, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x45, 0x6d, 0x69, 0x74, 0x74, - 0x65, 0x72, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x12, 0x36, 0x0a, 0x17, 0x66, 0x6f, 0x72, - 0x65, 0x69, 0x67, 0x6e, 0x5f, 0x65, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x72, 0x5f, 0x61, 0x64, 0x64, - 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x15, 0x66, 0x6f, 0x72, 0x65, - 0x69, 0x67, 0x6e, 0x45, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x72, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, - 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x69, 0x72, 0x63, 0x6c, 0x65, 0x5f, 0x64, 0x6f, 0x6d, 0x61, - 0x69, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x63, 0x69, 0x72, 0x63, 0x6c, 0x65, - 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x26, 0x0a, 0x0f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, - 0x5f, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x0d, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x22, 0x96, - 0x01, 0x0a, 0x2e, 0x43, 0x69, 0x72, 0x63, 0x6c, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, - 0x61, 0x63, 0x74, 0x49, 0x6d, 0x70, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x12, 0x3c, 0x0a, 0x1a, 0x6e, 0x65, 0x77, 0x5f, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x6d, 0x65, - 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x18, 0x6e, 0x65, 0x77, 0x49, 0x6d, 0x70, 0x6c, 0x65, 0x6d, - 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, - 0x26, 0x0a, 0x0f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, - 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, - 0x43, 0x68, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x22, 0xb7, 0x01, 0x0a, 0x15, 0x49, 0x62, 0x63, 0x55, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x43, 0x68, 0x61, 0x69, - 0x6e, 0x12, 0x26, 0x0a, 0x0f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x74, 0x61, 0x72, 0x67, - 0x65, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x68, 0x61, - 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, - 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x49, 0x64, 0x12, 0x3c, 0x0a, 0x06, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x0e, 0x32, 0x24, 0x2e, 0x6e, 0x6f, 0x64, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x62, - 0x63, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x43, 0x68, - 0x61, 0x69, 0x6e, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x52, 0x06, 0x6d, 0x6f, 0x64, 0x75, 0x6c, - 0x65, 0x22, 0x98, 0x01, 0x0a, 0x29, 0x57, 0x6f, 0x72, 0x6d, 0x68, 0x6f, 0x6c, 0x65, 0x52, 0x65, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6d, 0x68, 0x6f, 0x6c, 0x65, 0x46, 0x69, 0x6e, + 0x61, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x97, 0x01, 0x0a, 0x2e, 0x63, 0x69, 0x72, 0x63, 0x6c, 0x65, + 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x67, + 0x69, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x65, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x72, 0x5f, 0x61, 0x6e, + 0x64, 0x5f, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, + 0x2e, 0x6e, 0x6f, 0x64, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x69, 0x72, 0x63, 0x6c, 0x65, 0x49, + 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, + 0x65, 0x72, 0x45, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x72, 0x41, 0x6e, 0x64, 0x44, 0x6f, 0x6d, 0x61, + 0x69, 0x6e, 0x48, 0x00, 0x52, 0x29, 0x63, 0x69, 0x72, 0x63, 0x6c, 0x65, 0x49, 0x6e, 0x74, 0x65, + 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x45, + 0x6d, 0x69, 0x74, 0x74, 0x65, 0x72, 0x41, 0x6e, 0x64, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, + 0xa5, 0x01, 0x0a, 0x32, 0x63, 0x69, 0x72, 0x63, 0x6c, 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x67, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x75, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x63, + 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x5f, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x6d, 0x65, 0x6e, + 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x6e, + 0x6f, 0x64, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x69, 0x72, 0x63, 0x6c, 0x65, 0x49, 0x6e, 0x74, + 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x43, + 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x49, 0x6d, 0x70, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x2e, 0x63, 0x69, 0x72, 0x63, 0x6c, 0x65, 0x49, + 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, + 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x49, 0x6d, 0x70, 0x6c, 0x65, 0x6d, 0x65, + 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x59, 0x0a, 0x18, 0x69, 0x62, 0x63, 0x5f, 0x75, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6e, 0x6f, 0x64, 0x65, + 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x62, 0x63, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, + 0x6e, 0x6e, 0x65, 0x6c, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x48, 0x00, 0x52, 0x15, 0x69, 0x62, 0x63, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x43, 0x68, 0x61, + 0x69, 0x6e, 0x12, 0x97, 0x01, 0x0a, 0x2e, 0x77, 0x6f, 0x72, 0x6d, 0x68, 0x6f, 0x6c, 0x65, 0x5f, + 0x72, 0x65, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x64, 0x65, 0x66, 0x61, + 0x75, 0x6c, 0x74, 0x5f, 0x64, 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x79, 0x5f, 0x70, 0x72, 0x6f, + 0x76, 0x69, 0x64, 0x65, 0x72, 0x18, 0x16, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x6e, 0x6f, + 0x64, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x6f, 0x72, 0x6d, 0x68, 0x6f, 0x6c, 0x65, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x53, 0x65, 0x74, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x44, - 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x12, - 0x19, 0x0a, 0x08, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x07, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x12, 0x50, 0x0a, 0x25, 0x6e, 0x65, - 0x77, 0x5f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x64, 0x65, 0x6c, 0x69, 0x76, 0x65, - 0x72, 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, - 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x21, 0x6e, 0x65, 0x77, 0x44, 0x65, - 0x66, 0x61, 0x75, 0x6c, 0x74, 0x44, 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, - 0x76, 0x69, 0x64, 0x65, 0x72, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0xb4, 0x01, 0x0a, - 0x1a, 0x46, 0x69, 0x6e, 0x64, 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x4d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x65, - 0x6d, 0x69, 0x74, 0x74, 0x65, 0x72, 0x5f, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x0c, 0x65, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x72, 0x43, 0x68, 0x61, 0x69, 0x6e, - 0x12, 0x27, 0x0a, 0x0f, 0x65, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, - 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x65, 0x6d, 0x69, 0x74, 0x74, - 0x65, 0x72, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x70, 0x63, - 0x5f, 0x62, 0x61, 0x63, 0x6b, 0x66, 0x69, 0x6c, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x0b, 0x72, 0x70, 0x63, 0x42, 0x61, 0x63, 0x6b, 0x66, 0x69, 0x6c, 0x6c, 0x12, 0x25, 0x0a, 0x0e, - 0x62, 0x61, 0x63, 0x6b, 0x66, 0x69, 0x6c, 0x6c, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x18, 0x04, - 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x62, 0x61, 0x63, 0x6b, 0x66, 0x69, 0x6c, 0x6c, 0x4e, 0x6f, - 0x64, 0x65, 0x73, 0x22, 0x94, 0x01, 0x0a, 0x1b, 0x46, 0x69, 0x6e, 0x64, 0x4d, 0x69, 0x73, 0x73, - 0x69, 0x6e, 0x67, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x29, 0x0a, 0x10, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x6d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0f, 0x6d, - 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x12, 0x25, - 0x0a, 0x0e, 0x66, 0x69, 0x72, 0x73, 0x74, 0x5f, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x66, 0x69, 0x72, 0x73, 0x74, 0x53, 0x65, 0x71, - 0x75, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x73, 0x65, - 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x6c, 0x61, - 0x73, 0x74, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x22, 0x6f, 0x0a, 0x1d, 0x53, 0x65, - 0x6e, 0x64, 0x4f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4e, 0x0a, 0x13, 0x6f, - 0x62, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x67, 0x6f, 0x73, 0x73, 0x69, - 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x12, 0x6f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x20, 0x0a, 0x1e, 0x53, - 0x65, 0x6e, 0x64, 0x4f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x1c, 0x0a, - 0x1a, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x47, 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x6f, 0x72, 0x53, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x39, 0x0a, 0x1b, 0x43, - 0x68, 0x61, 0x69, 0x6e, 0x47, 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x6f, 0x72, 0x53, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x1c, 0x0a, 0x1a, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x47, - 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x6f, 0x72, 0x52, 0x65, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x22, 0x39, 0x0a, 0x1b, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x47, 0x6f, 0x76, - 0x65, 0x72, 0x6e, 0x6f, 0x72, 0x52, 0x65, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x3b, 0x0a, 0x22, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x47, 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x6f, 0x72, - 0x44, 0x72, 0x6f, 0x70, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x56, 0x41, 0x41, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x15, 0x0a, 0x06, 0x76, 0x61, 0x61, 0x5f, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x61, 0x49, 0x64, 0x22, 0x41, 0x0a, 0x23, - 0x43, 0x68, 0x61, 0x69, 0x6e, 0x47, 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x6f, 0x72, 0x44, 0x72, 0x6f, - 0x70, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x56, 0x41, 0x41, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x3e, 0x0a, 0x25, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x47, 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x6f, 0x72, - 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x56, 0x41, + 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x48, + 0x00, 0x52, 0x29, 0x77, 0x6f, 0x72, 0x6d, 0x68, 0x6f, 0x6c, 0x65, 0x52, 0x65, 0x6c, 0x61, 0x79, + 0x65, 0x72, 0x53, 0x65, 0x74, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x44, 0x65, 0x6c, 0x69, + 0x76, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x42, 0x09, 0x0a, 0x07, + 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x22, 0x37, 0x0a, 0x1b, 0x49, 0x6e, 0x6a, 0x65, 0x63, + 0x74, 0x47, 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x56, 0x41, 0x41, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x64, 0x69, 0x67, 0x65, 0x73, 0x74, + 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0c, 0x52, 0x07, 0x64, 0x69, 0x67, 0x65, 0x73, 0x74, 0x73, + 0x22, 0x8e, 0x01, 0x0a, 0x11, 0x47, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x53, 0x65, 0x74, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x41, 0x0a, 0x09, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, + 0x61, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x6e, 0x6f, 0x64, 0x65, + 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x53, 0x65, 0x74, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x47, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x52, 0x09, + 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x73, 0x1a, 0x36, 0x0a, 0x08, 0x47, 0x75, 0x61, + 0x72, 0x64, 0x69, 0x61, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x75, 0x62, 0x6b, 0x65, 0x79, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x75, 0x62, 0x6b, 0x65, 0x79, 0x12, 0x12, 0x0a, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x22, 0x5b, 0x0a, 0x0b, 0x47, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x4b, 0x65, 0x79, + 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, + 0x64, 0x61, 0x74, 0x61, 0x12, 0x38, 0x0a, 0x18, 0x75, 0x6e, 0x73, 0x61, 0x66, 0x65, 0x5f, 0x64, + 0x65, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x69, 0x73, 0x74, 0x69, 0x63, 0x5f, 0x6b, 0x65, 0x79, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x16, 0x75, 0x6e, 0x73, 0x61, 0x66, 0x65, 0x44, 0x65, + 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x69, 0x73, 0x74, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x22, 0x71, + 0x0a, 0x13, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, + 0x43, 0x68, 0x61, 0x69, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x12, 0x19, 0x0a, + 0x08, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x07, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x65, 0x6d, 0x69, 0x74, + 0x74, 0x65, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0e, 0x65, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x72, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, + 0x73, 0x22, 0xb5, 0x02, 0x0a, 0x17, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x61, 0x6e, 0x74, + 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x16, 0x0a, + 0x06, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6d, + 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x12, 0x26, 0x0a, 0x0f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, + 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x12, 0x1a, 0x0a, + 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, + 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x74, 0x6f, 0x6b, 0x65, 0x6e, + 0x43, 0x68, 0x61, 0x69, 0x6e, 0x12, 0x23, 0x0a, 0x0d, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x61, + 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x74, 0x6f, + 0x6b, 0x65, 0x6e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x2d, 0x0a, 0x04, 0x6b, 0x69, + 0x6e, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x19, 0x2e, 0x6e, 0x6f, 0x64, 0x65, 0x2e, + 0x76, 0x31, 0x2e, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4b, + 0x69, 0x6e, 0x64, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x6d, 0x6f, + 0x75, 0x6e, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, + 0x74, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x22, 0x4f, 0x0a, 0x0f, 0x43, 0x6f, 0x6e, + 0x74, 0x72, 0x61, 0x63, 0x74, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x12, 0x19, 0x0a, 0x08, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x6e, 0x65, 0x77, 0x5f, 0x63, + 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6e, + 0x65, 0x77, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x22, 0x7a, 0x0a, 0x15, 0x42, 0x72, + 0x69, 0x64, 0x67, 0x65, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, + 0x61, 0x63, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x06, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x12, 0x26, 0x0a, 0x0f, 0x74, + 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x43, 0x68, 0x61, 0x69, + 0x6e, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x6e, 0x65, 0x77, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, + 0x61, 0x63, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6e, 0x65, 0x77, 0x43, 0x6f, + 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x22, 0x31, 0x0a, 0x12, 0x57, 0x6f, 0x72, 0x6d, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x1b, 0x0a, 0x09, + 0x77, 0x61, 0x73, 0x6d, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x08, 0x77, 0x61, 0x73, 0x6d, 0x48, 0x61, 0x73, 0x68, 0x22, 0x7a, 0x0a, 0x1c, 0x57, 0x6f, 0x72, + 0x6d, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x69, 0x61, 0x74, + 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x63, 0x6f, 0x64, + 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x63, 0x6f, 0x64, 0x65, + 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x2b, 0x0a, 0x11, 0x69, 0x6e, 0x73, 0x74, + 0x61, 0x6e, 0x74, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x10, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x69, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x4d, 0x73, 0x67, 0x22, 0x7c, 0x0a, 0x18, 0x57, 0x6f, 0x72, 0x6d, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, + 0x74, 0x12, 0x17, 0x0a, 0x07, 0x63, 0x6f, 0x64, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x04, 0x52, 0x06, 0x63, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x6f, + 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x6f, + 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x12, 0x2b, 0x0a, 0x11, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, + 0x74, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x10, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x4d, 0x73, 0x67, 0x22, 0xa2, 0x01, 0x0a, 0x21, 0x57, 0x6f, 0x72, 0x6d, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x57, 0x61, 0x73, 0x6d, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x69, 0x61, 0x74, 0x65, + 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x6c, 0x69, 0x73, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x63, 0x6f, 0x64, + 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x63, 0x6f, 0x64, 0x65, + 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x12, 0x48, + 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x30, + 0x2e, 0x6e, 0x6f, 0x64, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x6f, 0x72, 0x6d, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x57, 0x61, 0x73, 0x6d, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x69, 0x61, 0x74, + 0x65, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x6c, 0x69, 0x73, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x52, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x42, 0x0a, 0x24, 0x47, 0x61, 0x74, 0x65, + 0x77, 0x61, 0x79, 0x49, 0x62, 0x63, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x61, 0x62, 0x69, 0x6c, + 0x69, 0x74, 0x79, 0x4d, 0x77, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, + 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x22, 0x28, 0x0a, 0x26, + 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x53, 0x65, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x66, + 0x61, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x50, 0x66, 0x6d, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, + 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x22, 0x6d, 0x0a, 0x27, 0x43, 0x69, 0x72, 0x63, 0x6c, 0x65, + 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x57, 0x6f, 0x72, 0x6d, 0x68, 0x6f, 0x6c, 0x65, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x74, + 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x08, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x26, 0x0a, + 0x0f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x64, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x43, 0x68, + 0x61, 0x69, 0x6e, 0x49, 0x64, 0x22, 0xe9, 0x01, 0x0a, 0x29, 0x43, 0x69, 0x72, 0x63, 0x6c, 0x65, + 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x67, 0x69, 0x73, + 0x74, 0x65, 0x72, 0x45, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x72, 0x41, 0x6e, 0x64, 0x44, 0x6f, 0x6d, + 0x61, 0x69, 0x6e, 0x12, 0x37, 0x0a, 0x18, 0x66, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x5f, 0x65, + 0x6d, 0x69, 0x74, 0x74, 0x65, 0x72, 0x5f, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x15, 0x66, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x45, 0x6d, + 0x69, 0x74, 0x74, 0x65, 0x72, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x12, 0x36, 0x0a, 0x17, + 0x66, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x5f, 0x65, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x72, 0x5f, + 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x15, 0x66, + 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x45, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x72, 0x41, 0x64, 0x64, + 0x72, 0x65, 0x73, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x69, 0x72, 0x63, 0x6c, 0x65, 0x5f, 0x64, + 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x63, 0x69, 0x72, + 0x63, 0x6c, 0x65, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x26, 0x0a, 0x0f, 0x74, 0x61, 0x72, + 0x67, 0x65, 0x74, 0x5f, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x0d, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x49, + 0x64, 0x22, 0x96, 0x01, 0x0a, 0x2e, 0x43, 0x69, 0x72, 0x63, 0x6c, 0x65, 0x49, 0x6e, 0x74, 0x65, + 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x43, 0x6f, + 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x49, 0x6d, 0x70, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3c, 0x0a, 0x1a, 0x6e, 0x65, 0x77, 0x5f, 0x69, 0x6d, 0x70, 0x6c, + 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, + 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x18, 0x6e, 0x65, 0x77, 0x49, 0x6d, 0x70, + 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x64, 0x64, 0x72, 0x65, + 0x73, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x74, 0x61, 0x72, + 0x67, 0x65, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x22, 0xb7, 0x01, 0x0a, 0x15, 0x49, + 0x62, 0x63, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x43, + 0x68, 0x61, 0x69, 0x6e, 0x12, 0x26, 0x0a, 0x0f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x74, + 0x61, 0x72, 0x67, 0x65, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, + 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x09, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x12, 0x3c, 0x0a, 0x06, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x24, 0x2e, 0x6e, 0x6f, 0x64, 0x65, 0x2e, 0x76, 0x31, + 0x2e, 0x49, 0x62, 0x63, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, + 0x6c, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x52, 0x06, 0x6d, 0x6f, + 0x64, 0x75, 0x6c, 0x65, 0x22, 0x98, 0x01, 0x0a, 0x29, 0x57, 0x6f, 0x72, 0x6d, 0x68, 0x6f, 0x6c, + 0x65, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x53, 0x65, 0x74, 0x44, 0x65, 0x66, 0x61, 0x75, + 0x6c, 0x74, 0x44, 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, + 0x65, 0x72, 0x12, 0x19, 0x0a, 0x08, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x12, 0x50, 0x0a, + 0x25, 0x6e, 0x65, 0x77, 0x5f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x64, 0x65, 0x6c, + 0x69, 0x76, 0x65, 0x72, 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x5f, 0x61, + 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x21, 0x6e, 0x65, + 0x77, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x44, 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x79, + 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, + 0xb4, 0x01, 0x0a, 0x1a, 0x46, 0x69, 0x6e, 0x64, 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x4d, + 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x23, + 0x0a, 0x0d, 0x65, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x72, 0x5f, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x65, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x72, 0x43, 0x68, + 0x61, 0x69, 0x6e, 0x12, 0x27, 0x0a, 0x0f, 0x65, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x72, 0x5f, 0x61, + 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x65, 0x6d, + 0x69, 0x74, 0x74, 0x65, 0x72, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x21, 0x0a, 0x0c, + 0x72, 0x70, 0x63, 0x5f, 0x62, 0x61, 0x63, 0x6b, 0x66, 0x69, 0x6c, 0x6c, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x0b, 0x72, 0x70, 0x63, 0x42, 0x61, 0x63, 0x6b, 0x66, 0x69, 0x6c, 0x6c, 0x12, + 0x25, 0x0a, 0x0e, 0x62, 0x61, 0x63, 0x6b, 0x66, 0x69, 0x6c, 0x6c, 0x5f, 0x6e, 0x6f, 0x64, 0x65, + 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x62, 0x61, 0x63, 0x6b, 0x66, 0x69, 0x6c, + 0x6c, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x22, 0x94, 0x01, 0x0a, 0x1b, 0x46, 0x69, 0x6e, 0x64, 0x4d, + 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x29, 0x0a, 0x10, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, + 0x67, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, + 0x52, 0x0f, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, + 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x66, 0x69, 0x72, 0x73, 0x74, 0x5f, 0x73, 0x65, 0x71, 0x75, 0x65, + 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x66, 0x69, 0x72, 0x73, 0x74, + 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x6c, 0x61, 0x73, 0x74, + 0x5f, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, + 0x0c, 0x6c, 0x61, 0x73, 0x74, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x22, 0x6f, 0x0a, + 0x1d, 0x53, 0x65, 0x6e, 0x64, 0x4f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4e, + 0x0a, 0x13, 0x6f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x67, 0x6f, + 0x73, 0x73, 0x69, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x12, 0x6f, 0x62, 0x73, 0x65, + 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x20, + 0x0a, 0x1e, 0x53, 0x65, 0x6e, 0x64, 0x4f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x1c, 0x0a, 0x1a, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x47, 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x6f, + 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x39, + 0x0a, 0x1b, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x47, 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x6f, 0x72, 0x53, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1a, 0x0a, + 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x1c, 0x0a, 0x1a, 0x43, 0x68, 0x61, + 0x69, 0x6e, 0x47, 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x6f, 0x72, 0x52, 0x65, 0x6c, 0x6f, 0x61, 0x64, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x39, 0x0a, 0x1b, 0x43, 0x68, 0x61, 0x69, 0x6e, + 0x47, 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x6f, 0x72, 0x52, 0x65, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x3b, 0x0a, 0x22, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x47, 0x6f, 0x76, 0x65, 0x72, + 0x6e, 0x6f, 0x72, 0x44, 0x72, 0x6f, 0x70, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x56, 0x41, 0x41, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x15, 0x0a, 0x06, 0x76, 0x61, 0x61, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x61, 0x49, 0x64, 0x22, - 0x44, 0x0a, 0x26, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x47, 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x6f, 0x72, - 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x56, 0x41, - 0x41, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3e, 0x0a, 0x25, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x47, 0x6f, - 0x76, 0x65, 0x72, 0x6e, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x65, 0x74, 0x52, 0x65, 0x6c, 0x65, 0x61, - 0x73, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x15, - 0x0a, 0x06, 0x76, 0x61, 0x61, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, - 0x76, 0x61, 0x61, 0x49, 0x64, 0x22, 0x44, 0x0a, 0x26, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x47, 0x6f, - 0x76, 0x65, 0x72, 0x6e, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x65, 0x74, 0x52, 0x65, 0x6c, 0x65, 0x61, - 0x73, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4f, 0x0a, 0x17, 0x50, - 0x75, 0x72, 0x67, 0x65, 0x50, 0x79, 0x74, 0x68, 0x4e, 0x65, 0x74, 0x56, 0x61, 0x61, 0x73, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x64, 0x61, 0x79, 0x73, 0x5f, 0x6f, - 0x6c, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x64, 0x61, 0x79, 0x73, 0x4f, 0x6c, - 0x64, 0x12, 0x19, 0x0a, 0x08, 0x6c, 0x6f, 0x67, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x07, 0x6c, 0x6f, 0x67, 0x4f, 0x6e, 0x6c, 0x79, 0x22, 0x36, 0x0a, 0x18, - 0x50, 0x75, 0x72, 0x67, 0x65, 0x50, 0x79, 0x74, 0x68, 0x4e, 0x65, 0x74, 0x56, 0x61, 0x61, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x8d, 0x01, 0x0a, 0x16, 0x53, 0x69, 0x67, 0x6e, 0x45, 0x78, 0x69, - 0x73, 0x74, 0x69, 0x6e, 0x67, 0x56, 0x41, 0x41, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x10, 0x0a, 0x03, 0x76, 0x61, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x03, 0x76, 0x61, - 0x61, 0x12, 0x2c, 0x0a, 0x12, 0x6e, 0x65, 0x77, 0x5f, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, - 0x6e, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x10, 0x6e, - 0x65, 0x77, 0x47, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x41, 0x64, 0x64, 0x72, 0x73, 0x12, - 0x33, 0x0a, 0x16, 0x6e, 0x65, 0x77, 0x5f, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x5f, - 0x73, 0x65, 0x74, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x13, 0x6e, 0x65, 0x77, 0x47, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x53, 0x65, 0x74, 0x49, - 0x6e, 0x64, 0x65, 0x78, 0x22, 0x2b, 0x0a, 0x17, 0x53, 0x69, 0x67, 0x6e, 0x45, 0x78, 0x69, 0x73, - 0x74, 0x69, 0x6e, 0x67, 0x56, 0x41, 0x41, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x10, 0x0a, 0x03, 0x76, 0x61, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x03, 0x76, 0x61, - 0x61, 0x22, 0x11, 0x0a, 0x0f, 0x44, 0x75, 0x6d, 0x70, 0x52, 0x50, 0x43, 0x73, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x22, 0x94, 0x01, 0x0a, 0x10, 0x44, 0x75, 0x6d, 0x70, 0x52, 0x50, 0x43, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x43, 0x0a, 0x08, 0x72, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x6e, 0x6f, - 0x64, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x75, 0x6d, 0x70, 0x52, 0x50, 0x43, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x45, - 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x1a, 0x3b, - 0x0a, 0x0d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, - 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, - 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x2a, 0x70, 0x0a, 0x10, 0x4d, - 0x6f, 0x64, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x69, 0x6e, 0x64, 0x12, - 0x21, 0x0a, 0x1d, 0x4d, 0x4f, 0x44, 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, - 0x4b, 0x49, 0x4e, 0x44, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, - 0x10, 0x00, 0x12, 0x19, 0x0a, 0x15, 0x4d, 0x4f, 0x44, 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, 0x49, - 0x4f, 0x4e, 0x5f, 0x4b, 0x49, 0x4e, 0x44, 0x5f, 0x41, 0x44, 0x44, 0x10, 0x01, 0x12, 0x1e, 0x0a, - 0x1a, 0x4d, 0x4f, 0x44, 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4b, 0x49, - 0x4e, 0x44, 0x5f, 0x53, 0x55, 0x42, 0x54, 0x52, 0x41, 0x43, 0x54, 0x10, 0x02, 0x2a, 0xd3, 0x01, - 0x0a, 0x27, 0x57, 0x6f, 0x72, 0x6d, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x57, 0x61, 0x73, 0x6d, 0x49, - 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x69, 0x61, 0x74, 0x65, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x6c, - 0x69, 0x73, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3b, 0x0a, 0x37, 0x57, 0x4f, 0x52, + 0x41, 0x0a, 0x23, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x47, 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x6f, 0x72, + 0x44, 0x72, 0x6f, 0x70, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x56, 0x41, 0x41, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x3e, 0x0a, 0x25, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x47, 0x6f, 0x76, 0x65, 0x72, + 0x6e, 0x6f, 0x72, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, + 0x67, 0x56, 0x41, 0x41, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x15, 0x0a, 0x06, 0x76, + 0x61, 0x61, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x61, + 0x49, 0x64, 0x22, 0x44, 0x0a, 0x26, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x47, 0x6f, 0x76, 0x65, 0x72, + 0x6e, 0x6f, 0x72, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, + 0x67, 0x56, 0x41, 0x41, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1a, 0x0a, 0x08, + 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, + 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3e, 0x0a, 0x25, 0x43, 0x68, 0x61, 0x69, + 0x6e, 0x47, 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x65, 0x74, 0x52, 0x65, + 0x6c, 0x65, 0x61, 0x73, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x15, 0x0a, 0x06, 0x76, 0x61, 0x61, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x05, 0x76, 0x61, 0x61, 0x49, 0x64, 0x22, 0x44, 0x0a, 0x26, 0x43, 0x68, 0x61, 0x69, + 0x6e, 0x47, 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x65, 0x74, 0x52, 0x65, + 0x6c, 0x65, 0x61, 0x73, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4f, + 0x0a, 0x17, 0x50, 0x75, 0x72, 0x67, 0x65, 0x50, 0x79, 0x74, 0x68, 0x4e, 0x65, 0x74, 0x56, 0x61, + 0x61, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x64, 0x61, 0x79, + 0x73, 0x5f, 0x6f, 0x6c, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x64, 0x61, 0x79, + 0x73, 0x4f, 0x6c, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x6c, 0x6f, 0x67, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x6c, 0x6f, 0x67, 0x4f, 0x6e, 0x6c, 0x79, 0x22, + 0x36, 0x0a, 0x18, 0x50, 0x75, 0x72, 0x67, 0x65, 0x50, 0x79, 0x74, 0x68, 0x4e, 0x65, 0x74, 0x56, + 0x61, 0x61, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x72, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x8d, 0x01, 0x0a, 0x16, 0x53, 0x69, 0x67, 0x6e, + 0x45, 0x78, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x56, 0x41, 0x41, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x76, 0x61, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, + 0x03, 0x76, 0x61, 0x61, 0x12, 0x2c, 0x0a, 0x12, 0x6e, 0x65, 0x77, 0x5f, 0x67, 0x75, 0x61, 0x72, + 0x64, 0x69, 0x61, 0x6e, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, + 0x52, 0x10, 0x6e, 0x65, 0x77, 0x47, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x41, 0x64, 0x64, + 0x72, 0x73, 0x12, 0x33, 0x0a, 0x16, 0x6e, 0x65, 0x77, 0x5f, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, + 0x61, 0x6e, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x13, 0x6e, 0x65, 0x77, 0x47, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x53, + 0x65, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x22, 0x2b, 0x0a, 0x17, 0x53, 0x69, 0x67, 0x6e, 0x45, + 0x78, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x56, 0x41, 0x41, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x76, 0x61, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, + 0x03, 0x76, 0x61, 0x61, 0x22, 0x11, 0x0a, 0x0f, 0x44, 0x75, 0x6d, 0x70, 0x52, 0x50, 0x43, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x94, 0x01, 0x0a, 0x10, 0x44, 0x75, 0x6d, 0x70, + 0x52, 0x50, 0x43, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x43, 0x0a, 0x08, + 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, + 0x2e, 0x6e, 0x6f, 0x64, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x75, 0x6d, 0x70, 0x52, 0x50, 0x43, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x1a, 0x3b, 0x0a, 0x0d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x45, 0x6e, 0x74, + 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x2a, 0x70, + 0x0a, 0x10, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x69, + 0x6e, 0x64, 0x12, 0x21, 0x0a, 0x1d, 0x4d, 0x4f, 0x44, 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, 0x49, + 0x4f, 0x4e, 0x5f, 0x4b, 0x49, 0x4e, 0x44, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, + 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x19, 0x0a, 0x15, 0x4d, 0x4f, 0x44, 0x49, 0x46, 0x49, 0x43, + 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4b, 0x49, 0x4e, 0x44, 0x5f, 0x41, 0x44, 0x44, 0x10, 0x01, + 0x12, 0x1e, 0x0a, 0x1a, 0x4d, 0x4f, 0x44, 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, + 0x5f, 0x4b, 0x49, 0x4e, 0x44, 0x5f, 0x53, 0x55, 0x42, 0x54, 0x52, 0x41, 0x43, 0x54, 0x10, 0x02, + 0x2a, 0xd3, 0x01, 0x0a, 0x27, 0x57, 0x6f, 0x72, 0x6d, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x57, 0x61, + 0x73, 0x6d, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x69, 0x61, 0x74, 0x65, 0x41, 0x6c, 0x6c, + 0x6f, 0x77, 0x6c, 0x69, 0x73, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3b, 0x0a, 0x37, + 0x57, 0x4f, 0x52, 0x4d, 0x43, 0x48, 0x41, 0x49, 0x4e, 0x5f, 0x57, 0x41, 0x53, 0x4d, 0x5f, 0x49, + 0x4e, 0x53, 0x54, 0x41, 0x4e, 0x54, 0x49, 0x41, 0x54, 0x45, 0x5f, 0x41, 0x4c, 0x4c, 0x4f, 0x57, + 0x4c, 0x49, 0x53, 0x54, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x53, 0x50, + 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x33, 0x0a, 0x2f, 0x57, 0x4f, 0x52, 0x4d, 0x43, 0x48, 0x41, 0x49, 0x4e, 0x5f, 0x57, 0x41, 0x53, 0x4d, 0x5f, 0x49, 0x4e, 0x53, 0x54, 0x41, 0x4e, 0x54, 0x49, 0x41, 0x54, 0x45, 0x5f, 0x41, 0x4c, 0x4c, 0x4f, 0x57, 0x4c, 0x49, 0x53, - 0x54, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, - 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x33, 0x0a, 0x2f, 0x57, 0x4f, 0x52, 0x4d, 0x43, 0x48, - 0x41, 0x49, 0x4e, 0x5f, 0x57, 0x41, 0x53, 0x4d, 0x5f, 0x49, 0x4e, 0x53, 0x54, 0x41, 0x4e, 0x54, - 0x49, 0x41, 0x54, 0x45, 0x5f, 0x41, 0x4c, 0x4c, 0x4f, 0x57, 0x4c, 0x49, 0x53, 0x54, 0x5f, 0x41, - 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x41, 0x44, 0x44, 0x10, 0x01, 0x12, 0x36, 0x0a, 0x32, 0x57, - 0x4f, 0x52, 0x4d, 0x43, 0x48, 0x41, 0x49, 0x4e, 0x5f, 0x57, 0x41, 0x53, 0x4d, 0x5f, 0x49, 0x4e, - 0x53, 0x54, 0x41, 0x4e, 0x54, 0x49, 0x41, 0x54, 0x45, 0x5f, 0x41, 0x4c, 0x4c, 0x4f, 0x57, 0x4c, - 0x49, 0x53, 0x54, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x44, 0x45, 0x4c, 0x45, 0x54, - 0x45, 0x10, 0x02, 0x2a, 0xac, 0x01, 0x0a, 0x1b, 0x49, 0x62, 0x63, 0x55, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x4d, 0x6f, 0x64, - 0x75, 0x6c, 0x65, 0x12, 0x2f, 0x0a, 0x2b, 0x49, 0x42, 0x43, 0x5f, 0x55, 0x50, 0x44, 0x41, 0x54, - 0x45, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x4e, 0x45, 0x4c, 0x5f, 0x43, 0x48, 0x41, 0x49, 0x4e, 0x5f, - 0x4d, 0x4f, 0x44, 0x55, 0x4c, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, - 0x45, 0x44, 0x10, 0x00, 0x12, 0x2c, 0x0a, 0x28, 0x49, 0x42, 0x43, 0x5f, 0x55, 0x50, 0x44, 0x41, - 0x54, 0x45, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x4e, 0x45, 0x4c, 0x5f, 0x43, 0x48, 0x41, 0x49, 0x4e, - 0x5f, 0x4d, 0x4f, 0x44, 0x55, 0x4c, 0x45, 0x5f, 0x52, 0x45, 0x43, 0x45, 0x49, 0x56, 0x45, 0x52, - 0x10, 0x01, 0x12, 0x2e, 0x0a, 0x2a, 0x49, 0x42, 0x43, 0x5f, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, - 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x4e, 0x45, 0x4c, 0x5f, 0x43, 0x48, 0x41, 0x49, 0x4e, 0x5f, 0x4d, - 0x4f, 0x44, 0x55, 0x4c, 0x45, 0x5f, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x4c, 0x41, 0x54, 0x4f, 0x52, - 0x10, 0x02, 0x32, 0xfc, 0x08, 0x0a, 0x15, 0x4e, 0x6f, 0x64, 0x65, 0x50, 0x72, 0x69, 0x76, 0x69, - 0x6c, 0x65, 0x67, 0x65, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x60, 0x0a, 0x13, - 0x49, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x47, 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x61, 0x6e, 0x63, 0x65, - 0x56, 0x41, 0x41, 0x12, 0x23, 0x2e, 0x6e, 0x6f, 0x64, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, - 0x6a, 0x65, 0x63, 0x74, 0x47, 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x56, 0x41, - 0x41, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x6e, 0x6f, 0x64, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x47, 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x61, - 0x6e, 0x63, 0x65, 0x56, 0x41, 0x41, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x60, - 0x0a, 0x13, 0x46, 0x69, 0x6e, 0x64, 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x4d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x73, 0x12, 0x23, 0x2e, 0x6e, 0x6f, 0x64, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x46, 0x69, 0x6e, 0x64, 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x4d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x6e, 0x6f, 0x64, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, - 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x69, 0x0a, 0x16, 0x53, 0x65, 0x6e, 0x64, 0x4f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x26, 0x2e, 0x6e, 0x6f, 0x64, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x4f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x6e, 0x6f, 0x64, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x6e, - 0x64, 0x4f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x60, 0x0a, 0x13, 0x43, - 0x68, 0x61, 0x69, 0x6e, 0x47, 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x6f, 0x72, 0x53, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x12, 0x23, 0x2e, 0x6e, 0x6f, 0x64, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x68, 0x61, - 0x69, 0x6e, 0x47, 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x6f, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x6e, 0x6f, 0x64, 0x65, 0x2e, 0x76, - 0x31, 0x2e, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x47, 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x6f, 0x72, 0x53, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x60, 0x0a, - 0x13, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x47, 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x6f, 0x72, 0x52, 0x65, - 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x23, 0x2e, 0x6e, 0x6f, 0x64, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, - 0x68, 0x61, 0x69, 0x6e, 0x47, 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x6f, 0x72, 0x52, 0x65, 0x6c, 0x6f, - 0x61, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x6e, 0x6f, 0x64, 0x65, - 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x47, 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x6f, - 0x72, 0x52, 0x65, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x78, 0x0a, 0x1b, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x47, 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x6f, 0x72, - 0x44, 0x72, 0x6f, 0x70, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x56, 0x41, 0x41, 0x12, 0x2b, + 0x54, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x41, 0x44, 0x44, 0x10, 0x01, 0x12, 0x36, + 0x0a, 0x32, 0x57, 0x4f, 0x52, 0x4d, 0x43, 0x48, 0x41, 0x49, 0x4e, 0x5f, 0x57, 0x41, 0x53, 0x4d, + 0x5f, 0x49, 0x4e, 0x53, 0x54, 0x41, 0x4e, 0x54, 0x49, 0x41, 0x54, 0x45, 0x5f, 0x41, 0x4c, 0x4c, + 0x4f, 0x57, 0x4c, 0x49, 0x53, 0x54, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x44, 0x45, + 0x4c, 0x45, 0x54, 0x45, 0x10, 0x02, 0x2a, 0xac, 0x01, 0x0a, 0x1b, 0x49, 0x62, 0x63, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x43, 0x68, 0x61, 0x69, 0x6e, + 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x12, 0x2f, 0x0a, 0x2b, 0x49, 0x42, 0x43, 0x5f, 0x55, 0x50, + 0x44, 0x41, 0x54, 0x45, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x4e, 0x45, 0x4c, 0x5f, 0x43, 0x48, 0x41, + 0x49, 0x4e, 0x5f, 0x4d, 0x4f, 0x44, 0x55, 0x4c, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, + 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x2c, 0x0a, 0x28, 0x49, 0x42, 0x43, 0x5f, 0x55, + 0x50, 0x44, 0x41, 0x54, 0x45, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x4e, 0x45, 0x4c, 0x5f, 0x43, 0x48, + 0x41, 0x49, 0x4e, 0x5f, 0x4d, 0x4f, 0x44, 0x55, 0x4c, 0x45, 0x5f, 0x52, 0x45, 0x43, 0x45, 0x49, + 0x56, 0x45, 0x52, 0x10, 0x01, 0x12, 0x2e, 0x0a, 0x2a, 0x49, 0x42, 0x43, 0x5f, 0x55, 0x50, 0x44, + 0x41, 0x54, 0x45, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x4e, 0x45, 0x4c, 0x5f, 0x43, 0x48, 0x41, 0x49, + 0x4e, 0x5f, 0x4d, 0x4f, 0x44, 0x55, 0x4c, 0x45, 0x5f, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x4c, 0x41, + 0x54, 0x4f, 0x52, 0x10, 0x02, 0x32, 0xfc, 0x08, 0x0a, 0x15, 0x4e, 0x6f, 0x64, 0x65, 0x50, 0x72, + 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, + 0x60, 0x0a, 0x13, 0x49, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x47, 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x61, + 0x6e, 0x63, 0x65, 0x56, 0x41, 0x41, 0x12, 0x23, 0x2e, 0x6e, 0x6f, 0x64, 0x65, 0x2e, 0x76, 0x31, + 0x2e, 0x49, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x47, 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x61, 0x6e, 0x63, + 0x65, 0x56, 0x41, 0x41, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x6e, 0x6f, + 0x64, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x47, 0x6f, 0x76, 0x65, + 0x72, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x56, 0x41, 0x41, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x60, 0x0a, 0x13, 0x46, 0x69, 0x6e, 0x64, 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, + 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x12, 0x23, 0x2e, 0x6e, 0x6f, 0x64, 0x65, 0x2e, + 0x76, 0x31, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x4d, 0x65, + 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, + 0x6e, 0x6f, 0x64, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4d, 0x69, 0x73, 0x73, + 0x69, 0x6e, 0x67, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x69, 0x0a, 0x16, 0x53, 0x65, 0x6e, 0x64, 0x4f, 0x62, 0x73, 0x65, 0x72, + 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x26, 0x2e, + 0x6e, 0x6f, 0x64, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x4f, 0x62, 0x73, 0x65, + 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x6e, 0x6f, 0x64, 0x65, 0x2e, 0x76, 0x31, 0x2e, + 0x53, 0x65, 0x6e, 0x64, 0x4f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x60, + 0x0a, 0x13, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x47, 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x6f, 0x72, 0x53, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x23, 0x2e, 0x6e, 0x6f, 0x64, 0x65, 0x2e, 0x76, 0x31, 0x2e, + 0x43, 0x68, 0x61, 0x69, 0x6e, 0x47, 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x6f, 0x72, 0x53, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x6e, 0x6f, 0x64, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x47, 0x6f, 0x76, 0x65, 0x72, 0x6e, + 0x6f, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x60, 0x0a, 0x13, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x47, 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x6f, + 0x72, 0x52, 0x65, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x23, 0x2e, 0x6e, 0x6f, 0x64, 0x65, 0x2e, 0x76, + 0x31, 0x2e, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x47, 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x6f, 0x72, 0x52, + 0x65, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x6e, + 0x6f, 0x64, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x47, 0x6f, 0x76, 0x65, + 0x72, 0x6e, 0x6f, 0x72, 0x52, 0x65, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x78, 0x0a, 0x1b, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x47, 0x6f, 0x76, 0x65, 0x72, + 0x6e, 0x6f, 0x72, 0x44, 0x72, 0x6f, 0x70, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x56, 0x41, + 0x41, 0x12, 0x2b, 0x2e, 0x6e, 0x6f, 0x64, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x68, 0x61, 0x69, + 0x6e, 0x47, 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x6f, 0x72, 0x44, 0x72, 0x6f, 0x70, 0x50, 0x65, 0x6e, + 0x64, 0x69, 0x6e, 0x67, 0x56, 0x41, 0x41, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x6e, 0x6f, 0x64, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x47, 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x6f, 0x72, 0x44, 0x72, 0x6f, 0x70, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, - 0x67, 0x56, 0x41, 0x41, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x6e, 0x6f, - 0x64, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x47, 0x6f, 0x76, 0x65, 0x72, - 0x6e, 0x6f, 0x72, 0x44, 0x72, 0x6f, 0x70, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x56, 0x41, - 0x41, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x81, 0x01, 0x0a, 0x1e, 0x43, 0x68, - 0x61, 0x69, 0x6e, 0x47, 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x6f, 0x72, 0x52, 0x65, 0x6c, 0x65, 0x61, - 0x73, 0x65, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x56, 0x41, 0x41, 0x12, 0x2e, 0x2e, 0x6e, - 0x6f, 0x64, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x47, 0x6f, 0x76, 0x65, - 0x72, 0x6e, 0x6f, 0x72, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x50, 0x65, 0x6e, 0x64, 0x69, - 0x6e, 0x67, 0x56, 0x41, 0x41, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x6e, - 0x6f, 0x64, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x47, 0x6f, 0x76, 0x65, - 0x72, 0x6e, 0x6f, 0x72, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x50, 0x65, 0x6e, 0x64, 0x69, - 0x6e, 0x67, 0x56, 0x41, 0x41, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x81, 0x01, - 0x0a, 0x1e, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x47, 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x6f, 0x72, 0x52, - 0x65, 0x73, 0x65, 0x74, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x72, - 0x12, 0x2e, 0x2e, 0x6e, 0x6f, 0x64, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x68, 0x61, 0x69, 0x6e, - 0x47, 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x65, 0x74, 0x52, 0x65, 0x6c, - 0x65, 0x61, 0x73, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x2f, 0x2e, 0x6e, 0x6f, 0x64, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x68, 0x61, 0x69, 0x6e, - 0x47, 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x65, 0x74, 0x52, 0x65, 0x6c, - 0x65, 0x61, 0x73, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x57, 0x0a, 0x10, 0x50, 0x75, 0x72, 0x67, 0x65, 0x50, 0x79, 0x74, 0x68, 0x4e, 0x65, - 0x74, 0x56, 0x61, 0x61, 0x73, 0x12, 0x20, 0x2e, 0x6e, 0x6f, 0x64, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x50, 0x75, 0x72, 0x67, 0x65, 0x50, 0x79, 0x74, 0x68, 0x4e, 0x65, 0x74, 0x56, 0x61, 0x61, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x6e, 0x6f, 0x64, 0x65, 0x2e, 0x76, - 0x31, 0x2e, 0x50, 0x75, 0x72, 0x67, 0x65, 0x50, 0x79, 0x74, 0x68, 0x4e, 0x65, 0x74, 0x56, 0x61, - 0x61, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x54, 0x0a, 0x0f, 0x53, 0x69, - 0x67, 0x6e, 0x45, 0x78, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x56, 0x41, 0x41, 0x12, 0x1f, 0x2e, - 0x6e, 0x6f, 0x64, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x45, 0x78, 0x69, 0x73, - 0x74, 0x69, 0x6e, 0x67, 0x56, 0x41, 0x41, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, - 0x2e, 0x6e, 0x6f, 0x64, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x45, 0x78, 0x69, - 0x73, 0x74, 0x69, 0x6e, 0x67, 0x56, 0x41, 0x41, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x3f, 0x0a, 0x08, 0x44, 0x75, 0x6d, 0x70, 0x52, 0x50, 0x43, 0x73, 0x12, 0x18, 0x2e, 0x6e, - 0x6f, 0x64, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x75, 0x6d, 0x70, 0x52, 0x50, 0x43, 0x73, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x6e, 0x6f, 0x64, 0x65, 0x2e, 0x76, 0x31, - 0x2e, 0x44, 0x75, 0x6d, 0x70, 0x52, 0x50, 0x43, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x42, 0x3d, 0x5a, 0x3b, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, - 0x63, 0x65, 0x72, 0x74, 0x75, 0x73, 0x6f, 0x6e, 0x65, 0x2f, 0x77, 0x6f, 0x72, 0x6d, 0x68, 0x6f, - 0x6c, 0x65, 0x2f, 0x6e, 0x6f, 0x64, 0x65, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x2f, 0x6e, 0x6f, 0x64, 0x65, 0x2f, 0x76, 0x31, 0x3b, 0x6e, 0x6f, 0x64, 0x65, 0x76, 0x31, - 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x67, 0x56, 0x41, 0x41, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x81, 0x01, 0x0a, + 0x1e, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x47, 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x6f, 0x72, 0x52, 0x65, + 0x6c, 0x65, 0x61, 0x73, 0x65, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x56, 0x41, 0x41, 0x12, + 0x2e, 0x2e, 0x6e, 0x6f, 0x64, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x47, + 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x6f, 0x72, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x50, 0x65, + 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x56, 0x41, 0x41, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x2f, 0x2e, 0x6e, 0x6f, 0x64, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x47, + 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x6f, 0x72, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x50, 0x65, + 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x56, 0x41, 0x41, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x81, 0x01, 0x0a, 0x1e, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x47, 0x6f, 0x76, 0x65, 0x72, 0x6e, + 0x6f, 0x72, 0x52, 0x65, 0x73, 0x65, 0x74, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x54, 0x69, + 0x6d, 0x65, 0x72, 0x12, 0x2e, 0x2e, 0x6e, 0x6f, 0x64, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x68, + 0x61, 0x69, 0x6e, 0x47, 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x65, 0x74, + 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x6e, 0x6f, 0x64, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x68, + 0x61, 0x69, 0x6e, 0x47, 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x65, 0x74, + 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x57, 0x0a, 0x10, 0x50, 0x75, 0x72, 0x67, 0x65, 0x50, 0x79, 0x74, + 0x68, 0x4e, 0x65, 0x74, 0x56, 0x61, 0x61, 0x73, 0x12, 0x20, 0x2e, 0x6e, 0x6f, 0x64, 0x65, 0x2e, + 0x76, 0x31, 0x2e, 0x50, 0x75, 0x72, 0x67, 0x65, 0x50, 0x79, 0x74, 0x68, 0x4e, 0x65, 0x74, 0x56, + 0x61, 0x61, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x6e, 0x6f, 0x64, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x75, 0x72, 0x67, 0x65, 0x50, 0x79, 0x74, 0x68, 0x4e, 0x65, + 0x74, 0x56, 0x61, 0x61, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x54, 0x0a, + 0x0f, 0x53, 0x69, 0x67, 0x6e, 0x45, 0x78, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x56, 0x41, 0x41, + 0x12, 0x1f, 0x2e, 0x6e, 0x6f, 0x64, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x45, + 0x78, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x56, 0x41, 0x41, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x20, 0x2e, 0x6e, 0x6f, 0x64, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x69, 0x67, 0x6e, + 0x45, 0x78, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x56, 0x41, 0x41, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x3f, 0x0a, 0x08, 0x44, 0x75, 0x6d, 0x70, 0x52, 0x50, 0x43, 0x73, 0x12, + 0x18, 0x2e, 0x6e, 0x6f, 0x64, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x75, 0x6d, 0x70, 0x52, 0x50, + 0x43, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x6e, 0x6f, 0x64, 0x65, + 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x75, 0x6d, 0x70, 0x52, 0x50, 0x43, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x3d, 0x5a, 0x3b, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x63, 0x65, 0x72, 0x74, 0x75, 0x73, 0x6f, 0x6e, 0x65, 0x2f, 0x77, 0x6f, 0x72, + 0x6d, 0x68, 0x6f, 0x6c, 0x65, 0x2f, 0x6e, 0x6f, 0x64, 0x65, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x6e, 0x6f, 0x64, 0x65, 0x2f, 0x76, 0x31, 0x3b, 0x6e, 0x6f, 0x64, + 0x65, 0x76, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -3123,7 +3187,7 @@ func file_node_v1_node_proto_rawDescGZIP() []byte { } var file_node_v1_node_proto_enumTypes = make([]protoimpl.EnumInfo, 3) -var file_node_v1_node_proto_msgTypes = make([]protoimpl.MessageInfo, 41) +var file_node_v1_node_proto_msgTypes = make([]protoimpl.MessageInfo, 42) var file_node_v1_node_proto_goTypes = []interface{}{ (ModificationKind)(0), // 0: node.v1.ModificationKind (WormchainWasmInstantiateAllowlistAction)(0), // 1: node.v1.WormchainWasmInstantiateAllowlistAction @@ -3141,35 +3205,36 @@ var file_node_v1_node_proto_goTypes = []interface{}{ (*WormchainInstantiateContract)(nil), // 13: node.v1.WormchainInstantiateContract (*WormchainMigrateContract)(nil), // 14: node.v1.WormchainMigrateContract (*WormchainWasmInstantiateAllowlist)(nil), // 15: node.v1.WormchainWasmInstantiateAllowlist - (*WormchainIbcComposabilityMwSetContract)(nil), // 16: node.v1.WormchainIbcComposabilityMwSetContract - (*CircleIntegrationUpdateWormholeFinality)(nil), // 17: node.v1.CircleIntegrationUpdateWormholeFinality - (*CircleIntegrationRegisterEmitterAndDomain)(nil), // 18: node.v1.CircleIntegrationRegisterEmitterAndDomain - (*CircleIntegrationUpgradeContractImplementation)(nil), // 19: node.v1.CircleIntegrationUpgradeContractImplementation - (*IbcUpdateChannelChain)(nil), // 20: node.v1.IbcUpdateChannelChain - (*WormholeRelayerSetDefaultDeliveryProvider)(nil), // 21: node.v1.WormholeRelayerSetDefaultDeliveryProvider - (*FindMissingMessagesRequest)(nil), // 22: node.v1.FindMissingMessagesRequest - (*FindMissingMessagesResponse)(nil), // 23: node.v1.FindMissingMessagesResponse - (*SendObservationRequestRequest)(nil), // 24: node.v1.SendObservationRequestRequest - (*SendObservationRequestResponse)(nil), // 25: node.v1.SendObservationRequestResponse - (*ChainGovernorStatusRequest)(nil), // 26: node.v1.ChainGovernorStatusRequest - (*ChainGovernorStatusResponse)(nil), // 27: node.v1.ChainGovernorStatusResponse - (*ChainGovernorReloadRequest)(nil), // 28: node.v1.ChainGovernorReloadRequest - (*ChainGovernorReloadResponse)(nil), // 29: node.v1.ChainGovernorReloadResponse - (*ChainGovernorDropPendingVAARequest)(nil), // 30: node.v1.ChainGovernorDropPendingVAARequest - (*ChainGovernorDropPendingVAAResponse)(nil), // 31: node.v1.ChainGovernorDropPendingVAAResponse - (*ChainGovernorReleasePendingVAARequest)(nil), // 32: node.v1.ChainGovernorReleasePendingVAARequest - (*ChainGovernorReleasePendingVAAResponse)(nil), // 33: node.v1.ChainGovernorReleasePendingVAAResponse - (*ChainGovernorResetReleaseTimerRequest)(nil), // 34: node.v1.ChainGovernorResetReleaseTimerRequest - (*ChainGovernorResetReleaseTimerResponse)(nil), // 35: node.v1.ChainGovernorResetReleaseTimerResponse - (*PurgePythNetVaasRequest)(nil), // 36: node.v1.PurgePythNetVaasRequest - (*PurgePythNetVaasResponse)(nil), // 37: node.v1.PurgePythNetVaasResponse - (*SignExistingVAARequest)(nil), // 38: node.v1.SignExistingVAARequest - (*SignExistingVAAResponse)(nil), // 39: node.v1.SignExistingVAAResponse - (*DumpRPCsRequest)(nil), // 40: node.v1.DumpRPCsRequest - (*DumpRPCsResponse)(nil), // 41: node.v1.DumpRPCsResponse - (*GuardianSetUpdate_Guardian)(nil), // 42: node.v1.GuardianSetUpdate.Guardian - nil, // 43: node.v1.DumpRPCsResponse.ResponseEntry - (*v1.ObservationRequest)(nil), // 44: gossip.v1.ObservationRequest + (*GatewayIbcComposabilityMwSetContract)(nil), // 16: node.v1.GatewayIbcComposabilityMwSetContract + (*GatewaySetTokenfactoryPfmDefaultParams)(nil), // 17: node.v1.GatewaySetTokenfactoryPfmDefaultParams + (*CircleIntegrationUpdateWormholeFinality)(nil), // 18: node.v1.CircleIntegrationUpdateWormholeFinality + (*CircleIntegrationRegisterEmitterAndDomain)(nil), // 19: node.v1.CircleIntegrationRegisterEmitterAndDomain + (*CircleIntegrationUpgradeContractImplementation)(nil), // 20: node.v1.CircleIntegrationUpgradeContractImplementation + (*IbcUpdateChannelChain)(nil), // 21: node.v1.IbcUpdateChannelChain + (*WormholeRelayerSetDefaultDeliveryProvider)(nil), // 22: node.v1.WormholeRelayerSetDefaultDeliveryProvider + (*FindMissingMessagesRequest)(nil), // 23: node.v1.FindMissingMessagesRequest + (*FindMissingMessagesResponse)(nil), // 24: node.v1.FindMissingMessagesResponse + (*SendObservationRequestRequest)(nil), // 25: node.v1.SendObservationRequestRequest + (*SendObservationRequestResponse)(nil), // 26: node.v1.SendObservationRequestResponse + (*ChainGovernorStatusRequest)(nil), // 27: node.v1.ChainGovernorStatusRequest + (*ChainGovernorStatusResponse)(nil), // 28: node.v1.ChainGovernorStatusResponse + (*ChainGovernorReloadRequest)(nil), // 29: node.v1.ChainGovernorReloadRequest + (*ChainGovernorReloadResponse)(nil), // 30: node.v1.ChainGovernorReloadResponse + (*ChainGovernorDropPendingVAARequest)(nil), // 31: node.v1.ChainGovernorDropPendingVAARequest + (*ChainGovernorDropPendingVAAResponse)(nil), // 32: node.v1.ChainGovernorDropPendingVAAResponse + (*ChainGovernorReleasePendingVAARequest)(nil), // 33: node.v1.ChainGovernorReleasePendingVAARequest + (*ChainGovernorReleasePendingVAAResponse)(nil), // 34: node.v1.ChainGovernorReleasePendingVAAResponse + (*ChainGovernorResetReleaseTimerRequest)(nil), // 35: node.v1.ChainGovernorResetReleaseTimerRequest + (*ChainGovernorResetReleaseTimerResponse)(nil), // 36: node.v1.ChainGovernorResetReleaseTimerResponse + (*PurgePythNetVaasRequest)(nil), // 37: node.v1.PurgePythNetVaasRequest + (*PurgePythNetVaasResponse)(nil), // 38: node.v1.PurgePythNetVaasResponse + (*SignExistingVAARequest)(nil), // 39: node.v1.SignExistingVAARequest + (*SignExistingVAAResponse)(nil), // 40: node.v1.SignExistingVAAResponse + (*DumpRPCsRequest)(nil), // 41: node.v1.DumpRPCsRequest + (*DumpRPCsResponse)(nil), // 42: node.v1.DumpRPCsResponse + (*GuardianSetUpdate_Guardian)(nil), // 43: node.v1.GuardianSetUpdate.Guardian + nil, // 44: node.v1.DumpRPCsResponse.ResponseEntry + (*v1.ObservationRequest)(nil), // 45: gossip.v1.ObservationRequest } var file_node_v1_node_proto_depIdxs = []int32{ 4, // 0: node.v1.InjectGovernanceVAARequest.messages:type_name -> node.v1.GovernanceMessage @@ -3181,46 +3246,47 @@ var file_node_v1_node_proto_depIdxs = []int32{ 13, // 6: node.v1.GovernanceMessage.wormchain_instantiate_contract:type_name -> node.v1.WormchainInstantiateContract 14, // 7: node.v1.GovernanceMessage.wormchain_migrate_contract:type_name -> node.v1.WormchainMigrateContract 15, // 8: node.v1.GovernanceMessage.wormchain_wasm_instantiate_allowlist:type_name -> node.v1.WormchainWasmInstantiateAllowlist - 16, // 9: node.v1.GovernanceMessage.wormchain_ibc_composability_mw_set_contract:type_name -> node.v1.WormchainIbcComposabilityMwSetContract - 9, // 10: node.v1.GovernanceMessage.accountant_modify_balance:type_name -> node.v1.AccountantModifyBalance - 17, // 11: node.v1.GovernanceMessage.circle_integration_update_wormhole_finality:type_name -> node.v1.CircleIntegrationUpdateWormholeFinality - 18, // 12: node.v1.GovernanceMessage.circle_integration_register_emitter_and_domain:type_name -> node.v1.CircleIntegrationRegisterEmitterAndDomain - 19, // 13: node.v1.GovernanceMessage.circle_integration_upgrade_contract_implementation:type_name -> node.v1.CircleIntegrationUpgradeContractImplementation - 20, // 14: node.v1.GovernanceMessage.ibc_update_channel_chain:type_name -> node.v1.IbcUpdateChannelChain - 21, // 15: node.v1.GovernanceMessage.wormhole_relayer_set_default_delivery_provider:type_name -> node.v1.WormholeRelayerSetDefaultDeliveryProvider - 42, // 16: node.v1.GuardianSetUpdate.guardians:type_name -> node.v1.GuardianSetUpdate.Guardian - 0, // 17: node.v1.AccountantModifyBalance.kind:type_name -> node.v1.ModificationKind - 1, // 18: node.v1.WormchainWasmInstantiateAllowlist.action:type_name -> node.v1.WormchainWasmInstantiateAllowlistAction - 2, // 19: node.v1.IbcUpdateChannelChain.module:type_name -> node.v1.IbcUpdateChannelChainModule - 44, // 20: node.v1.SendObservationRequestRequest.observation_request:type_name -> gossip.v1.ObservationRequest - 43, // 21: node.v1.DumpRPCsResponse.response:type_name -> node.v1.DumpRPCsResponse.ResponseEntry - 3, // 22: node.v1.NodePrivilegedService.InjectGovernanceVAA:input_type -> node.v1.InjectGovernanceVAARequest - 22, // 23: node.v1.NodePrivilegedService.FindMissingMessages:input_type -> node.v1.FindMissingMessagesRequest - 24, // 24: node.v1.NodePrivilegedService.SendObservationRequest:input_type -> node.v1.SendObservationRequestRequest - 26, // 25: node.v1.NodePrivilegedService.ChainGovernorStatus:input_type -> node.v1.ChainGovernorStatusRequest - 28, // 26: node.v1.NodePrivilegedService.ChainGovernorReload:input_type -> node.v1.ChainGovernorReloadRequest - 30, // 27: node.v1.NodePrivilegedService.ChainGovernorDropPendingVAA:input_type -> node.v1.ChainGovernorDropPendingVAARequest - 32, // 28: node.v1.NodePrivilegedService.ChainGovernorReleasePendingVAA:input_type -> node.v1.ChainGovernorReleasePendingVAARequest - 34, // 29: node.v1.NodePrivilegedService.ChainGovernorResetReleaseTimer:input_type -> node.v1.ChainGovernorResetReleaseTimerRequest - 36, // 30: node.v1.NodePrivilegedService.PurgePythNetVaas:input_type -> node.v1.PurgePythNetVaasRequest - 38, // 31: node.v1.NodePrivilegedService.SignExistingVAA:input_type -> node.v1.SignExistingVAARequest - 40, // 32: node.v1.NodePrivilegedService.DumpRPCs:input_type -> node.v1.DumpRPCsRequest - 5, // 33: node.v1.NodePrivilegedService.InjectGovernanceVAA:output_type -> node.v1.InjectGovernanceVAAResponse - 23, // 34: node.v1.NodePrivilegedService.FindMissingMessages:output_type -> node.v1.FindMissingMessagesResponse - 25, // 35: node.v1.NodePrivilegedService.SendObservationRequest:output_type -> node.v1.SendObservationRequestResponse - 27, // 36: node.v1.NodePrivilegedService.ChainGovernorStatus:output_type -> node.v1.ChainGovernorStatusResponse - 29, // 37: node.v1.NodePrivilegedService.ChainGovernorReload:output_type -> node.v1.ChainGovernorReloadResponse - 31, // 38: node.v1.NodePrivilegedService.ChainGovernorDropPendingVAA:output_type -> node.v1.ChainGovernorDropPendingVAAResponse - 33, // 39: node.v1.NodePrivilegedService.ChainGovernorReleasePendingVAA:output_type -> node.v1.ChainGovernorReleasePendingVAAResponse - 35, // 40: node.v1.NodePrivilegedService.ChainGovernorResetReleaseTimer:output_type -> node.v1.ChainGovernorResetReleaseTimerResponse - 37, // 41: node.v1.NodePrivilegedService.PurgePythNetVaas:output_type -> node.v1.PurgePythNetVaasResponse - 39, // 42: node.v1.NodePrivilegedService.SignExistingVAA:output_type -> node.v1.SignExistingVAAResponse - 41, // 43: node.v1.NodePrivilegedService.DumpRPCs:output_type -> node.v1.DumpRPCsResponse - 33, // [33:44] is the sub-list for method output_type - 22, // [22:33] is the sub-list for method input_type - 22, // [22:22] is the sub-list for extension type_name - 22, // [22:22] is the sub-list for extension extendee - 0, // [0:22] is the sub-list for field type_name + 16, // 9: node.v1.GovernanceMessage.gateway_ibc_composability_mw_set_contract:type_name -> node.v1.GatewayIbcComposabilityMwSetContract + 17, // 10: node.v1.GovernanceMessage.gateway_set_tokenfactory_pfm_default_params:type_name -> node.v1.GatewaySetTokenfactoryPfmDefaultParams + 9, // 11: node.v1.GovernanceMessage.accountant_modify_balance:type_name -> node.v1.AccountantModifyBalance + 18, // 12: node.v1.GovernanceMessage.circle_integration_update_wormhole_finality:type_name -> node.v1.CircleIntegrationUpdateWormholeFinality + 19, // 13: node.v1.GovernanceMessage.circle_integration_register_emitter_and_domain:type_name -> node.v1.CircleIntegrationRegisterEmitterAndDomain + 20, // 14: node.v1.GovernanceMessage.circle_integration_upgrade_contract_implementation:type_name -> node.v1.CircleIntegrationUpgradeContractImplementation + 21, // 15: node.v1.GovernanceMessage.ibc_update_channel_chain:type_name -> node.v1.IbcUpdateChannelChain + 22, // 16: node.v1.GovernanceMessage.wormhole_relayer_set_default_delivery_provider:type_name -> node.v1.WormholeRelayerSetDefaultDeliveryProvider + 43, // 17: node.v1.GuardianSetUpdate.guardians:type_name -> node.v1.GuardianSetUpdate.Guardian + 0, // 18: node.v1.AccountantModifyBalance.kind:type_name -> node.v1.ModificationKind + 1, // 19: node.v1.WormchainWasmInstantiateAllowlist.action:type_name -> node.v1.WormchainWasmInstantiateAllowlistAction + 2, // 20: node.v1.IbcUpdateChannelChain.module:type_name -> node.v1.IbcUpdateChannelChainModule + 45, // 21: node.v1.SendObservationRequestRequest.observation_request:type_name -> gossip.v1.ObservationRequest + 44, // 22: node.v1.DumpRPCsResponse.response:type_name -> node.v1.DumpRPCsResponse.ResponseEntry + 3, // 23: node.v1.NodePrivilegedService.InjectGovernanceVAA:input_type -> node.v1.InjectGovernanceVAARequest + 23, // 24: node.v1.NodePrivilegedService.FindMissingMessages:input_type -> node.v1.FindMissingMessagesRequest + 25, // 25: node.v1.NodePrivilegedService.SendObservationRequest:input_type -> node.v1.SendObservationRequestRequest + 27, // 26: node.v1.NodePrivilegedService.ChainGovernorStatus:input_type -> node.v1.ChainGovernorStatusRequest + 29, // 27: node.v1.NodePrivilegedService.ChainGovernorReload:input_type -> node.v1.ChainGovernorReloadRequest + 31, // 28: node.v1.NodePrivilegedService.ChainGovernorDropPendingVAA:input_type -> node.v1.ChainGovernorDropPendingVAARequest + 33, // 29: node.v1.NodePrivilegedService.ChainGovernorReleasePendingVAA:input_type -> node.v1.ChainGovernorReleasePendingVAARequest + 35, // 30: node.v1.NodePrivilegedService.ChainGovernorResetReleaseTimer:input_type -> node.v1.ChainGovernorResetReleaseTimerRequest + 37, // 31: node.v1.NodePrivilegedService.PurgePythNetVaas:input_type -> node.v1.PurgePythNetVaasRequest + 39, // 32: node.v1.NodePrivilegedService.SignExistingVAA:input_type -> node.v1.SignExistingVAARequest + 41, // 33: node.v1.NodePrivilegedService.DumpRPCs:input_type -> node.v1.DumpRPCsRequest + 5, // 34: node.v1.NodePrivilegedService.InjectGovernanceVAA:output_type -> node.v1.InjectGovernanceVAAResponse + 24, // 35: node.v1.NodePrivilegedService.FindMissingMessages:output_type -> node.v1.FindMissingMessagesResponse + 26, // 36: node.v1.NodePrivilegedService.SendObservationRequest:output_type -> node.v1.SendObservationRequestResponse + 28, // 37: node.v1.NodePrivilegedService.ChainGovernorStatus:output_type -> node.v1.ChainGovernorStatusResponse + 30, // 38: node.v1.NodePrivilegedService.ChainGovernorReload:output_type -> node.v1.ChainGovernorReloadResponse + 32, // 39: node.v1.NodePrivilegedService.ChainGovernorDropPendingVAA:output_type -> node.v1.ChainGovernorDropPendingVAAResponse + 34, // 40: node.v1.NodePrivilegedService.ChainGovernorReleasePendingVAA:output_type -> node.v1.ChainGovernorReleasePendingVAAResponse + 36, // 41: node.v1.NodePrivilegedService.ChainGovernorResetReleaseTimer:output_type -> node.v1.ChainGovernorResetReleaseTimerResponse + 38, // 42: node.v1.NodePrivilegedService.PurgePythNetVaas:output_type -> node.v1.PurgePythNetVaasResponse + 40, // 43: node.v1.NodePrivilegedService.SignExistingVAA:output_type -> node.v1.SignExistingVAAResponse + 42, // 44: node.v1.NodePrivilegedService.DumpRPCs:output_type -> node.v1.DumpRPCsResponse + 34, // [34:45] is the sub-list for method output_type + 23, // [23:34] is the sub-list for method input_type + 23, // [23:23] is the sub-list for extension type_name + 23, // [23:23] is the sub-list for extension extendee + 0, // [0:23] is the sub-list for field type_name } func init() { file_node_v1_node_proto_init() } @@ -3386,7 +3452,7 @@ func file_node_v1_node_proto_init() { } } file_node_v1_node_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*WormchainIbcComposabilityMwSetContract); i { + switch v := v.(*GatewayIbcComposabilityMwSetContract); i { case 0: return &v.state case 1: @@ -3398,7 +3464,7 @@ func file_node_v1_node_proto_init() { } } file_node_v1_node_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CircleIntegrationUpdateWormholeFinality); i { + switch v := v.(*GatewaySetTokenfactoryPfmDefaultParams); i { case 0: return &v.state case 1: @@ -3410,7 +3476,7 @@ func file_node_v1_node_proto_init() { } } file_node_v1_node_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CircleIntegrationRegisterEmitterAndDomain); i { + switch v := v.(*CircleIntegrationUpdateWormholeFinality); i { case 0: return &v.state case 1: @@ -3422,7 +3488,7 @@ func file_node_v1_node_proto_init() { } } file_node_v1_node_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CircleIntegrationUpgradeContractImplementation); i { + switch v := v.(*CircleIntegrationRegisterEmitterAndDomain); i { case 0: return &v.state case 1: @@ -3434,7 +3500,7 @@ func file_node_v1_node_proto_init() { } } file_node_v1_node_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*IbcUpdateChannelChain); i { + switch v := v.(*CircleIntegrationUpgradeContractImplementation); i { case 0: return &v.state case 1: @@ -3446,7 +3512,7 @@ func file_node_v1_node_proto_init() { } } file_node_v1_node_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*WormholeRelayerSetDefaultDeliveryProvider); i { + switch v := v.(*IbcUpdateChannelChain); i { case 0: return &v.state case 1: @@ -3458,7 +3524,7 @@ func file_node_v1_node_proto_init() { } } file_node_v1_node_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FindMissingMessagesRequest); i { + switch v := v.(*WormholeRelayerSetDefaultDeliveryProvider); i { case 0: return &v.state case 1: @@ -3470,7 +3536,7 @@ func file_node_v1_node_proto_init() { } } file_node_v1_node_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FindMissingMessagesResponse); i { + switch v := v.(*FindMissingMessagesRequest); i { case 0: return &v.state case 1: @@ -3482,7 +3548,7 @@ func file_node_v1_node_proto_init() { } } file_node_v1_node_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SendObservationRequestRequest); i { + switch v := v.(*FindMissingMessagesResponse); i { case 0: return &v.state case 1: @@ -3494,7 +3560,7 @@ func file_node_v1_node_proto_init() { } } file_node_v1_node_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SendObservationRequestResponse); i { + switch v := v.(*SendObservationRequestRequest); i { case 0: return &v.state case 1: @@ -3506,7 +3572,7 @@ func file_node_v1_node_proto_init() { } } file_node_v1_node_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ChainGovernorStatusRequest); i { + switch v := v.(*SendObservationRequestResponse); i { case 0: return &v.state case 1: @@ -3518,7 +3584,7 @@ func file_node_v1_node_proto_init() { } } file_node_v1_node_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ChainGovernorStatusResponse); i { + switch v := v.(*ChainGovernorStatusRequest); i { case 0: return &v.state case 1: @@ -3530,7 +3596,7 @@ func file_node_v1_node_proto_init() { } } file_node_v1_node_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ChainGovernorReloadRequest); i { + switch v := v.(*ChainGovernorStatusResponse); i { case 0: return &v.state case 1: @@ -3542,7 +3608,7 @@ func file_node_v1_node_proto_init() { } } file_node_v1_node_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ChainGovernorReloadResponse); i { + switch v := v.(*ChainGovernorReloadRequest); i { case 0: return &v.state case 1: @@ -3554,7 +3620,7 @@ func file_node_v1_node_proto_init() { } } file_node_v1_node_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ChainGovernorDropPendingVAARequest); i { + switch v := v.(*ChainGovernorReloadResponse); i { case 0: return &v.state case 1: @@ -3566,7 +3632,7 @@ func file_node_v1_node_proto_init() { } } file_node_v1_node_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ChainGovernorDropPendingVAAResponse); i { + switch v := v.(*ChainGovernorDropPendingVAARequest); i { case 0: return &v.state case 1: @@ -3578,7 +3644,7 @@ func file_node_v1_node_proto_init() { } } file_node_v1_node_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ChainGovernorReleasePendingVAARequest); i { + switch v := v.(*ChainGovernorDropPendingVAAResponse); i { case 0: return &v.state case 1: @@ -3590,7 +3656,7 @@ func file_node_v1_node_proto_init() { } } file_node_v1_node_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ChainGovernorReleasePendingVAAResponse); i { + switch v := v.(*ChainGovernorReleasePendingVAARequest); i { case 0: return &v.state case 1: @@ -3602,7 +3668,7 @@ func file_node_v1_node_proto_init() { } } file_node_v1_node_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ChainGovernorResetReleaseTimerRequest); i { + switch v := v.(*ChainGovernorReleasePendingVAAResponse); i { case 0: return &v.state case 1: @@ -3614,7 +3680,7 @@ func file_node_v1_node_proto_init() { } } file_node_v1_node_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ChainGovernorResetReleaseTimerResponse); i { + switch v := v.(*ChainGovernorResetReleaseTimerRequest); i { case 0: return &v.state case 1: @@ -3626,7 +3692,7 @@ func file_node_v1_node_proto_init() { } } file_node_v1_node_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PurgePythNetVaasRequest); i { + switch v := v.(*ChainGovernorResetReleaseTimerResponse); i { case 0: return &v.state case 1: @@ -3638,7 +3704,7 @@ func file_node_v1_node_proto_init() { } } file_node_v1_node_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PurgePythNetVaasResponse); i { + switch v := v.(*PurgePythNetVaasRequest); i { case 0: return &v.state case 1: @@ -3650,7 +3716,7 @@ func file_node_v1_node_proto_init() { } } file_node_v1_node_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SignExistingVAARequest); i { + switch v := v.(*PurgePythNetVaasResponse); i { case 0: return &v.state case 1: @@ -3662,7 +3728,7 @@ func file_node_v1_node_proto_init() { } } file_node_v1_node_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SignExistingVAAResponse); i { + switch v := v.(*SignExistingVAARequest); i { case 0: return &v.state case 1: @@ -3674,7 +3740,7 @@ func file_node_v1_node_proto_init() { } } file_node_v1_node_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DumpRPCsRequest); i { + switch v := v.(*SignExistingVAAResponse); i { case 0: return &v.state case 1: @@ -3686,7 +3752,7 @@ func file_node_v1_node_proto_init() { } } file_node_v1_node_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DumpRPCsResponse); i { + switch v := v.(*DumpRPCsRequest); i { case 0: return &v.state case 1: @@ -3698,6 +3764,18 @@ func file_node_v1_node_proto_init() { } } file_node_v1_node_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DumpRPCsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_v1_node_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GuardianSetUpdate_Guardian); i { case 0: return &v.state @@ -3719,7 +3797,8 @@ func file_node_v1_node_proto_init() { (*GovernanceMessage_WormchainInstantiateContract)(nil), (*GovernanceMessage_WormchainMigrateContract)(nil), (*GovernanceMessage_WormchainWasmInstantiateAllowlist)(nil), - (*GovernanceMessage_WormchainIbcComposabilityMwSetContract)(nil), + (*GovernanceMessage_GatewayIbcComposabilityMwSetContract)(nil), + (*GovernanceMessage_GatewaySetTokenfactoryPfmDefaultParams)(nil), (*GovernanceMessage_AccountantModifyBalance)(nil), (*GovernanceMessage_CircleIntegrationUpdateWormholeFinality)(nil), (*GovernanceMessage_CircleIntegrationRegisterEmitterAndDomain)(nil), @@ -3733,7 +3812,7 @@ func file_node_v1_node_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_node_v1_node_proto_rawDesc, NumEnums: 3, - NumMessages: 41, + NumMessages: 42, NumExtensions: 0, NumServices: 1, }, diff --git a/proto/node/v1/node.proto b/proto/node/v1/node.proto index 0a17990a9d..d59d778c36 100644 --- a/proto/node/v1/node.proto +++ b/proto/node/v1/node.proto @@ -93,7 +93,10 @@ message GovernanceMessage { WormchainInstantiateContract wormchain_instantiate_contract = 15; WormchainMigrateContract wormchain_migrate_contract = 16; WormchainWasmInstantiateAllowlist wormchain_wasm_instantiate_allowlist = 23; - WormchainIbcComposabilityMwSetContract wormchain_ibc_composability_mw_set_contract = 24; + + // Gateway + GatewayIbcComposabilityMwSetContract gateway_ibc_composability_mw_set_contract = 24; + GatewaySetTokenfactoryPfmDefaultParams gateway_set_tokenfactory_pfm_default_params = 25; // Global Accountant AccountantModifyBalance accountant_modify_balance = 17; @@ -243,11 +246,13 @@ message WormchainWasmInstantiateAllowlist { WormchainWasmInstantiateAllowlistAction action = 3; } -message WormchainIbcComposabilityMwSetContract { +message GatewayIbcComposabilityMwSetContract { // The address of the contract that is set in the ibc composability middleware. string contract = 1; } +message GatewaySetTokenfactoryPfmDefaultParams {} + message CircleIntegrationUpdateWormholeFinality { uint32 finality = 1; uint32 target_chain_id = 2; diff --git a/sdk/vaa/payloads.go b/sdk/vaa/payloads.go index ddca23d574..600f9adddd 100644 --- a/sdk/vaa/payloads.go +++ b/sdk/vaa/payloads.go @@ -74,7 +74,8 @@ var ( ActionDeleteWasmInstantiateAllowlist GovernanceAction = 5 // Gateway governance actions - ActionSetIbcComposabilityMwContract GovernanceAction = 1 + ActionSetIbcComposabilityMwContract GovernanceAction = 1 + ActionSetTokenfactoryPfmDefaultParams GovernanceAction = 2 // Accountant goverance actions ActionModifyBalance GovernanceAction = 1 @@ -160,8 +161,8 @@ type ( CodeId uint64 } - // BodyWormchainIbcComposabilityMwContract is a governance message to set a specific contract (i.e. IBC Translator) for the ibc composability middleware to use - BodyWormchainIbcComposabilityMwContract struct { + // BodyGatewayIbcComposabilityMwContract is a governance message to set a specific contract (i.e. IBC Translator) for the ibc composability middleware to use + BodyGatewayIbcComposabilityMwContract struct { ContractAddr [32]byte } @@ -305,13 +306,13 @@ func (r *BodyWormchainWasmAllowlistInstantiate) Deserialize(bz []byte) { r.CodeId = codeId } -func (r BodyWormchainIbcComposabilityMwContract) Serialize() []byte { +func (r BodyGatewayIbcComposabilityMwContract) Serialize() []byte { payload := &bytes.Buffer{} payload.Write(r.ContractAddr[:]) return serializeBridgeGovernanceVaa(GatewayModuleStr, ActionSetIbcComposabilityMwContract, ChainIDWormchain, payload.Bytes()) } -func (r *BodyWormchainIbcComposabilityMwContract) Deserialize(bz []byte) { +func (r *BodyGatewayIbcComposabilityMwContract) Deserialize(bz []byte) { if len(bz) != 32 { panic("incorrect payload length") } @@ -357,6 +358,10 @@ func (r BodyWormholeRelayerSetDefaultDeliveryProvider) Serialize() []byte { return serializeBridgeGovernanceVaa(WormholeRelayerModuleStr, WormholeRelayerSetDefaultDeliveryProvider, r.ChainID, payload.Bytes()) } +func EmptyPayloadVaa(module string, actionId GovernanceAction, chainId ChainID) []byte { + return serializeBridgeGovernanceVaa(module, actionId, chainId, []byte{}) +} + func serializeBridgeGovernanceVaa(module string, actionId GovernanceAction, chainId ChainID, payload []byte) []byte { buf := LeftPadBytes(module, 32) // Write action ID diff --git a/sdk/vaa/payloads_test.go b/sdk/vaa/payloads_test.go index 187680c7bd..0f124a8ab2 100644 --- a/sdk/vaa/payloads_test.go +++ b/sdk/vaa/payloads_test.go @@ -210,19 +210,19 @@ func TestBodyWormholeRelayerSetDefaultDeliveryProviderSerialize(t *testing.T) { assert.Equal(t, expected, hex.EncodeToString(bodyWormholeRelayerSetDefaultDeliveryProvider.Serialize())) } -func TestBodyWormchainIbcComposabilityMwContractSerialize(t *testing.T) { +func TestBodyGatewayIbcComposabilityMwContractSerialize(t *testing.T) { expected := "00000000000000000000000000000000000000476174657761794d6f64756c65010c200102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20" - bodyWormchainIbcComposabilityMwContract := BodyWormchainIbcComposabilityMwContract{ + bodyGatewayIbcComposabilityMwContract := BodyGatewayIbcComposabilityMwContract{ ContractAddr: dummyBytes, } - assert.Equal(t, expected, hex.EncodeToString(bodyWormchainIbcComposabilityMwContract.Serialize())) + assert.Equal(t, expected, hex.EncodeToString(bodyGatewayIbcComposabilityMwContract.Serialize())) } -func TestBodyWormchainIbcComposabilityMwContractDeserialize(t *testing.T) { - expected := BodyWormchainIbcComposabilityMwContract{ +func TestBodyGatewayIbcComposabilityMwContractDeserialize(t *testing.T) { + expected := BodyGatewayIbcComposabilityMwContract{ ContractAddr: dummyBytes, } - var payloadBody BodyWormchainIbcComposabilityMwContract + var payloadBody BodyGatewayIbcComposabilityMwContract payloadBody.Deserialize(dummyBytes[:]) assert.Equal(t, expected, payloadBody) } diff --git a/wormchain/app/app.go b/wormchain/app/app.go index 764b9e9cd2..b5d42cc3a1 100644 --- a/wormchain/app/app.go +++ b/wormchain/app/app.go @@ -402,6 +402,7 @@ func New( ) app.WireICS20PreWasmKeeper(&app.WormholeKeeper) + app.WormholeKeeper.SetPfmKeeper(*app.PacketForwardKeeper) // register the proposal types govRouter := govtypes.NewRouter() @@ -433,6 +434,7 @@ func New( app.DistrKeeper, tokenFactoryCapabilities, ) + app.WormholeKeeper.SetTokenfactoryKeeper(app.TokenFactoryKeeper) // The last arguments can contain custom message handlers, and custom query handlers, // if we want to allow any custom callbacks diff --git a/wormchain/proto/wormhole/tx.proto b/wormchain/proto/wormhole/tx.proto index 69ddbb2c2e..ffaa0213f2 100644 --- a/wormchain/proto/wormhole/tx.proto +++ b/wormchain/proto/wormhole/tx.proto @@ -23,13 +23,15 @@ service Msg { rpc AddWasmInstantiateAllowlist(MsgAddWasmInstantiateAllowlist) returns (MsgWasmInstantiateAllowlistResponse); rpc DeleteWasmInstantiateAllowlist(MsgDeleteWasmInstantiateAllowlist) returns (MsgWasmInstantiateAllowlistResponse); - rpc SetIbcComposabilityMwContract(MsgSetIbcComposabilityMwContract) returns (MsgSetIbcComposabilityMwContractResponse); - rpc MigrateContract(MsgMigrateContract) returns (MsgMigrateContractResponse); + + rpc ExecuteGatewayGovernanceVaa(MsgExecuteGatewayGovernanceVaa) returns (EmptyResponse); // this line is used by starport scaffolding # proto/tx/rpc } +message EmptyResponse {} + message MsgCreateAllowlistEntryRequest { // signer should be a guardian validator in a current set or future set. string signer = 1; @@ -124,18 +126,7 @@ message MsgDeleteWasmInstantiateAllowlist { bytes vaa = 4; } -message MsgWasmInstantiateAllowlistResponse {} - -message MsgSetIbcComposabilityMwContract { - // signer should be a guardian validator in a current set or future set. - string signer = 1; - // the contract address to set - string address = 2; - // vaa is the SetIbcComposabilityMwContract governance message - bytes vaa = 3; -} - -message MsgSetIbcComposabilityMwContractResponse {} +message MsgWasmInstantiateAllowlistResponse {} // MsgMigrateContract runs a code upgrade/ downgrade for a smart contract message MsgMigrateContract { @@ -159,3 +150,10 @@ message MsgMigrateContractResponse { bytes data = 1; } // this line is used by starport scaffolding # proto/tx/message + +message MsgExecuteGatewayGovernanceVaa { + // Sender is the actor that signs the messages + string signer = 1; + // vaa must be governance msg with valid module, action, and payload + bytes vaa = 2; +} \ No newline at end of file diff --git a/wormchain/x/wormhole/client/cli/tx.go b/wormchain/x/wormhole/client/cli/tx.go index 8125b3622b..719e18b8d5 100644 --- a/wormchain/x/wormhole/client/cli/tx.go +++ b/wormchain/x/wormhole/client/cli/tx.go @@ -29,7 +29,7 @@ func GetTxCmd() *cobra.Command { cmd.AddCommand(CmdDeleteAllowedAddress()) cmd.AddCommand(CmdAddWasmInstantiateAllowlist()) cmd.AddCommand(CmdDeleteWasmInstantiateAllowlist()) - cmd.AddCommand(CmdSetIbcComposabilityMwContract()) + cmd.AddCommand(CmdExecuteGatewayGovernanceVaa()) // this line is used by starport scaffolding # 1 return cmd diff --git a/wormchain/x/wormhole/client/cli/tx_set_ibc_composability_mw_contract.go b/wormchain/x/wormhole/client/cli/tx_execute_gateway_governance_vaa.go similarity index 55% rename from wormchain/x/wormhole/client/cli/tx_set_ibc_composability_mw_contract.go rename to wormchain/x/wormhole/client/cli/tx_execute_gateway_governance_vaa.go index d30e1d7adf..e3b971a376 100644 --- a/wormchain/x/wormhole/client/cli/tx_set_ibc_composability_mw_contract.go +++ b/wormchain/x/wormhole/client/cli/tx_execute_gateway_governance_vaa.go @@ -13,28 +13,26 @@ import ( var _ = strconv.Itoa(0) -// CmdSetIbcComposabilityMwContract will set the contract that ibc composability middleware will use. -func CmdSetIbcComposabilityMwContract() *cobra.Command { +// CmdExecuteGatewayGovernanceVaa will submit and execute a governance VAA for wormhole Gateway. +func CmdExecuteGatewayGovernanceVaa() *cobra.Command { cmd := &cobra.Command{ - Use: "set-ibc-composability-mw-contract [bech32 contract addr] [vaa-hex]", - Short: "Sets the contract that ibc composability middleware will use", - Args: cobra.ExactArgs(2), + Use: "execute-gateway-governance-vaa [vaa-hex]", + Short: "Execute the provided Wormhole Gateway governance VAA", + Args: cobra.ExactArgs(1), RunE: func(cmd *cobra.Command, args []string) error { clientCtx, err := client.GetClientTxContext(cmd) if err != nil { return err } - address := args[0] - vaaBz, err := hex.DecodeString(args[1]) + vaaBz, err := hex.DecodeString(args[0]) if err != nil { return err } - msg := types.MsgSetIbcComposabilityMwContract{ - Signer: clientCtx.GetFromAddress().String(), - Address: address, - Vaa: vaaBz, + msg := types.MsgExecuteGatewayGovernanceVaa{ + Signer: clientCtx.GetFromAddress().String(), + Vaa: vaaBz, } if err = msg.ValidateBasic(); err != nil { diff --git a/wormchain/x/wormhole/handler.go b/wormchain/x/wormhole/handler.go index 6358fd2dd1..64d870c1cc 100644 --- a/wormchain/x/wormhole/handler.go +++ b/wormchain/x/wormhole/handler.go @@ -44,8 +44,8 @@ func NewHandler(k keeper.Keeper) sdk.Handler { case *types.MsgDeleteAllowlistEntryRequest: res, err := msgServer.DeleteAllowlistEntry(sdk.WrapSDKContext(ctx), msg) return sdk.WrapServiceResult(ctx, res, err) - case *types.MsgSetIbcComposabilityMwContract: - res, err := msgServer.SetIbcComposabilityMwContract(sdk.WrapSDKContext(ctx), msg) + case *types.MsgExecuteGatewayGovernanceVaa: + res, err := msgServer.ExecuteGatewayGovernanceVaa(sdk.WrapSDKContext(ctx), msg) return sdk.WrapServiceResult(ctx, res, err) // this line is used by starport scaffolding # 1 default: diff --git a/wormchain/x/wormhole/keeper/keeper.go b/wormchain/x/wormhole/keeper/keeper.go index 24a14b8ff5..2e6685fc27 100644 --- a/wormchain/x/wormhole/keeper/keeper.go +++ b/wormchain/x/wormhole/keeper/keeper.go @@ -7,6 +7,8 @@ import ( "github.com/cosmos/cosmos-sdk/codec" sdk "github.com/cosmos/cosmos-sdk/types" + pfmkeeper "github.com/strangelove-ventures/packet-forward-middleware/v4/router/keeper" + tokenfactorykeeper "github.com/wormhole-foundation/wormchain/x/tokenfactory/keeper" "github.com/wormhole-foundation/wormchain/x/wormhole/types" ) @@ -16,10 +18,15 @@ type ( storeKey sdk.StoreKey memKey sdk.StoreKey - accountKeeper types.AccountKeeper - bankKeeper types.BankKeeper - wasmdKeeper types.WasmdKeeper - setWasmd bool + accountKeeper types.AccountKeeper + bankKeeper types.BankKeeper + wasmdKeeper types.WasmdKeeper + tokenfactoryKeeper tokenfactorykeeper.Keeper + pfmKeeper pfmkeeper.Keeper + + setWasmd bool + setTokenfactory bool + setPfm bool } ) @@ -50,6 +57,18 @@ func (k *Keeper) SetWasmdKeeper(keeper types.WasmdKeeper) { k.setWasmd = true } +// Necessary because x/staking relies on x/wormhole and x/tokenfactory relies on x/staking (transitively) +func (k *Keeper) SetTokenfactoryKeeper(keeper tokenfactorykeeper.Keeper) { + k.tokenfactoryKeeper = keeper + k.setTokenfactory = true +} + +// Necesesary because x/staking relies on x/wormhole and PFM relies on x/staking (transitively) +func (k *Keeper) SetPfmKeeper(keeper pfmkeeper.Keeper) { + k.pfmKeeper = keeper + k.setPfm = true +} + func (k Keeper) Logger(ctx sdk.Context) log.Logger { return ctx.Logger().With("module", fmt.Sprintf("x/%s", types.ModuleName)) } diff --git a/wormchain/x/wormhole/keeper/msg_server_execute_gateway_governance_vaa.go b/wormchain/x/wormhole/keeper/msg_server_execute_gateway_governance_vaa.go new file mode 100644 index 0000000000..f4891756b8 --- /dev/null +++ b/wormchain/x/wormhole/keeper/msg_server_execute_gateway_governance_vaa.go @@ -0,0 +1,86 @@ +package keeper + +import ( + "context" + + sdk "github.com/cosmos/cosmos-sdk/types" + sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + pfmtypes "github.com/strangelove-ventures/packet-forward-middleware/v4/router/types" + tokenfactorytypes "github.com/wormhole-foundation/wormchain/x/tokenfactory/types" + "github.com/wormhole-foundation/wormchain/x/wormhole/types" + "github.com/wormhole-foundation/wormhole/sdk/vaa" +) + +func (k msgServer) ExecuteGatewayGovernanceVaa( + goCtx context.Context, + msg *types.MsgExecuteGatewayGovernanceVaa, +) (*types.EmptyResponse, error) { + ctx := sdk.UnwrapSDKContext(goCtx) + + // Validate signer + _, err := sdk.AccAddressFromBech32(msg.Signer) + if err != nil { + return nil, sdkerrors.Wrap(err, "signer") + } + ctx.EventManager().EmitEvent(sdk.NewEvent( + sdk.EventTypeMessage, + sdk.NewAttribute(sdk.AttributeKeyModule, types.ModuleName), + sdk.NewAttribute(sdk.AttributeKeySender, msg.Signer), + )) + + // Parse VAA + v, err := ParseVAA(msg.Vaa) + if err != nil { + return nil, err + } + + // Verify VAA + action, payload, err := k.VerifyGovernanceVAA(ctx, v, vaa.GatewayModule) + if err != nil { + return nil, err + } + + // Execute action + switch vaa.GovernanceAction(action) { + case vaa.ActionSetIbcComposabilityMwContract: + return k.setIbcComposabilityMwContract(ctx, payload) + case vaa.ActionSetTokenfactoryPfmDefaultParams: + return k.setTokenfactoryPfmDefaultParams(ctx) + default: + return nil, types.ErrUnknownGovernanceAction + } +} + +func (k msgServer) setIbcComposabilityMwContract( + ctx sdk.Context, + payload []byte, +) (*types.EmptyResponse, error) { + // validate the contractAddress in the VAA payload match the ones in the message + var payloadBody vaa.BodyGatewayIbcComposabilityMwContract + payloadBody.Deserialize(payload) + + // convert bytes to bech32 address + contractAddr, err := sdk.Bech32ifyAddressBytes( + sdk.GetConfig().GetBech32AccountAddrPrefix(), + payloadBody.ContractAddr[:], + ) + if err != nil { + return nil, types.ErrInvalidIbcComposabilityMwContractAddr + } + + newContract := types.IbcComposabilityMwContract{ + ContractAddress: contractAddr, + } + + k.StoreIbcComposabilityMwContract(ctx, newContract) + + return &types.EmptyResponse{}, nil +} + +func (k msgServer) setTokenfactoryPfmDefaultParams(ctx sdk.Context) (*types.EmptyResponse, error) { + // Set the default params for both tokenfactory and PFM + k.tokenfactoryKeeper.SetParams(ctx, tokenfactorytypes.DefaultParams()) + k.pfmKeeper.SetParams(ctx, pfmtypes.DefaultParams()) + + return &types.EmptyResponse{}, nil +} diff --git a/wormchain/x/wormhole/keeper/msg_server_ibc_composability_mw.go b/wormchain/x/wormhole/keeper/msg_server_ibc_composability_mw.go deleted file mode 100644 index 2802cb54b2..0000000000 --- a/wormchain/x/wormhole/keeper/msg_server_ibc_composability_mw.go +++ /dev/null @@ -1,64 +0,0 @@ -package keeper - -import ( - "bytes" - "context" - - sdk "github.com/cosmos/cosmos-sdk/types" - sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" - "github.com/wormhole-foundation/wormchain/x/wormhole/types" - "github.com/wormhole-foundation/wormhole/sdk/vaa" -) - -func (k msgServer) SetIbcComposabilityMwContract(goCtx context.Context, msg *types.MsgSetIbcComposabilityMwContract) (*types.MsgSetIbcComposabilityMwContractResponse, error) { - ctx := sdk.UnwrapSDKContext(goCtx) - - // Parse VAA - v, err := ParseVAA(msg.Vaa) - if err != nil { - return nil, err - } - - // Verify VAA - action, payload, err := k.VerifyGovernanceVAA(ctx, v, vaa.GatewayModule) - if err != nil { - return nil, err - } - - // Ensure the governance action is correct - if vaa.GovernanceAction(action) != vaa.ActionSetIbcComposabilityMwContract { - return nil, types.ErrUnknownGovernanceAction - } - - // Validate signer - _, err = sdk.AccAddressFromBech32(msg.Signer) - if err != nil { - return nil, sdkerrors.Wrap(err, "signer") - } - ctx.EventManager().EmitEvent(sdk.NewEvent( - sdk.EventTypeMessage, - sdk.NewAttribute(sdk.AttributeKeyModule, types.ModuleName), - sdk.NewAttribute(sdk.AttributeKeySender, msg.Signer), - )) - - // verify the cosmos address is correct - addrBytes, err := sdk.AccAddressFromBech32(msg.Address) - if err != nil { - return nil, sdkerrors.Wrap(err, "ibc composability mw contract") - } - - // validate the contractAddress in the VAA payload match the ones in the message - var payloadBody vaa.BodyWormchainIbcComposabilityMwContract - payloadBody.Deserialize(payload) - if !bytes.Equal(payloadBody.ContractAddr[:], addrBytes) { - return nil, types.ErrInvalidIbcComposabilityMwContractAddr - } - - newContract := types.IbcComposabilityMwContract{ - ContractAddress: msg.Address, - } - - k.StoreIbcComposabilityMwContract(ctx, newContract) - - return &types.MsgSetIbcComposabilityMwContractResponse{}, nil -} diff --git a/wormchain/x/wormhole/types/codec.go b/wormchain/x/wormhole/types/codec.go index 30e556a493..c245d4e081 100644 --- a/wormchain/x/wormhole/types/codec.go +++ b/wormchain/x/wormhole/types/codec.go @@ -18,6 +18,7 @@ func RegisterCodec(cdc *codec.LegacyAmino) { cdc.RegisterConcrete(&MsgDeleteAllowlistEntryRequest{}, "wormhole/DeleteAllowlistEntryRequest", nil) cdc.RegisterConcrete(&MsgAddWasmInstantiateAllowlist{}, "wormhole/AddWasmInstantiateAllowlist", nil) cdc.RegisterConcrete(&MsgDeleteWasmInstantiateAllowlist{}, "wormhole/DeleteWasmInstantiateAllowlist", nil) + cdc.RegisterConcrete(&MsgExecuteGatewayGovernanceVaa{}, "wormhole/ExecuteGatewayGovernanceVaa", nil) // this line is used by starport scaffolding # 2 } @@ -29,6 +30,7 @@ func RegisterInterfaces(registry cdctypes.InterfaceRegistry) { &MsgMigrateContract{}, &MsgCreateAllowlistEntryRequest{}, &MsgDeleteAllowlistEntryRequest{}, + &MsgExecuteGatewayGovernanceVaa{}, ) registry.RegisterImplementations((*gov.Content)(nil), &GovernanceWormholeMessageProposal{}, diff --git a/wormchain/x/wormhole/types/message_execute_gateway_governance_vaa.go b/wormchain/x/wormhole/types/message_execute_gateway_governance_vaa.go new file mode 100644 index 0000000000..4ebfd0b2ff --- /dev/null +++ b/wormchain/x/wormhole/types/message_execute_gateway_governance_vaa.go @@ -0,0 +1,38 @@ +package types + +import ( + sdk "github.com/cosmos/cosmos-sdk/types" + sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" +) + +var _ sdk.Msg = &MsgExecuteGatewayGovernanceVaa{} + +func (msg *MsgExecuteGatewayGovernanceVaa) Route() string { + return RouterKey +} + +func (msg *MsgExecuteGatewayGovernanceVaa) Type() string { + return "MsgExecuteGatewayGovernanceVaa" +} + +func (msg *MsgExecuteGatewayGovernanceVaa) GetSigners() []sdk.AccAddress { + signer, err := sdk.AccAddressFromBech32(msg.Signer) + if err != nil { + panic(err) + } + return []sdk.AccAddress{signer} +} + +func (msg *MsgExecuteGatewayGovernanceVaa) GetSignBytes() []byte { + bz := ModuleCdc.MustMarshalJSON(msg) + return sdk.MustSortJSON(bz) +} + +func (msg *MsgExecuteGatewayGovernanceVaa) ValidateBasic() error { + _, err := sdk.AccAddressFromBech32(msg.Signer) + if err != nil { + return sdkerrors.Wrapf(sdkerrors.ErrInvalidAddress, "invalid signer address (%s)", err) + } + + return nil +} diff --git a/wormchain/x/wormhole/types/message_ibc_composability_mw.go b/wormchain/x/wormhole/types/message_ibc_composability_mw.go deleted file mode 100644 index 2de33bb9b1..0000000000 --- a/wormchain/x/wormhole/types/message_ibc_composability_mw.go +++ /dev/null @@ -1,43 +0,0 @@ -package types - -import ( - sdk "github.com/cosmos/cosmos-sdk/types" - sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" -) - -var _ sdk.Msg = &MsgSetIbcComposabilityMwContract{} - -func (msg *MsgSetIbcComposabilityMwContract) Route() string { - return RouterKey -} - -func (msg *MsgSetIbcComposabilityMwContract) Type() string { - return "MsgSetIbcComposabilityMwContract" -} - -func (msg *MsgSetIbcComposabilityMwContract) GetSigners() []sdk.AccAddress { - signer, err := sdk.AccAddressFromBech32(msg.Signer) - if err != nil { - panic(err) - } - return []sdk.AccAddress{signer} -} - -func (msg *MsgSetIbcComposabilityMwContract) GetSignBytes() []byte { - bz := ModuleCdc.MustMarshalJSON(msg) - return sdk.MustSortJSON(bz) -} - -func (msg *MsgSetIbcComposabilityMwContract) ValidateBasic() error { - _, err := sdk.AccAddressFromBech32(msg.Signer) - if err != nil { - return sdkerrors.Wrapf(sdkerrors.ErrInvalidAddress, "invalid signer address (%s)", err) - } - - _, err = sdk.AccAddressFromBech32(msg.Address) - if err != nil { - return sdkerrors.Wrapf(sdkerrors.ErrInvalidAddress, "invalid contract address (%s)", err) - } - - return nil -} diff --git a/wormchain/x/wormhole/types/tx.pb.go b/wormchain/x/wormhole/types/tx.pb.go index c4e48693dc..692ae7bfa3 100644 --- a/wormchain/x/wormhole/types/tx.pb.go +++ b/wormchain/x/wormhole/types/tx.pb.go @@ -28,6 +28,42 @@ var _ = math.Inf // proto package needs to be updated. const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package +type EmptyResponse struct { +} + +func (m *EmptyResponse) Reset() { *m = EmptyResponse{} } +func (m *EmptyResponse) String() string { return proto.CompactTextString(m) } +func (*EmptyResponse) ProtoMessage() {} +func (*EmptyResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_55f7aa067b0c517b, []int{0} +} +func (m *EmptyResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *EmptyResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_EmptyResponse.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *EmptyResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_EmptyResponse.Merge(m, src) +} +func (m *EmptyResponse) XXX_Size() int { + return m.Size() +} +func (m *EmptyResponse) XXX_DiscardUnknown() { + xxx_messageInfo_EmptyResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_EmptyResponse proto.InternalMessageInfo + type MsgCreateAllowlistEntryRequest struct { // signer should be a guardian validator in a current set or future set. Signer string `protobuf:"bytes,1,opt,name=signer,proto3" json:"signer,omitempty"` @@ -41,7 +77,7 @@ func (m *MsgCreateAllowlistEntryRequest) Reset() { *m = MsgCreateAllowli func (m *MsgCreateAllowlistEntryRequest) String() string { return proto.CompactTextString(m) } func (*MsgCreateAllowlistEntryRequest) ProtoMessage() {} func (*MsgCreateAllowlistEntryRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_55f7aa067b0c517b, []int{0} + return fileDescriptor_55f7aa067b0c517b, []int{1} } func (m *MsgCreateAllowlistEntryRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -102,7 +138,7 @@ func (m *MsgDeleteAllowlistEntryRequest) Reset() { *m = MsgDeleteAllowli func (m *MsgDeleteAllowlistEntryRequest) String() string { return proto.CompactTextString(m) } func (*MsgDeleteAllowlistEntryRequest) ProtoMessage() {} func (*MsgDeleteAllowlistEntryRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_55f7aa067b0c517b, []int{1} + return fileDescriptor_55f7aa067b0c517b, []int{2} } func (m *MsgDeleteAllowlistEntryRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -152,7 +188,7 @@ func (m *MsgAllowlistResponse) Reset() { *m = MsgAllowlistResponse{} } func (m *MsgAllowlistResponse) String() string { return proto.CompactTextString(m) } func (*MsgAllowlistResponse) ProtoMessage() {} func (*MsgAllowlistResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_55f7aa067b0c517b, []int{2} + return fileDescriptor_55f7aa067b0c517b, []int{3} } func (m *MsgAllowlistResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -190,7 +226,7 @@ func (m *MsgExecuteGovernanceVAA) Reset() { *m = MsgExecuteGovernanceVAA func (m *MsgExecuteGovernanceVAA) String() string { return proto.CompactTextString(m) } func (*MsgExecuteGovernanceVAA) ProtoMessage() {} func (*MsgExecuteGovernanceVAA) Descriptor() ([]byte, []int) { - return fileDescriptor_55f7aa067b0c517b, []int{3} + return fileDescriptor_55f7aa067b0c517b, []int{4} } func (m *MsgExecuteGovernanceVAA) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -240,7 +276,7 @@ func (m *MsgExecuteGovernanceVAAResponse) Reset() { *m = MsgExecuteGover func (m *MsgExecuteGovernanceVAAResponse) String() string { return proto.CompactTextString(m) } func (*MsgExecuteGovernanceVAAResponse) ProtoMessage() {} func (*MsgExecuteGovernanceVAAResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_55f7aa067b0c517b, []int{4} + return fileDescriptor_55f7aa067b0c517b, []int{5} } func (m *MsgExecuteGovernanceVAAResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -278,7 +314,7 @@ func (m *MsgRegisterAccountAsGuardian) Reset() { *m = MsgRegisterAccount func (m *MsgRegisterAccountAsGuardian) String() string { return proto.CompactTextString(m) } func (*MsgRegisterAccountAsGuardian) ProtoMessage() {} func (*MsgRegisterAccountAsGuardian) Descriptor() ([]byte, []int) { - return fileDescriptor_55f7aa067b0c517b, []int{5} + return fileDescriptor_55f7aa067b0c517b, []int{6} } func (m *MsgRegisterAccountAsGuardian) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -328,7 +364,7 @@ func (m *MsgRegisterAccountAsGuardianResponse) Reset() { *m = MsgRegiste func (m *MsgRegisterAccountAsGuardianResponse) String() string { return proto.CompactTextString(m) } func (*MsgRegisterAccountAsGuardianResponse) ProtoMessage() {} func (*MsgRegisterAccountAsGuardianResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_55f7aa067b0c517b, []int{6} + return fileDescriptor_55f7aa067b0c517b, []int{7} } func (m *MsgRegisterAccountAsGuardianResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -371,7 +407,7 @@ func (m *MsgStoreCode) Reset() { *m = MsgStoreCode{} } func (m *MsgStoreCode) String() string { return proto.CompactTextString(m) } func (*MsgStoreCode) ProtoMessage() {} func (*MsgStoreCode) Descriptor() ([]byte, []int) { - return fileDescriptor_55f7aa067b0c517b, []int{7} + return fileDescriptor_55f7aa067b0c517b, []int{8} } func (m *MsgStoreCode) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -432,7 +468,7 @@ func (m *MsgStoreCodeResponse) Reset() { *m = MsgStoreCodeResponse{} } func (m *MsgStoreCodeResponse) String() string { return proto.CompactTextString(m) } func (*MsgStoreCodeResponse) ProtoMessage() {} func (*MsgStoreCodeResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_55f7aa067b0c517b, []int{8} + return fileDescriptor_55f7aa067b0c517b, []int{9} } func (m *MsgStoreCodeResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -493,7 +529,7 @@ func (m *MsgInstantiateContract) Reset() { *m = MsgInstantiateContract{} func (m *MsgInstantiateContract) String() string { return proto.CompactTextString(m) } func (*MsgInstantiateContract) ProtoMessage() {} func (*MsgInstantiateContract) Descriptor() ([]byte, []int) { - return fileDescriptor_55f7aa067b0c517b, []int{9} + return fileDescriptor_55f7aa067b0c517b, []int{10} } func (m *MsgInstantiateContract) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -568,7 +604,7 @@ func (m *MsgInstantiateContractResponse) Reset() { *m = MsgInstantiateCo func (m *MsgInstantiateContractResponse) String() string { return proto.CompactTextString(m) } func (*MsgInstantiateContractResponse) ProtoMessage() {} func (*MsgInstantiateContractResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_55f7aa067b0c517b, []int{10} + return fileDescriptor_55f7aa067b0c517b, []int{11} } func (m *MsgInstantiateContractResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -626,7 +662,7 @@ func (m *MsgAddWasmInstantiateAllowlist) Reset() { *m = MsgAddWasmInstan func (m *MsgAddWasmInstantiateAllowlist) String() string { return proto.CompactTextString(m) } func (*MsgAddWasmInstantiateAllowlist) ProtoMessage() {} func (*MsgAddWasmInstantiateAllowlist) Descriptor() ([]byte, []int) { - return fileDescriptor_55f7aa067b0c517b, []int{11} + return fileDescriptor_55f7aa067b0c517b, []int{12} } func (m *MsgAddWasmInstantiateAllowlist) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -697,7 +733,7 @@ func (m *MsgDeleteWasmInstantiateAllowlist) Reset() { *m = MsgDeleteWasm func (m *MsgDeleteWasmInstantiateAllowlist) String() string { return proto.CompactTextString(m) } func (*MsgDeleteWasmInstantiateAllowlist) ProtoMessage() {} func (*MsgDeleteWasmInstantiateAllowlist) Descriptor() ([]byte, []int) { - return fileDescriptor_55f7aa067b0c517b, []int{12} + return fileDescriptor_55f7aa067b0c517b, []int{13} } func (m *MsgDeleteWasmInstantiateAllowlist) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -761,7 +797,7 @@ func (m *MsgWasmInstantiateAllowlistResponse) Reset() { *m = MsgWasmInst func (m *MsgWasmInstantiateAllowlistResponse) String() string { return proto.CompactTextString(m) } func (*MsgWasmInstantiateAllowlistResponse) ProtoMessage() {} func (*MsgWasmInstantiateAllowlistResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_55f7aa067b0c517b, []int{13} + return fileDescriptor_55f7aa067b0c517b, []int{14} } func (m *MsgWasmInstantiateAllowlistResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -790,107 +826,6 @@ func (m *MsgWasmInstantiateAllowlistResponse) XXX_DiscardUnknown() { var xxx_messageInfo_MsgWasmInstantiateAllowlistResponse proto.InternalMessageInfo -type MsgSetIbcComposabilityMwContract struct { - // signer should be a guardian validator in a current set or future set. - Signer string `protobuf:"bytes,1,opt,name=signer,proto3" json:"signer,omitempty"` - // the contract address to set - Address string `protobuf:"bytes,2,opt,name=address,proto3" json:"address,omitempty"` - // vaa is the SetIbcComposabilityMwContract governance message - Vaa []byte `protobuf:"bytes,3,opt,name=vaa,proto3" json:"vaa,omitempty"` -} - -func (m *MsgSetIbcComposabilityMwContract) Reset() { *m = MsgSetIbcComposabilityMwContract{} } -func (m *MsgSetIbcComposabilityMwContract) String() string { return proto.CompactTextString(m) } -func (*MsgSetIbcComposabilityMwContract) ProtoMessage() {} -func (*MsgSetIbcComposabilityMwContract) Descriptor() ([]byte, []int) { - return fileDescriptor_55f7aa067b0c517b, []int{14} -} -func (m *MsgSetIbcComposabilityMwContract) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *MsgSetIbcComposabilityMwContract) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_MsgSetIbcComposabilityMwContract.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalToSizedBuffer(b) - if err != nil { - return nil, err - } - return b[:n], nil - } -} -func (m *MsgSetIbcComposabilityMwContract) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgSetIbcComposabilityMwContract.Merge(m, src) -} -func (m *MsgSetIbcComposabilityMwContract) XXX_Size() int { - return m.Size() -} -func (m *MsgSetIbcComposabilityMwContract) XXX_DiscardUnknown() { - xxx_messageInfo_MsgSetIbcComposabilityMwContract.DiscardUnknown(m) -} - -var xxx_messageInfo_MsgSetIbcComposabilityMwContract proto.InternalMessageInfo - -func (m *MsgSetIbcComposabilityMwContract) GetSigner() string { - if m != nil { - return m.Signer - } - return "" -} - -func (m *MsgSetIbcComposabilityMwContract) GetAddress() string { - if m != nil { - return m.Address - } - return "" -} - -func (m *MsgSetIbcComposabilityMwContract) GetVaa() []byte { - if m != nil { - return m.Vaa - } - return nil -} - -type MsgSetIbcComposabilityMwContractResponse struct { -} - -func (m *MsgSetIbcComposabilityMwContractResponse) Reset() { - *m = MsgSetIbcComposabilityMwContractResponse{} -} -func (m *MsgSetIbcComposabilityMwContractResponse) String() string { return proto.CompactTextString(m) } -func (*MsgSetIbcComposabilityMwContractResponse) ProtoMessage() {} -func (*MsgSetIbcComposabilityMwContractResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_55f7aa067b0c517b, []int{15} -} -func (m *MsgSetIbcComposabilityMwContractResponse) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *MsgSetIbcComposabilityMwContractResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_MsgSetIbcComposabilityMwContractResponse.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalToSizedBuffer(b) - if err != nil { - return nil, err - } - return b[:n], nil - } -} -func (m *MsgSetIbcComposabilityMwContractResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgSetIbcComposabilityMwContractResponse.Merge(m, src) -} -func (m *MsgSetIbcComposabilityMwContractResponse) XXX_Size() int { - return m.Size() -} -func (m *MsgSetIbcComposabilityMwContractResponse) XXX_DiscardUnknown() { - xxx_messageInfo_MsgSetIbcComposabilityMwContractResponse.DiscardUnknown(m) -} - -var xxx_messageInfo_MsgSetIbcComposabilityMwContractResponse proto.InternalMessageInfo - // MsgMigrateContract runs a code upgrade/ downgrade for a smart contract type MsgMigrateContract struct { // Sender is the actor that signs the messages @@ -909,7 +844,7 @@ func (m *MsgMigrateContract) Reset() { *m = MsgMigrateContract{} } func (m *MsgMigrateContract) String() string { return proto.CompactTextString(m) } func (*MsgMigrateContract) ProtoMessage() {} func (*MsgMigrateContract) Descriptor() ([]byte, []int) { - return fileDescriptor_55f7aa067b0c517b, []int{16} + return fileDescriptor_55f7aa067b0c517b, []int{15} } func (m *MsgMigrateContract) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -984,7 +919,7 @@ func (m *MsgMigrateContractResponse) Reset() { *m = MsgMigrateContractRe func (m *MsgMigrateContractResponse) String() string { return proto.CompactTextString(m) } func (*MsgMigrateContractResponse) ProtoMessage() {} func (*MsgMigrateContractResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_55f7aa067b0c517b, []int{17} + return fileDescriptor_55f7aa067b0c517b, []int{16} } func (m *MsgMigrateContractResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1020,7 +955,62 @@ func (m *MsgMigrateContractResponse) GetData() []byte { return nil } +type MsgExecuteGatewayGovernanceVaa struct { + // Sender is the actor that signs the messages + Signer string `protobuf:"bytes,1,opt,name=signer,proto3" json:"signer,omitempty"` + // vaa must be governance msg with valid module, action, and payload + Vaa []byte `protobuf:"bytes,2,opt,name=vaa,proto3" json:"vaa,omitempty"` +} + +func (m *MsgExecuteGatewayGovernanceVaa) Reset() { *m = MsgExecuteGatewayGovernanceVaa{} } +func (m *MsgExecuteGatewayGovernanceVaa) String() string { return proto.CompactTextString(m) } +func (*MsgExecuteGatewayGovernanceVaa) ProtoMessage() {} +func (*MsgExecuteGatewayGovernanceVaa) Descriptor() ([]byte, []int) { + return fileDescriptor_55f7aa067b0c517b, []int{17} +} +func (m *MsgExecuteGatewayGovernanceVaa) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgExecuteGatewayGovernanceVaa) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgExecuteGatewayGovernanceVaa.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *MsgExecuteGatewayGovernanceVaa) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgExecuteGatewayGovernanceVaa.Merge(m, src) +} +func (m *MsgExecuteGatewayGovernanceVaa) XXX_Size() int { + return m.Size() +} +func (m *MsgExecuteGatewayGovernanceVaa) XXX_DiscardUnknown() { + xxx_messageInfo_MsgExecuteGatewayGovernanceVaa.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgExecuteGatewayGovernanceVaa proto.InternalMessageInfo + +func (m *MsgExecuteGatewayGovernanceVaa) GetSigner() string { + if m != nil { + return m.Signer + } + return "" +} + +func (m *MsgExecuteGatewayGovernanceVaa) GetVaa() []byte { + if m != nil { + return m.Vaa + } + return nil +} + func init() { + proto.RegisterType((*EmptyResponse)(nil), "wormhole_foundation.wormchain.wormhole.EmptyResponse") proto.RegisterType((*MsgCreateAllowlistEntryRequest)(nil), "wormhole_foundation.wormchain.wormhole.MsgCreateAllowlistEntryRequest") proto.RegisterType((*MsgDeleteAllowlistEntryRequest)(nil), "wormhole_foundation.wormchain.wormhole.MsgDeleteAllowlistEntryRequest") proto.RegisterType((*MsgAllowlistResponse)(nil), "wormhole_foundation.wormchain.wormhole.MsgAllowlistResponse") @@ -1035,70 +1025,68 @@ func init() { proto.RegisterType((*MsgAddWasmInstantiateAllowlist)(nil), "wormhole_foundation.wormchain.wormhole.MsgAddWasmInstantiateAllowlist") proto.RegisterType((*MsgDeleteWasmInstantiateAllowlist)(nil), "wormhole_foundation.wormchain.wormhole.MsgDeleteWasmInstantiateAllowlist") proto.RegisterType((*MsgWasmInstantiateAllowlistResponse)(nil), "wormhole_foundation.wormchain.wormhole.MsgWasmInstantiateAllowlistResponse") - proto.RegisterType((*MsgSetIbcComposabilityMwContract)(nil), "wormhole_foundation.wormchain.wormhole.MsgSetIbcComposabilityMwContract") - proto.RegisterType((*MsgSetIbcComposabilityMwContractResponse)(nil), "wormhole_foundation.wormchain.wormhole.MsgSetIbcComposabilityMwContractResponse") proto.RegisterType((*MsgMigrateContract)(nil), "wormhole_foundation.wormchain.wormhole.MsgMigrateContract") proto.RegisterType((*MsgMigrateContractResponse)(nil), "wormhole_foundation.wormchain.wormhole.MsgMigrateContractResponse") + proto.RegisterType((*MsgExecuteGatewayGovernanceVaa)(nil), "wormhole_foundation.wormchain.wormhole.MsgExecuteGatewayGovernanceVaa") } func init() { proto.RegisterFile("wormhole/tx.proto", fileDescriptor_55f7aa067b0c517b) } var fileDescriptor_55f7aa067b0c517b = []byte{ - // 852 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x57, 0x41, 0x6f, 0xe3, 0x44, - 0x18, 0xed, 0x6c, 0xb2, 0x59, 0xfa, 0x29, 0x82, 0xc5, 0x44, 0xdd, 0x60, 0x16, 0x77, 0xd7, 0x0b, - 0xab, 0x15, 0x12, 0x09, 0x02, 0x84, 0x04, 0x42, 0xa0, 0x24, 0xdd, 0x96, 0x08, 0x8c, 0x90, 0x8b, - 0xa8, 0xc4, 0x25, 0x9a, 0xd8, 0xd3, 0x89, 0x85, 0xed, 0x09, 0x9e, 0x71, 0xd3, 0x1c, 0x10, 0xfc, - 0x03, 0xe8, 0x1d, 0x24, 0xfe, 0x01, 0x12, 0x27, 0x24, 0xfe, 0x00, 0xc7, 0x1e, 0x39, 0x55, 0x28, - 0xfd, 0x19, 0x5c, 0x90, 0x27, 0xf1, 0x24, 0x6a, 0x62, 0xa7, 0x6e, 0x2b, 0xf6, 0x36, 0xdf, 0xd8, - 0xdf, 0x7b, 0xef, 0x1b, 0x3d, 0xcf, 0x93, 0xe1, 0xc5, 0x11, 0x8b, 0x82, 0x01, 0xf3, 0x49, 0x53, - 0x1c, 0x37, 0x86, 0x11, 0x13, 0x4c, 0x7b, 0x9c, 0x6e, 0xf5, 0x0e, 0x59, 0x1c, 0xba, 0x58, 0x78, - 0x2c, 0x6c, 0x24, 0x7b, 0xce, 0x00, 0x7b, 0xd3, 0x55, 0xf2, 0x54, 0xaf, 0x51, 0x46, 0x99, 0x6c, - 0x69, 0x26, 0xab, 0x69, 0xb7, 0x79, 0x08, 0x86, 0xc5, 0x69, 0x27, 0x22, 0x58, 0x90, 0x96, 0xef, - 0xb3, 0x91, 0xef, 0x71, 0xf1, 0x34, 0x14, 0xd1, 0xd8, 0x26, 0xdf, 0xc6, 0x84, 0x0b, 0x6d, 0x0b, - 0x2a, 0xdc, 0xa3, 0x21, 0x89, 0xea, 0xe8, 0x01, 0x7a, 0xb2, 0x69, 0xcf, 0x2a, 0xad, 0x0e, 0x77, - 0xb0, 0xeb, 0x46, 0x84, 0xf3, 0xfa, 0x2d, 0xf9, 0x20, 0x2d, 0x35, 0x0d, 0xca, 0x21, 0x0e, 0x48, - 0xbd, 0x24, 0xb7, 0xe5, 0xda, 0xb4, 0x25, 0xcf, 0x0e, 0xf1, 0xc9, 0x8d, 0xf1, 0x98, 0x5b, 0x50, - 0xb3, 0x38, 0x55, 0x68, 0x36, 0xe1, 0x43, 0x16, 0x72, 0x62, 0x76, 0xe0, 0x9e, 0xc5, 0xe9, 0xd3, - 0x63, 0xe2, 0xc4, 0x82, 0xec, 0xb1, 0x23, 0x12, 0x85, 0x38, 0x74, 0xc8, 0x57, 0xad, 0x96, 0x76, - 0x17, 0x4a, 0x47, 0x18, 0x4b, 0x86, 0xaa, 0x9d, 0x2c, 0x17, 0x68, 0x6f, 0x2d, 0xd2, 0x9a, 0x0f, - 0x61, 0x3b, 0x03, 0x44, 0xf1, 0x7c, 0x09, 0xf7, 0x2d, 0x4e, 0x6d, 0x42, 0x3d, 0x2e, 0x48, 0xd4, - 0x72, 0x1c, 0x16, 0x87, 0xa2, 0xc5, 0xf7, 0x62, 0x1c, 0xb9, 0x1e, 0x0e, 0x33, 0x27, 0xba, 0x0f, - 0x9b, 0xc9, 0x0a, 0x8b, 0x38, 0x9a, 0x1e, 0x52, 0xd5, 0x9e, 0x6f, 0x98, 0x8f, 0xe1, 0xb5, 0x3c, - 0x54, 0xc5, 0x3e, 0x84, 0xaa, 0xc5, 0xe9, 0xbe, 0x60, 0x11, 0xe9, 0x30, 0x97, 0x64, 0xb2, 0xbd, - 0x07, 0xcf, 0x8f, 0x30, 0x0f, 0x7a, 0xfd, 0xb1, 0x20, 0x3d, 0x87, 0xb9, 0x44, 0x0e, 0x5a, 0x6d, - 0xdf, 0x9d, 0x9c, 0x6d, 0x57, 0x0f, 0x5a, 0xfb, 0x56, 0x7b, 0x2c, 0x24, 0x82, 0x5d, 0x4d, 0xde, - 0x4b, 0xab, 0xf4, 0xa8, 0x4a, 0xea, 0xa8, 0xcc, 0x03, 0x79, 0xde, 0x8a, 0x31, 0x55, 0xa2, 0x3d, - 0x82, 0x3b, 0x09, 0x6e, 0xcf, 0x73, 0x25, 0x75, 0xb9, 0x0d, 0x93, 0xb3, 0xed, 0x4a, 0xf2, 0x4a, - 0x77, 0xc7, 0xae, 0x24, 0x8f, 0xba, 0xae, 0xa6, 0xc3, 0x73, 0xce, 0x80, 0x38, 0xdf, 0xf0, 0x38, - 0x98, 0x0a, 0xb0, 0x55, 0x6d, 0xfe, 0x88, 0x60, 0xcb, 0xe2, 0xb4, 0x1b, 0x72, 0x81, 0x43, 0xe1, - 0xe1, 0x44, 0x41, 0x28, 0x22, 0xec, 0x64, 0xbb, 0x62, 0x81, 0xb3, 0x94, 0xc9, 0x59, 0x83, 0xdb, - 0x3e, 0xee, 0x13, 0xbf, 0x5e, 0x96, 0xbd, 0xd3, 0x22, 0x19, 0x2c, 0xe0, 0xb4, 0x7e, 0x7b, 0x3a, - 0x58, 0xc0, 0x69, 0x3a, 0x6a, 0x65, 0x3e, 0xea, 0xe7, 0xd2, 0xae, 0x2b, 0x04, 0xa9, 0xa1, 0x17, - 0x6c, 0x89, 0x96, 0xec, 0xef, 0x62, 0x81, 0x67, 0x53, 0xca, 0xb5, 0xf9, 0x9d, 0xc4, 0x6b, 0xb9, - 0xee, 0x01, 0xe6, 0xc1, 0x02, 0xac, 0x32, 0xef, 0x15, 0x3e, 0xb3, 0x7b, 0x17, 0x8e, 0x40, 0x8d, - 0x3d, 0x1b, 0xa7, 0x3c, 0x1f, 0xe7, 0x07, 0x04, 0x0f, 0xd5, 0xe7, 0xf7, 0x6c, 0x24, 0xbc, 0x0e, - 0x8f, 0x2c, 0x4e, 0xb3, 0xb8, 0x95, 0xab, 0x0f, 0xe1, 0x41, 0xe2, 0x31, 0x22, 0xba, 0x7d, 0xa7, - 0xc3, 0x82, 0x21, 0xe3, 0xb8, 0xef, 0xf9, 0x9e, 0x18, 0x5b, 0xa3, 0xb5, 0x9e, 0xc8, 0xd6, 0xb9, - 0xec, 0xe5, 0x37, 0xe0, 0xc9, 0x3a, 0x1e, 0xa5, 0xe9, 0x04, 0x81, 0x66, 0x71, 0x6a, 0x79, 0x34, - 0xba, 0x8c, 0x35, 0x13, 0xa7, 0xcf, 0xde, 0x99, 0xe9, 0x50, 0xf5, 0xe5, 0x6c, 0x3b, 0x33, 0x68, - 0x39, 0xcf, 0xa0, 0x6f, 0x81, 0xbe, 0x2c, 0x49, 0x99, 0x33, 0xb5, 0x20, 0x9a, 0x5b, 0xf0, 0xed, - 0x7f, 0xab, 0x50, 0xb2, 0x38, 0xd5, 0x7e, 0x45, 0x50, 0x5b, 0x79, 0x37, 0x7e, 0xdc, 0xb8, 0x5c, - 0x92, 0x34, 0x32, 0xee, 0x45, 0x7d, 0xef, 0x9a, 0x00, 0x4a, 0xfe, 0x6f, 0x08, 0x5e, 0xce, 0xbe, - 0x56, 0x77, 0x0a, 0xd0, 0x64, 0xa2, 0xe8, 0x9f, 0xdd, 0x04, 0x8a, 0x52, 0xfc, 0x33, 0x82, 0xda, - 0xaa, 0x10, 0xd5, 0x76, 0x0b, 0xd0, 0xe4, 0xa4, 0xb0, 0xfe, 0x61, 0x01, 0x9c, 0xa5, 0xaf, 0x4a, - 0xca, 0x5b, 0x95, 0xbd, 0x85, 0xe4, 0xe5, 0x84, 0xf7, 0x35, 0xe5, 0x7d, 0x0f, 0x9b, 0xf3, 0x1c, - 0x7b, 0xb7, 0x00, 0x94, 0xea, 0x2a, 0x24, 0x60, 0x39, 0xc1, 0x7e, 0x41, 0xf0, 0xd2, 0xaa, 0xf4, - 0xf9, 0xa8, 0x00, 0xea, 0x8a, 0x7e, 0x7d, 0xf7, 0x7a, 0xfd, 0x4a, 0xdf, 0xef, 0x08, 0x5e, 0xc9, - 0x0b, 0x8f, 0x22, 0x3c, 0x39, 0x38, 0xfa, 0xa7, 0x05, 0x70, 0xd6, 0x5d, 0xe5, 0xda, 0x1f, 0x08, - 0x8c, 0x35, 0x89, 0xd3, 0x2d, 0x6c, 0xbf, 0xff, 0x47, 0xfa, 0x9f, 0x08, 0x5e, 0xcd, 0xcf, 0xa0, - 0x4f, 0x8a, 0xf8, 0x2d, 0x0f, 0x49, 0xff, 0xe2, 0xa6, 0x90, 0x94, 0xfa, 0x13, 0x04, 0x2f, 0x5c, - 0x0c, 0xab, 0x0f, 0x0a, 0xb0, 0x5c, 0xe8, 0xd5, 0xdb, 0x57, 0xef, 0x4d, 0x35, 0xb5, 0xf7, 0xff, - 0x9a, 0x18, 0xe8, 0x74, 0x62, 0xa0, 0x7f, 0x26, 0x06, 0xfa, 0xe9, 0xdc, 0xd8, 0x38, 0x3d, 0x37, - 0x36, 0xfe, 0x3e, 0x37, 0x36, 0xbe, 0x7e, 0x9f, 0x7a, 0x62, 0x10, 0xf7, 0x1b, 0x0e, 0x0b, 0x9a, - 0x29, 0xd2, 0x9b, 0x73, 0x9e, 0xa6, 0xe2, 0x69, 0x1e, 0x37, 0xe7, 0x7f, 0x3f, 0xe3, 0x21, 0xe1, - 0xfd, 0x8a, 0xfc, 0x87, 0x79, 0xe7, 0xbf, 0x00, 0x00, 0x00, 0xff, 0xff, 0xe0, 0x30, 0x81, 0x04, - 0x16, 0x0d, 0x00, 0x00, + // 848 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x57, 0xcd, 0x6e, 0xeb, 0x44, + 0x14, 0xee, 0x34, 0xb9, 0xb9, 0xf4, 0x28, 0x70, 0x2f, 0x26, 0xea, 0x0d, 0xbe, 0x57, 0x2e, 0x75, + 0xa1, 0x62, 0x43, 0x82, 0xf8, 0x93, 0x40, 0x08, 0x94, 0xf4, 0x4f, 0x01, 0xcc, 0xc2, 0x45, 0x54, + 0x62, 0x13, 0x4d, 0xec, 0xe9, 0xc4, 0x22, 0xf6, 0x04, 0xcf, 0xb8, 0x69, 0x16, 0x08, 0xde, 0x00, + 0xba, 0x07, 0x89, 0x37, 0x40, 0x62, 0xc5, 0x23, 0xb0, 0xec, 0x92, 0x05, 0xaa, 0x50, 0xfa, 0x22, + 0xc8, 0x93, 0x78, 0xe2, 0x36, 0x71, 0x1a, 0xb7, 0x15, 0x77, 0x37, 0x33, 0xf6, 0xf9, 0xbe, 0xef, + 0x1c, 0x7f, 0x73, 0x8e, 0x0c, 0x2f, 0x0f, 0x58, 0xe8, 0x77, 0x59, 0x8f, 0xd4, 0xc5, 0x69, 0xad, + 0x1f, 0x32, 0xc1, 0xb4, 0xed, 0xe4, 0xa8, 0x7d, 0xcc, 0xa2, 0xc0, 0xc5, 0xc2, 0x63, 0x41, 0x2d, + 0x3e, 0x73, 0xba, 0xd8, 0x1b, 0xaf, 0xe2, 0xa7, 0x7a, 0x85, 0x32, 0xca, 0x64, 0x48, 0x3d, 0x5e, + 0x8d, 0xa3, 0xcd, 0x47, 0xf0, 0xe2, 0x9e, 0xdf, 0x17, 0x43, 0x9b, 0xf0, 0x3e, 0x0b, 0x38, 0x31, + 0x8f, 0xc1, 0xb0, 0x38, 0xdd, 0x09, 0x09, 0x16, 0xa4, 0xd1, 0xeb, 0xb1, 0x41, 0xcf, 0xe3, 0x62, + 0x2f, 0x10, 0xe1, 0xd0, 0x26, 0xdf, 0x45, 0x84, 0x0b, 0x6d, 0x1d, 0x4a, 0xdc, 0xa3, 0x01, 0x09, + 0xab, 0xe8, 0x35, 0xf4, 0xe6, 0x9a, 0x3d, 0xd9, 0x69, 0x55, 0x78, 0x88, 0x5d, 0x37, 0x24, 0x9c, + 0x57, 0x57, 0xe5, 0x83, 0x64, 0xab, 0x69, 0x50, 0x0c, 0xb0, 0x4f, 0xaa, 0x05, 0x79, 0x2c, 0xd7, + 0xa6, 0x2d, 0x79, 0x76, 0x49, 0x8f, 0xdc, 0x1b, 0x8f, 0xb9, 0x0e, 0x15, 0x8b, 0x53, 0x85, 0xa6, + 0x72, 0xda, 0x81, 0x27, 0x16, 0xa7, 0x7b, 0xa7, 0xc4, 0x89, 0x04, 0x39, 0x60, 0x27, 0x24, 0x0c, + 0x70, 0xe0, 0x90, 0xaf, 0x1b, 0x0d, 0xed, 0x31, 0x14, 0x4e, 0x30, 0x96, 0x0c, 0x65, 0x3b, 0x5e, + 0xa6, 0x68, 0x57, 0xd3, 0xb4, 0xe6, 0x26, 0x6c, 0x64, 0x80, 0x28, 0x9e, 0xaf, 0xe0, 0x99, 0xc5, + 0xa9, 0x4d, 0xa8, 0xc7, 0x05, 0x09, 0x1b, 0x8e, 0xc3, 0xa2, 0x40, 0x34, 0xf8, 0x41, 0x84, 0x43, + 0xd7, 0xc3, 0x41, 0x66, 0x46, 0xcf, 0x60, 0x2d, 0x5e, 0x61, 0x11, 0x85, 0xe3, 0x22, 0x95, 0xed, + 0xe9, 0x81, 0xb9, 0x0d, 0xaf, 0x2f, 0x42, 0x55, 0xec, 0x7d, 0x28, 0x5b, 0x9c, 0x1e, 0x0a, 0x16, + 0x92, 0x1d, 0xe6, 0x92, 0x4c, 0xb6, 0x0f, 0xe0, 0xa5, 0x01, 0xe6, 0x7e, 0xbb, 0x33, 0x14, 0xa4, + 0xed, 0x30, 0x97, 0xc8, 0x44, 0xcb, 0xcd, 0xc7, 0xa3, 0x8b, 0x8d, 0xf2, 0x51, 0xe3, 0xd0, 0x6a, + 0x0e, 0x85, 0x44, 0xb0, 0xcb, 0xf1, 0x7b, 0xc9, 0x2e, 0x29, 0x55, 0x41, 0x95, 0xca, 0x3c, 0x92, + 0xf5, 0x56, 0x8c, 0x89, 0x12, 0x6d, 0x0b, 0x1e, 0xc6, 0xb8, 0x6d, 0xcf, 0x95, 0xd4, 0xc5, 0x26, + 0x8c, 0x2e, 0x36, 0x4a, 0xf1, 0x2b, 0xad, 0x5d, 0xbb, 0x14, 0x3f, 0x6a, 0xb9, 0x9a, 0x0e, 0x2f, + 0x38, 0x5d, 0xe2, 0x7c, 0xcb, 0x23, 0x7f, 0x2c, 0xc0, 0x56, 0x7b, 0xf3, 0x27, 0x04, 0xeb, 0x16, + 0xa7, 0xad, 0x80, 0x0b, 0x1c, 0x08, 0x0f, 0xc7, 0x0a, 0x02, 0x11, 0x62, 0x27, 0xdb, 0x15, 0x29, + 0xce, 0x42, 0x26, 0x67, 0x05, 0x1e, 0xf4, 0x70, 0x87, 0xf4, 0xaa, 0x45, 0x19, 0x3b, 0xde, 0xc4, + 0x89, 0xf9, 0x9c, 0x56, 0x1f, 0x8c, 0x13, 0xf3, 0x39, 0x4d, 0x52, 0x2d, 0x4d, 0x53, 0xfd, 0x52, + 0xda, 0x75, 0x8e, 0x20, 0x95, 0x74, 0xca, 0x96, 0x68, 0xc6, 0xfe, 0x2e, 0x16, 0x78, 0x92, 0xa5, + 0x5c, 0x9b, 0xdf, 0x4b, 0xbc, 0x86, 0xeb, 0x1e, 0x61, 0xee, 0xa7, 0x60, 0x95, 0x79, 0x6f, 0x71, + 0xcd, 0x9e, 0x5c, 0x2b, 0x81, 0x4a, 0x7b, 0x92, 0x4e, 0x71, 0x9a, 0xce, 0x8f, 0x08, 0x36, 0xd5, + 0xf5, 0x7b, 0x3e, 0x12, 0xde, 0x80, 0x2d, 0x8b, 0xd3, 0x2c, 0x6e, 0xe5, 0xea, 0x33, 0x04, 0x9a, + 0xc5, 0xa9, 0xe5, 0xd1, 0x70, 0x19, 0x1b, 0xc4, 0xae, 0x9a, 0xbc, 0x33, 0xd1, 0xa6, 0xf6, 0xcb, + 0x59, 0x64, 0x62, 0x86, 0xe2, 0x22, 0x33, 0xbc, 0x0d, 0xfa, 0xac, 0x24, 0x65, 0x84, 0xe4, 0x73, + 0xa3, 0xd4, 0xe7, 0xfe, 0x4c, 0x7e, 0xee, 0xa4, 0x79, 0x60, 0x41, 0x06, 0x78, 0x98, 0xea, 0x21, + 0x57, 0xda, 0xce, 0xd5, 0x84, 0x26, 0xec, 0xab, 0x8a, 0xfd, 0x9d, 0x7f, 0xca, 0x50, 0xb0, 0x38, + 0xd5, 0x7e, 0x43, 0x50, 0x99, 0xdb, 0xd3, 0x3e, 0xad, 0x2d, 0x37, 0x12, 0x6a, 0x19, 0xfd, 0x4c, + 0x3f, 0xb8, 0x23, 0x80, 0x2a, 0xc5, 0xef, 0x08, 0x5e, 0xcd, 0x6e, 0x87, 0xbb, 0x39, 0x68, 0x32, + 0x51, 0xf4, 0x2f, 0xee, 0x03, 0x45, 0x29, 0xfe, 0x05, 0x41, 0x65, 0xde, 0xf0, 0xd3, 0xf6, 0x73, + 0xd0, 0x2c, 0x98, 0x9e, 0xfa, 0xc7, 0x39, 0x70, 0x66, 0x6e, 0x83, 0x94, 0x37, 0x6f, 0x66, 0xe6, + 0x92, 0xb7, 0x60, 0xe8, 0xde, 0x51, 0xde, 0x0f, 0xb0, 0x36, 0x9d, 0x3f, 0xef, 0xe5, 0x80, 0x52, + 0x51, 0xb9, 0x04, 0xcc, 0x4e, 0x9e, 0x5f, 0x11, 0xbc, 0x32, 0x6f, 0x6a, 0x7c, 0x92, 0x03, 0x75, + 0x4e, 0xbc, 0xbe, 0x7f, 0xb7, 0x78, 0xa5, 0xef, 0x0f, 0x04, 0x4f, 0x17, 0x35, 0xfd, 0x3c, 0x3c, + 0x0b, 0x70, 0xf4, 0xcf, 0x73, 0xe0, 0xdc, 0xd4, 0x82, 0xb5, 0x3f, 0x11, 0x18, 0x37, 0x4c, 0x8a, + 0x56, 0x6e, 0xfb, 0xfd, 0x3f, 0xd2, 0xcf, 0x10, 0x3c, 0xba, 0x3e, 0x3a, 0x3e, 0xca, 0x41, 0x70, + 0x2d, 0x56, 0x6f, 0xde, 0x3e, 0x36, 0x7d, 0x87, 0x9f, 0x2e, 0x9a, 0x04, 0xfb, 0xb7, 0xe8, 0xbe, + 0x73, 0x70, 0xf4, 0xf7, 0x97, 0xc5, 0xb9, 0xf2, 0x03, 0xd0, 0x3c, 0xfc, 0x6b, 0x64, 0xa0, 0xf3, + 0x91, 0x81, 0xfe, 0x1d, 0x19, 0xe8, 0xe7, 0x4b, 0x63, 0xe5, 0xfc, 0xd2, 0x58, 0xf9, 0xfb, 0xd2, + 0x58, 0xf9, 0xe6, 0x43, 0xea, 0x89, 0x6e, 0xd4, 0xa9, 0x39, 0xcc, 0xaf, 0x27, 0xc1, 0x6f, 0x4d, + 0xa1, 0xeb, 0x0a, 0xba, 0x7e, 0x5a, 0x9f, 0xfe, 0xa7, 0x0c, 0xfb, 0x84, 0x77, 0x4a, 0xf2, 0x6f, + 0xe3, 0xdd, 0xff, 0x02, 0x00, 0x00, 0xff, 0xff, 0x79, 0xba, 0x1f, 0x32, 0xc0, 0x0c, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. @@ -1123,8 +1111,8 @@ type MsgClient interface { InstantiateContract(ctx context.Context, in *MsgInstantiateContract, opts ...grpc.CallOption) (*MsgInstantiateContractResponse, error) AddWasmInstantiateAllowlist(ctx context.Context, in *MsgAddWasmInstantiateAllowlist, opts ...grpc.CallOption) (*MsgWasmInstantiateAllowlistResponse, error) DeleteWasmInstantiateAllowlist(ctx context.Context, in *MsgDeleteWasmInstantiateAllowlist, opts ...grpc.CallOption) (*MsgWasmInstantiateAllowlistResponse, error) - SetIbcComposabilityMwContract(ctx context.Context, in *MsgSetIbcComposabilityMwContract, opts ...grpc.CallOption) (*MsgSetIbcComposabilityMwContractResponse, error) MigrateContract(ctx context.Context, in *MsgMigrateContract, opts ...grpc.CallOption) (*MsgMigrateContractResponse, error) + ExecuteGatewayGovernanceVaa(ctx context.Context, in *MsgExecuteGatewayGovernanceVaa, opts ...grpc.CallOption) (*EmptyResponse, error) } type msgClient struct { @@ -1207,18 +1195,18 @@ func (c *msgClient) DeleteWasmInstantiateAllowlist(ctx context.Context, in *MsgD return out, nil } -func (c *msgClient) SetIbcComposabilityMwContract(ctx context.Context, in *MsgSetIbcComposabilityMwContract, opts ...grpc.CallOption) (*MsgSetIbcComposabilityMwContractResponse, error) { - out := new(MsgSetIbcComposabilityMwContractResponse) - err := c.cc.Invoke(ctx, "/wormhole_foundation.wormchain.wormhole.Msg/SetIbcComposabilityMwContract", in, out, opts...) +func (c *msgClient) MigrateContract(ctx context.Context, in *MsgMigrateContract, opts ...grpc.CallOption) (*MsgMigrateContractResponse, error) { + out := new(MsgMigrateContractResponse) + err := c.cc.Invoke(ctx, "/wormhole_foundation.wormchain.wormhole.Msg/MigrateContract", in, out, opts...) if err != nil { return nil, err } return out, nil } -func (c *msgClient) MigrateContract(ctx context.Context, in *MsgMigrateContract, opts ...grpc.CallOption) (*MsgMigrateContractResponse, error) { - out := new(MsgMigrateContractResponse) - err := c.cc.Invoke(ctx, "/wormhole_foundation.wormchain.wormhole.Msg/MigrateContract", in, out, opts...) +func (c *msgClient) ExecuteGatewayGovernanceVaa(ctx context.Context, in *MsgExecuteGatewayGovernanceVaa, opts ...grpc.CallOption) (*EmptyResponse, error) { + out := new(EmptyResponse) + err := c.cc.Invoke(ctx, "/wormhole_foundation.wormchain.wormhole.Msg/ExecuteGatewayGovernanceVaa", in, out, opts...) if err != nil { return nil, err } @@ -1237,8 +1225,8 @@ type MsgServer interface { InstantiateContract(context.Context, *MsgInstantiateContract) (*MsgInstantiateContractResponse, error) AddWasmInstantiateAllowlist(context.Context, *MsgAddWasmInstantiateAllowlist) (*MsgWasmInstantiateAllowlistResponse, error) DeleteWasmInstantiateAllowlist(context.Context, *MsgDeleteWasmInstantiateAllowlist) (*MsgWasmInstantiateAllowlistResponse, error) - SetIbcComposabilityMwContract(context.Context, *MsgSetIbcComposabilityMwContract) (*MsgSetIbcComposabilityMwContractResponse, error) MigrateContract(context.Context, *MsgMigrateContract) (*MsgMigrateContractResponse, error) + ExecuteGatewayGovernanceVaa(context.Context, *MsgExecuteGatewayGovernanceVaa) (*EmptyResponse, error) } // UnimplementedMsgServer can be embedded to have forward compatible implementations. @@ -1269,12 +1257,12 @@ func (*UnimplementedMsgServer) AddWasmInstantiateAllowlist(ctx context.Context, func (*UnimplementedMsgServer) DeleteWasmInstantiateAllowlist(ctx context.Context, req *MsgDeleteWasmInstantiateAllowlist) (*MsgWasmInstantiateAllowlistResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method DeleteWasmInstantiateAllowlist not implemented") } -func (*UnimplementedMsgServer) SetIbcComposabilityMwContract(ctx context.Context, req *MsgSetIbcComposabilityMwContract) (*MsgSetIbcComposabilityMwContractResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method SetIbcComposabilityMwContract not implemented") -} func (*UnimplementedMsgServer) MigrateContract(ctx context.Context, req *MsgMigrateContract) (*MsgMigrateContractResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method MigrateContract not implemented") } +func (*UnimplementedMsgServer) ExecuteGatewayGovernanceVaa(ctx context.Context, req *MsgExecuteGatewayGovernanceVaa) (*EmptyResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ExecuteGatewayGovernanceVaa not implemented") +} func RegisterMsgServer(s grpc1.Server, srv MsgServer) { s.RegisterService(&_Msg_serviceDesc, srv) @@ -1424,38 +1412,38 @@ func _Msg_DeleteWasmInstantiateAllowlist_Handler(srv interface{}, ctx context.Co return interceptor(ctx, in, info, handler) } -func _Msg_SetIbcComposabilityMwContract_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgSetIbcComposabilityMwContract) +func _Msg_MigrateContract_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgMigrateContract) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(MsgServer).SetIbcComposabilityMwContract(ctx, in) + return srv.(MsgServer).MigrateContract(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/wormhole_foundation.wormchain.wormhole.Msg/SetIbcComposabilityMwContract", + FullMethod: "/wormhole_foundation.wormchain.wormhole.Msg/MigrateContract", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).SetIbcComposabilityMwContract(ctx, req.(*MsgSetIbcComposabilityMwContract)) + return srv.(MsgServer).MigrateContract(ctx, req.(*MsgMigrateContract)) } return interceptor(ctx, in, info, handler) } -func _Msg_MigrateContract_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgMigrateContract) +func _Msg_ExecuteGatewayGovernanceVaa_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgExecuteGatewayGovernanceVaa) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(MsgServer).MigrateContract(ctx, in) + return srv.(MsgServer).ExecuteGatewayGovernanceVaa(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/wormhole_foundation.wormchain.wormhole.Msg/MigrateContract", + FullMethod: "/wormhole_foundation.wormchain.wormhole.Msg/ExecuteGatewayGovernanceVaa", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).MigrateContract(ctx, req.(*MsgMigrateContract)) + return srv.(MsgServer).ExecuteGatewayGovernanceVaa(ctx, req.(*MsgExecuteGatewayGovernanceVaa)) } return interceptor(ctx, in, info, handler) } @@ -1496,19 +1484,42 @@ var _Msg_serviceDesc = grpc.ServiceDesc{ MethodName: "DeleteWasmInstantiateAllowlist", Handler: _Msg_DeleteWasmInstantiateAllowlist_Handler, }, - { - MethodName: "SetIbcComposabilityMwContract", - Handler: _Msg_SetIbcComposabilityMwContract_Handler, - }, { MethodName: "MigrateContract", Handler: _Msg_MigrateContract_Handler, }, + { + MethodName: "ExecuteGatewayGovernanceVaa", + Handler: _Msg_ExecuteGatewayGovernanceVaa_Handler, + }, }, Streams: []grpc.StreamDesc{}, Metadata: "wormhole/tx.proto", } +func (m *EmptyResponse) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *EmptyResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *EmptyResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + return len(dAtA) - i, nil +} + func (m *MsgCreateAllowlistEntryRequest) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) @@ -2026,7 +2037,7 @@ func (m *MsgWasmInstantiateAllowlistResponse) MarshalToSizedBuffer(dAtA []byte) return len(dAtA) - i, nil } -func (m *MsgSetIbcComposabilityMwContract) Marshal() (dAtA []byte, err error) { +func (m *MsgMigrateContract) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -2036,12 +2047,12 @@ func (m *MsgSetIbcComposabilityMwContract) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgSetIbcComposabilityMwContract) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgMigrateContract) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgSetIbcComposabilityMwContract) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgMigrateContract) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int @@ -2051,12 +2062,24 @@ func (m *MsgSetIbcComposabilityMwContract) MarshalToSizedBuffer(dAtA []byte) (in copy(dAtA[i:], m.Vaa) i = encodeVarintTx(dAtA, i, uint64(len(m.Vaa))) i-- - dAtA[i] = 0x1a + dAtA[i] = 0x32 } - if len(m.Address) > 0 { - i -= len(m.Address) - copy(dAtA[i:], m.Address) - i = encodeVarintTx(dAtA, i, uint64(len(m.Address))) + if len(m.Msg) > 0 { + i -= len(m.Msg) + copy(dAtA[i:], m.Msg) + i = encodeVarintTx(dAtA, i, uint64(len(m.Msg))) + i-- + dAtA[i] = 0x22 + } + if m.CodeID != 0 { + i = encodeVarintTx(dAtA, i, uint64(m.CodeID)) + i-- + dAtA[i] = 0x18 + } + if len(m.Contract) > 0 { + i -= len(m.Contract) + copy(dAtA[i:], m.Contract) + i = encodeVarintTx(dAtA, i, uint64(len(m.Contract))) i-- dAtA[i] = 0x12 } @@ -2070,7 +2093,7 @@ func (m *MsgSetIbcComposabilityMwContract) MarshalToSizedBuffer(dAtA []byte) (in return len(dAtA) - i, nil } -func (m *MsgSetIbcComposabilityMwContractResponse) Marshal() (dAtA []byte, err error) { +func (m *MsgMigrateContractResponse) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -2080,20 +2103,27 @@ func (m *MsgSetIbcComposabilityMwContractResponse) Marshal() (dAtA []byte, err e return dAtA[:n], nil } -func (m *MsgSetIbcComposabilityMwContractResponse) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgMigrateContractResponse) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgSetIbcComposabilityMwContractResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgMigrateContractResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l + if len(m.Data) > 0 { + i -= len(m.Data) + copy(dAtA[i:], m.Data) + i = encodeVarintTx(dAtA, i, uint64(len(m.Data))) + i-- + dAtA[i] = 0xa + } return len(dAtA) - i, nil } -func (m *MsgMigrateContract) Marshal() (dAtA []byte, err error) { +func (m *MsgExecuteGatewayGovernanceVaa) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -2103,12 +2133,12 @@ func (m *MsgMigrateContract) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgMigrateContract) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgExecuteGatewayGovernanceVaa) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgMigrateContract) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgExecuteGatewayGovernanceVaa) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int @@ -2118,25 +2148,6 @@ func (m *MsgMigrateContract) MarshalToSizedBuffer(dAtA []byte) (int, error) { copy(dAtA[i:], m.Vaa) i = encodeVarintTx(dAtA, i, uint64(len(m.Vaa))) i-- - dAtA[i] = 0x32 - } - if len(m.Msg) > 0 { - i -= len(m.Msg) - copy(dAtA[i:], m.Msg) - i = encodeVarintTx(dAtA, i, uint64(len(m.Msg))) - i-- - dAtA[i] = 0x22 - } - if m.CodeID != 0 { - i = encodeVarintTx(dAtA, i, uint64(m.CodeID)) - i-- - dAtA[i] = 0x18 - } - if len(m.Contract) > 0 { - i -= len(m.Contract) - copy(dAtA[i:], m.Contract) - i = encodeVarintTx(dAtA, i, uint64(len(m.Contract))) - i-- dAtA[i] = 0x12 } if len(m.Signer) > 0 { @@ -2149,36 +2160,6 @@ func (m *MsgMigrateContract) MarshalToSizedBuffer(dAtA []byte) (int, error) { return len(dAtA) - i, nil } -func (m *MsgMigrateContractResponse) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *MsgMigrateContractResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *MsgMigrateContractResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if len(m.Data) > 0 { - i -= len(m.Data) - copy(dAtA[i:], m.Data) - i = encodeVarintTx(dAtA, i, uint64(len(m.Data))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - func encodeVarintTx(dAtA []byte, offset int, v uint64) int { offset -= sovTx(v) base := offset @@ -2190,6 +2171,15 @@ func encodeVarintTx(dAtA []byte, offset int, v uint64) int { dAtA[offset] = uint8(v) return base } +func (m *EmptyResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + func (m *MsgCreateAllowlistEntryRequest) Size() (n int) { if m == nil { return 0 @@ -2428,7 +2418,7 @@ func (m *MsgWasmInstantiateAllowlistResponse) Size() (n int) { return n } -func (m *MsgSetIbcComposabilityMwContract) Size() (n int) { +func (m *MsgMigrateContract) Size() (n int) { if m == nil { return 0 } @@ -2438,7 +2428,14 @@ func (m *MsgSetIbcComposabilityMwContract) Size() (n int) { if l > 0 { n += 1 + l + sovTx(uint64(l)) } - l = len(m.Address) + l = len(m.Contract) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + if m.CodeID != 0 { + n += 1 + sovTx(uint64(m.CodeID)) + } + l = len(m.Msg) if l > 0 { n += 1 + l + sovTx(uint64(l)) } @@ -2449,16 +2446,20 @@ func (m *MsgSetIbcComposabilityMwContract) Size() (n int) { return n } -func (m *MsgSetIbcComposabilityMwContractResponse) Size() (n int) { +func (m *MsgMigrateContractResponse) Size() (n int) { if m == nil { return 0 } var l int _ = l + l = len(m.Data) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } return n } -func (m *MsgMigrateContract) Size() (n int) { +func (m *MsgExecuteGatewayGovernanceVaa) Size() (n int) { if m == nil { return 0 } @@ -2468,17 +2469,6 @@ func (m *MsgMigrateContract) Size() (n int) { if l > 0 { n += 1 + l + sovTx(uint64(l)) } - l = len(m.Contract) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } - if m.CodeID != 0 { - n += 1 + sovTx(uint64(m.CodeID)) - } - l = len(m.Msg) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } l = len(m.Vaa) if l > 0 { n += 1 + l + sovTx(uint64(l)) @@ -2486,25 +2476,62 @@ func (m *MsgMigrateContract) Size() (n int) { return n } -func (m *MsgMigrateContractResponse) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.Data) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } - return n -} - func sovTx(x uint64) (n int) { return (math_bits.Len64(x|1) + 6) / 7 } func sozTx(x uint64) (n int) { return sovTx(uint64((x << 1) ^ uint64((int64(x) >> 63)))) } +func (m *EmptyResponse) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: EmptyResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: EmptyResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := skipTx(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthTx + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} func (m *MsgCreateAllowlistEntryRequest) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 @@ -4101,7 +4128,7 @@ func (m *MsgWasmInstantiateAllowlistResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgSetIbcComposabilityMwContract) Unmarshal(dAtA []byte) error { +func (m *MsgMigrateContract) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -4124,10 +4151,10 @@ func (m *MsgSetIbcComposabilityMwContract) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgSetIbcComposabilityMwContract: wiretype end group for non-group") + return fmt.Errorf("proto: MsgMigrateContract: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgSetIbcComposabilityMwContract: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgMigrateContract: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -4164,7 +4191,7 @@ func (m *MsgSetIbcComposabilityMwContract) Unmarshal(dAtA []byte) error { iNdEx = postIndex case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Address", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Contract", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -4192,9 +4219,62 @@ func (m *MsgSetIbcComposabilityMwContract) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Address = string(dAtA[iNdEx:postIndex]) + m.Contract = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field CodeID", wireType) + } + m.CodeID = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.CodeID |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Msg", wireType) + } + var byteLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + byteLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if byteLen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + byteLen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Msg = append(m.Msg[:0], dAtA[iNdEx:postIndex]...) + if m.Msg == nil { + m.Msg = []byte{} + } + iNdEx = postIndex + case 6: if wireType != 2 { return fmt.Errorf("proto: wrong wireType = %d for field Vaa", wireType) } @@ -4249,7 +4329,7 @@ func (m *MsgSetIbcComposabilityMwContract) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgSetIbcComposabilityMwContractResponse) Unmarshal(dAtA []byte) error { +func (m *MsgMigrateContractResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -4272,12 +4352,46 @@ func (m *MsgSetIbcComposabilityMwContractResponse) Unmarshal(dAtA []byte) error fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgSetIbcComposabilityMwContractResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgMigrateContractResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgSetIbcComposabilityMwContractResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgMigrateContractResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Data", wireType) + } + var byteLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + byteLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if byteLen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + byteLen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Data = append(m.Data[:0], dAtA[iNdEx:postIndex]...) + if m.Data == nil { + m.Data = []byte{} + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipTx(dAtA[iNdEx:]) @@ -4299,7 +4413,7 @@ func (m *MsgSetIbcComposabilityMwContractResponse) Unmarshal(dAtA []byte) error } return nil } -func (m *MsgMigrateContract) Unmarshal(dAtA []byte) error { +func (m *MsgExecuteGatewayGovernanceVaa) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -4322,10 +4436,10 @@ func (m *MsgMigrateContract) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgMigrateContract: wiretype end group for non-group") + return fmt.Errorf("proto: MsgExecuteGatewayGovernanceVaa: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgMigrateContract: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgExecuteGatewayGovernanceVaa: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -4361,91 +4475,6 @@ func (m *MsgMigrateContract) Unmarshal(dAtA []byte) error { m.Signer = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Contract", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTx - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthTx - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthTx - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Contract = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 3: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field CodeID", wireType) - } - m.CodeID = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTx - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.CodeID |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 4: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Msg", wireType) - } - var byteLen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTx - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - byteLen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if byteLen < 0 { - return ErrInvalidLengthTx - } - postIndex := iNdEx + byteLen - if postIndex < 0 { - return ErrInvalidLengthTx - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Msg = append(m.Msg[:0], dAtA[iNdEx:postIndex]...) - if m.Msg == nil { - m.Msg = []byte{} - } - iNdEx = postIndex - case 6: if wireType != 2 { return fmt.Errorf("proto: wrong wireType = %d for field Vaa", wireType) } @@ -4500,90 +4529,6 @@ func (m *MsgMigrateContract) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgMigrateContractResponse) Unmarshal(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTx - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: MsgMigrateContractResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: MsgMigrateContractResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Data", wireType) - } - var byteLen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTx - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - byteLen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if byteLen < 0 { - return ErrInvalidLengthTx - } - postIndex := iNdEx + byteLen - if postIndex < 0 { - return ErrInvalidLengthTx - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Data = append(m.Data[:0], dAtA[iNdEx:postIndex]...) - if m.Data == nil { - m.Data = []byte{} - } - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skipTx(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthTx - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} func skipTx(dAtA []byte) (n int, err error) { l := len(dAtA) iNdEx := 0