diff --git a/crates/proto/src/gen/penumbra.core.governance.v1alpha1.rs b/crates/proto/src/gen/penumbra.core.governance.v1alpha1.rs index abf0d842c0..e898649046 100644 --- a/crates/proto/src/gen/penumbra.core.governance.v1alpha1.rs +++ b/crates/proto/src/gen/penumbra.core.governance.v1alpha1.rs @@ -273,6 +273,14 @@ pub struct ProposalOutcome { } /// Nested message and enum types in `ProposalOutcome`. pub mod proposal_outcome { + /// Whether or not the proposal was withdrawn. + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Message)] + pub struct Withdrawn { + /// The reason for withdrawing the proposal during the voting period. + #[prost(string, tag = "1")] + pub reason: ::prost::alloc::string::String, + } /// The proposal was passed. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] @@ -281,17 +289,17 @@ pub mod proposal_outcome { #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct Failed { - /// The proposal was withdrawn during the voting period. - #[prost(string, tag = "1")] - pub withdrawn_with_reason: ::prost::alloc::string::String, + /// Present if the proposal was withdrawn during the voting period. + #[prost(message, optional, tag = "1")] + pub withdrawn: ::core::option::Option, } /// The proposal did not pass, and was slashed. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct Slashed { - /// The proposal was withdrawn during the voting period. - #[prost(string, tag = "1")] - pub withdrawn_with_reason: ::prost::alloc::string::String, + /// Present if the proposal was withdrawn during the voting period. + #[prost(message, optional, tag = "1")] + pub withdrawn: ::core::option::Option, } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Oneof)] diff --git a/crates/proto/src/gen/penumbra.core.governance.v1alpha1.serde.rs b/crates/proto/src/gen/penumbra.core.governance.v1alpha1.serde.rs index 4236e04f70..93004c6e47 100644 --- a/crates/proto/src/gen/penumbra.core.governance.v1alpha1.serde.rs +++ b/crates/proto/src/gen/penumbra.core.governance.v1alpha1.serde.rs @@ -1702,12 +1702,12 @@ impl serde::Serialize for proposal_outcome::Failed { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.withdrawn_with_reason.is_empty() { + if self.withdrawn.is_some() { len += 1; } let mut struct_ser = serializer.serialize_struct("penumbra.core.governance.v1alpha1.ProposalOutcome.Failed", len)?; - if !self.withdrawn_with_reason.is_empty() { - struct_ser.serialize_field("withdrawnWithReason", &self.withdrawn_with_reason)?; + if let Some(v) = self.withdrawn.as_ref() { + struct_ser.serialize_field("withdrawn", v)?; } struct_ser.end() } @@ -1719,13 +1719,12 @@ impl<'de> serde::Deserialize<'de> for proposal_outcome::Failed { D: serde::Deserializer<'de>, { const FIELDS: &[&str] = &[ - "withdrawn_with_reason", - "withdrawnWithReason", + "withdrawn", ]; #[allow(clippy::enum_variant_names)] enum GeneratedField { - WithdrawnWithReason, + Withdrawn, } impl<'de> serde::Deserialize<'de> for GeneratedField { fn deserialize(deserializer: D) -> std::result::Result @@ -1747,7 +1746,7 @@ impl<'de> serde::Deserialize<'de> for proposal_outcome::Failed { E: serde::de::Error, { match value { - "withdrawnWithReason" | "withdrawn_with_reason" => Ok(GeneratedField::WithdrawnWithReason), + "withdrawn" => Ok(GeneratedField::Withdrawn), _ => Err(serde::de::Error::unknown_field(value, FIELDS)), } } @@ -1767,19 +1766,19 @@ impl<'de> serde::Deserialize<'de> for proposal_outcome::Failed { where V: serde::de::MapAccess<'de>, { - let mut withdrawn_with_reason__ = None; + let mut withdrawn__ = None; while let Some(k) = map.next_key()? { match k { - GeneratedField::WithdrawnWithReason => { - if withdrawn_with_reason__.is_some() { - return Err(serde::de::Error::duplicate_field("withdrawnWithReason")); + GeneratedField::Withdrawn => { + if withdrawn__.is_some() { + return Err(serde::de::Error::duplicate_field("withdrawn")); } - withdrawn_with_reason__ = Some(map.next_value()?); + withdrawn__ = map.next_value()?; } } } Ok(proposal_outcome::Failed { - withdrawn_with_reason: withdrawn_with_reason__.unwrap_or_default(), + withdrawn: withdrawn__, }) } } @@ -1865,12 +1864,12 @@ impl serde::Serialize for proposal_outcome::Slashed { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.withdrawn_with_reason.is_empty() { + if self.withdrawn.is_some() { len += 1; } let mut struct_ser = serializer.serialize_struct("penumbra.core.governance.v1alpha1.ProposalOutcome.Slashed", len)?; - if !self.withdrawn_with_reason.is_empty() { - struct_ser.serialize_field("withdrawnWithReason", &self.withdrawn_with_reason)?; + if let Some(v) = self.withdrawn.as_ref() { + struct_ser.serialize_field("withdrawn", v)?; } struct_ser.end() } @@ -1882,13 +1881,12 @@ impl<'de> serde::Deserialize<'de> for proposal_outcome::Slashed { D: serde::Deserializer<'de>, { const FIELDS: &[&str] = &[ - "withdrawn_with_reason", - "withdrawnWithReason", + "withdrawn", ]; #[allow(clippy::enum_variant_names)] enum GeneratedField { - WithdrawnWithReason, + Withdrawn, } impl<'de> serde::Deserialize<'de> for GeneratedField { fn deserialize(deserializer: D) -> std::result::Result @@ -1910,7 +1908,7 @@ impl<'de> serde::Deserialize<'de> for proposal_outcome::Slashed { E: serde::de::Error, { match value { - "withdrawnWithReason" | "withdrawn_with_reason" => Ok(GeneratedField::WithdrawnWithReason), + "withdrawn" => Ok(GeneratedField::Withdrawn), _ => Err(serde::de::Error::unknown_field(value, FIELDS)), } } @@ -1930,25 +1928,116 @@ impl<'de> serde::Deserialize<'de> for proposal_outcome::Slashed { where V: serde::de::MapAccess<'de>, { - let mut withdrawn_with_reason__ = None; + let mut withdrawn__ = None; while let Some(k) = map.next_key()? { match k { - GeneratedField::WithdrawnWithReason => { - if withdrawn_with_reason__.is_some() { - return Err(serde::de::Error::duplicate_field("withdrawnWithReason")); + GeneratedField::Withdrawn => { + if withdrawn__.is_some() { + return Err(serde::de::Error::duplicate_field("withdrawn")); } - withdrawn_with_reason__ = Some(map.next_value()?); + withdrawn__ = map.next_value()?; } } } Ok(proposal_outcome::Slashed { - withdrawn_with_reason: withdrawn_with_reason__.unwrap_or_default(), + withdrawn: withdrawn__, }) } } deserializer.deserialize_struct("penumbra.core.governance.v1alpha1.ProposalOutcome.Slashed", FIELDS, GeneratedVisitor) } } +impl serde::Serialize for proposal_outcome::Withdrawn { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.reason.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("penumbra.core.governance.v1alpha1.ProposalOutcome.Withdrawn", len)?; + if !self.reason.is_empty() { + struct_ser.serialize_field("reason", &self.reason)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for proposal_outcome::Withdrawn { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "reason", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Reason, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "reason" => Ok(GeneratedField::Reason), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = proposal_outcome::Withdrawn; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct penumbra.core.governance.v1alpha1.ProposalOutcome.Withdrawn") + } + + fn visit_map(self, mut map: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut reason__ = None; + while let Some(k) = map.next_key()? { + match k { + GeneratedField::Reason => { + if reason__.is_some() { + return Err(serde::de::Error::duplicate_field("reason")); + } + reason__ = Some(map.next_value()?); + } + } + } + Ok(proposal_outcome::Withdrawn { + reason: reason__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("penumbra.core.governance.v1alpha1.ProposalOutcome.Withdrawn", FIELDS, GeneratedVisitor) + } +} impl serde::Serialize for ProposalState { #[allow(deprecated)] fn serialize(&self, serializer: S) -> std::result::Result diff --git a/crates/proto/src/gen/proto_descriptor.bin b/crates/proto/src/gen/proto_descriptor.bin index 46ef22a213..a81f977785 100644 --- a/crates/proto/src/gen/proto_descriptor.bin +++ b/crates/proto/src/gen/proto_descriptor.bin @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:b26413cf77de0c42941729899f58226cd7e5d1c3cb8eaf4cbd6cd9e494132fb8 -size 331270 +oid sha256:63b53274589beec098814348adad57b541d0e5ee7926c04597663dd0a8064d3e +size 331622 diff --git a/proto/go/gen/penumbra/core/governance/v1alpha1/governance.pb.go b/proto/go/gen/penumbra/core/governance/v1alpha1/governance.pb.go index 86e9c6c181..6948b72635 100644 --- a/proto/go/gen/penumbra/core/governance/v1alpha1/governance.pb.go +++ b/proto/go/gen/penumbra/core/governance/v1alpha1/governance.pb.go @@ -1437,6 +1437,55 @@ func (x *ProposalState_Claimed) GetOutcome() *ProposalOutcome { return nil } +// Whether or not the proposal was withdrawn. +type ProposalOutcome_Withdrawn struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The reason for withdrawing the proposal during the voting period. + Reason string `protobuf:"bytes,1,opt,name=reason,proto3" json:"reason,omitempty"` +} + +func (x *ProposalOutcome_Withdrawn) Reset() { + *x = ProposalOutcome_Withdrawn{} + if protoimpl.UnsafeEnabled { + mi := &file_penumbra_core_governance_v1alpha1_governance_proto_msgTypes[20] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ProposalOutcome_Withdrawn) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ProposalOutcome_Withdrawn) ProtoMessage() {} + +func (x *ProposalOutcome_Withdrawn) ProtoReflect() protoreflect.Message { + mi := &file_penumbra_core_governance_v1alpha1_governance_proto_msgTypes[20] + 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 ProposalOutcome_Withdrawn.ProtoReflect.Descriptor instead. +func (*ProposalOutcome_Withdrawn) Descriptor() ([]byte, []int) { + return file_penumbra_core_governance_v1alpha1_governance_proto_rawDescGZIP(), []int{13, 0} +} + +func (x *ProposalOutcome_Withdrawn) GetReason() string { + if x != nil { + return x.Reason + } + return "" +} + // The proposal was passed. type ProposalOutcome_Passed struct { state protoimpl.MessageState @@ -1447,7 +1496,7 @@ type ProposalOutcome_Passed struct { func (x *ProposalOutcome_Passed) Reset() { *x = ProposalOutcome_Passed{} if protoimpl.UnsafeEnabled { - mi := &file_penumbra_core_governance_v1alpha1_governance_proto_msgTypes[20] + mi := &file_penumbra_core_governance_v1alpha1_governance_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1460,7 +1509,7 @@ func (x *ProposalOutcome_Passed) String() string { func (*ProposalOutcome_Passed) ProtoMessage() {} func (x *ProposalOutcome_Passed) ProtoReflect() protoreflect.Message { - mi := &file_penumbra_core_governance_v1alpha1_governance_proto_msgTypes[20] + mi := &file_penumbra_core_governance_v1alpha1_governance_proto_msgTypes[21] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1473,7 +1522,7 @@ func (x *ProposalOutcome_Passed) ProtoReflect() protoreflect.Message { // Deprecated: Use ProposalOutcome_Passed.ProtoReflect.Descriptor instead. func (*ProposalOutcome_Passed) Descriptor() ([]byte, []int) { - return file_penumbra_core_governance_v1alpha1_governance_proto_rawDescGZIP(), []int{13, 0} + return file_penumbra_core_governance_v1alpha1_governance_proto_rawDescGZIP(), []int{13, 1} } // The proposal did not pass. @@ -1482,14 +1531,14 @@ type ProposalOutcome_Failed struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // The proposal was withdrawn during the voting period. - WithdrawnWithReason string `protobuf:"bytes,1,opt,name=withdrawn_with_reason,json=withdrawnWithReason,proto3" json:"withdrawn_with_reason,omitempty"` + // Present if the proposal was withdrawn during the voting period. + Withdrawn *ProposalOutcome_Withdrawn `protobuf:"bytes,1,opt,name=withdrawn,proto3" json:"withdrawn,omitempty"` } func (x *ProposalOutcome_Failed) Reset() { *x = ProposalOutcome_Failed{} if protoimpl.UnsafeEnabled { - mi := &file_penumbra_core_governance_v1alpha1_governance_proto_msgTypes[21] + mi := &file_penumbra_core_governance_v1alpha1_governance_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1502,7 +1551,7 @@ func (x *ProposalOutcome_Failed) String() string { func (*ProposalOutcome_Failed) ProtoMessage() {} func (x *ProposalOutcome_Failed) ProtoReflect() protoreflect.Message { - mi := &file_penumbra_core_governance_v1alpha1_governance_proto_msgTypes[21] + mi := &file_penumbra_core_governance_v1alpha1_governance_proto_msgTypes[22] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1515,14 +1564,14 @@ func (x *ProposalOutcome_Failed) ProtoReflect() protoreflect.Message { // Deprecated: Use ProposalOutcome_Failed.ProtoReflect.Descriptor instead. func (*ProposalOutcome_Failed) Descriptor() ([]byte, []int) { - return file_penumbra_core_governance_v1alpha1_governance_proto_rawDescGZIP(), []int{13, 1} + return file_penumbra_core_governance_v1alpha1_governance_proto_rawDescGZIP(), []int{13, 2} } -func (x *ProposalOutcome_Failed) GetWithdrawnWithReason() string { +func (x *ProposalOutcome_Failed) GetWithdrawn() *ProposalOutcome_Withdrawn { if x != nil { - return x.WithdrawnWithReason + return x.Withdrawn } - return "" + return nil } // The proposal did not pass, and was slashed. @@ -1531,14 +1580,14 @@ type ProposalOutcome_Slashed struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // The proposal was withdrawn during the voting period. - WithdrawnWithReason string `protobuf:"bytes,1,opt,name=withdrawn_with_reason,json=withdrawnWithReason,proto3" json:"withdrawn_with_reason,omitempty"` + // Present if the proposal was withdrawn during the voting period. + Withdrawn *ProposalOutcome_Withdrawn `protobuf:"bytes,1,opt,name=withdrawn,proto3" json:"withdrawn,omitempty"` } func (x *ProposalOutcome_Slashed) Reset() { *x = ProposalOutcome_Slashed{} if protoimpl.UnsafeEnabled { - mi := &file_penumbra_core_governance_v1alpha1_governance_proto_msgTypes[22] + mi := &file_penumbra_core_governance_v1alpha1_governance_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1551,7 +1600,7 @@ func (x *ProposalOutcome_Slashed) String() string { func (*ProposalOutcome_Slashed) ProtoMessage() {} func (x *ProposalOutcome_Slashed) ProtoReflect() protoreflect.Message { - mi := &file_penumbra_core_governance_v1alpha1_governance_proto_msgTypes[22] + mi := &file_penumbra_core_governance_v1alpha1_governance_proto_msgTypes[23] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1564,14 +1613,14 @@ func (x *ProposalOutcome_Slashed) ProtoReflect() protoreflect.Message { // Deprecated: Use ProposalOutcome_Slashed.ProtoReflect.Descriptor instead. func (*ProposalOutcome_Slashed) Descriptor() ([]byte, []int) { - return file_penumbra_core_governance_v1alpha1_governance_proto_rawDescGZIP(), []int{13, 2} + return file_penumbra_core_governance_v1alpha1_governance_proto_rawDescGZIP(), []int{13, 3} } -func (x *ProposalOutcome_Slashed) GetWithdrawnWithReason() string { +func (x *ProposalOutcome_Slashed) GetWithdrawn() *ProposalOutcome_Withdrawn { if x != nil { - return x.WithdrawnWithReason + return x.Withdrawn } - return "" + return nil } // A signaling proposal is meant to register a vote on-chain, but does not have an automatic @@ -1590,7 +1639,7 @@ type Proposal_Signaling struct { func (x *Proposal_Signaling) Reset() { *x = Proposal_Signaling{} if protoimpl.UnsafeEnabled { - mi := &file_penumbra_core_governance_v1alpha1_governance_proto_msgTypes[23] + mi := &file_penumbra_core_governance_v1alpha1_governance_proto_msgTypes[24] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1603,7 +1652,7 @@ func (x *Proposal_Signaling) String() string { func (*Proposal_Signaling) ProtoMessage() {} func (x *Proposal_Signaling) ProtoReflect() protoreflect.Message { - mi := &file_penumbra_core_governance_v1alpha1_governance_proto_msgTypes[23] + mi := &file_penumbra_core_governance_v1alpha1_governance_proto_msgTypes[24] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1643,7 +1692,7 @@ type Proposal_Emergency struct { func (x *Proposal_Emergency) Reset() { *x = Proposal_Emergency{} if protoimpl.UnsafeEnabled { - mi := &file_penumbra_core_governance_v1alpha1_governance_proto_msgTypes[24] + mi := &file_penumbra_core_governance_v1alpha1_governance_proto_msgTypes[25] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1656,7 +1705,7 @@ func (x *Proposal_Emergency) String() string { func (*Proposal_Emergency) ProtoMessage() {} func (x *Proposal_Emergency) ProtoReflect() protoreflect.Message { - mi := &file_penumbra_core_governance_v1alpha1_governance_proto_msgTypes[24] + mi := &file_penumbra_core_governance_v1alpha1_governance_proto_msgTypes[25] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1698,7 +1747,7 @@ type Proposal_ParameterChange struct { func (x *Proposal_ParameterChange) Reset() { *x = Proposal_ParameterChange{} if protoimpl.UnsafeEnabled { - mi := &file_penumbra_core_governance_v1alpha1_governance_proto_msgTypes[25] + mi := &file_penumbra_core_governance_v1alpha1_governance_proto_msgTypes[26] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1711,7 +1760,7 @@ func (x *Proposal_ParameterChange) String() string { func (*Proposal_ParameterChange) ProtoMessage() {} func (x *Proposal_ParameterChange) ProtoReflect() protoreflect.Message { - mi := &file_penumbra_core_governance_v1alpha1_governance_proto_msgTypes[25] + mi := &file_penumbra_core_governance_v1alpha1_governance_proto_msgTypes[26] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1758,7 +1807,7 @@ type Proposal_DaoSpend struct { func (x *Proposal_DaoSpend) Reset() { *x = Proposal_DaoSpend{} if protoimpl.UnsafeEnabled { - mi := &file_penumbra_core_governance_v1alpha1_governance_proto_msgTypes[26] + mi := &file_penumbra_core_governance_v1alpha1_governance_proto_msgTypes[27] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1771,7 +1820,7 @@ func (x *Proposal_DaoSpend) String() string { func (*Proposal_DaoSpend) ProtoMessage() {} func (x *Proposal_DaoSpend) ProtoReflect() protoreflect.Message { - mi := &file_penumbra_core_governance_v1alpha1_governance_proto_msgTypes[26] + mi := &file_penumbra_core_governance_v1alpha1_governance_proto_msgTypes[27] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1995,8 +2044,8 @@ var file_penumbra_core_governance_v1alpha1_governance_proto_rawDesc = []byte{ 0x62, 0x72, 0x61, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x67, 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x61, 0x6c, 0x4f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x52, 0x07, 0x6f, 0x75, - 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x42, 0x07, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x22, 0xa5, - 0x03, 0x0a, 0x0f, 0x50, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x61, 0x6c, 0x4f, 0x75, 0x74, 0x63, 0x6f, + 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x42, 0x07, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x22, 0x9a, + 0x04, 0x0a, 0x0f, 0x50, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x61, 0x6c, 0x4f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x12, 0x53, 0x0a, 0x06, 0x70, 0x61, 0x73, 0x73, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x70, 0x65, 0x6e, 0x75, 0x6d, 0x62, 0x72, 0x61, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x67, 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x76, 0x31, @@ -2013,91 +2062,98 @@ var file_penumbra_core_governance_v1alpha1_governance_proto_rawDesc = []byte{ 0x76, 0x65, 0x72, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x61, 0x6c, 0x4f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x2e, 0x53, 0x6c, 0x61, 0x73, 0x68, 0x65, 0x64, 0x48, 0x00, 0x52, 0x07, 0x73, 0x6c, 0x61, - 0x73, 0x68, 0x65, 0x64, 0x1a, 0x08, 0x0a, 0x06, 0x50, 0x61, 0x73, 0x73, 0x65, 0x64, 0x1a, 0x3c, - 0x0a, 0x06, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x12, 0x32, 0x0a, 0x15, 0x77, 0x69, 0x74, 0x68, - 0x64, 0x72, 0x61, 0x77, 0x6e, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, - 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x77, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, - 0x77, 0x6e, 0x57, 0x69, 0x74, 0x68, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x1a, 0x3d, 0x0a, 0x07, - 0x53, 0x6c, 0x61, 0x73, 0x68, 0x65, 0x64, 0x12, 0x32, 0x0a, 0x15, 0x77, 0x69, 0x74, 0x68, 0x64, - 0x72, 0x61, 0x77, 0x6e, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x77, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, - 0x6e, 0x57, 0x69, 0x74, 0x68, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x42, 0x09, 0x0a, 0x07, 0x6f, - 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x22, 0x43, 0x0a, 0x05, 0x54, 0x61, 0x6c, 0x6c, 0x79, 0x12, - 0x10, 0x0a, 0x03, 0x79, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x79, 0x65, - 0x73, 0x12, 0x0e, 0x0a, 0x02, 0x6e, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x6e, - 0x6f, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x62, 0x73, 0x74, 0x61, 0x69, 0x6e, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x04, 0x52, 0x07, 0x61, 0x62, 0x73, 0x74, 0x61, 0x69, 0x6e, 0x22, 0x95, 0x06, 0x0a, 0x08, - 0x50, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x61, 0x6c, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x20, - 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x12, 0x53, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x69, 0x6e, 0x67, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x70, 0x65, 0x6e, 0x75, 0x6d, 0x62, 0x72, 0x61, 0x2e, 0x63, - 0x6f, 0x72, 0x65, 0x2e, 0x67, 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x76, - 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x61, 0x6c, - 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x69, 0x6e, 0x67, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, - 0x61, 0x6c, 0x69, 0x6e, 0x67, 0x12, 0x53, 0x0a, 0x09, 0x65, 0x6d, 0x65, 0x72, 0x67, 0x65, 0x6e, - 0x63, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x70, 0x65, 0x6e, 0x75, 0x6d, + 0x73, 0x68, 0x65, 0x64, 0x1a, 0x23, 0x0a, 0x09, 0x57, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, + 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x1a, 0x08, 0x0a, 0x06, 0x50, 0x61, 0x73, + 0x73, 0x65, 0x64, 0x1a, 0x64, 0x0a, 0x06, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x12, 0x5a, 0x0a, + 0x09, 0x77, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x3c, 0x2e, 0x70, 0x65, 0x6e, 0x75, 0x6d, 0x62, 0x72, 0x61, 0x2e, 0x63, 0x6f, 0x72, 0x65, + 0x2e, 0x67, 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x76, 0x31, 0x61, 0x6c, + 0x70, 0x68, 0x61, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x61, 0x6c, 0x4f, 0x75, 0x74, + 0x63, 0x6f, 0x6d, 0x65, 0x2e, 0x57, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x6e, 0x52, 0x09, + 0x77, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x6e, 0x1a, 0x65, 0x0a, 0x07, 0x53, 0x6c, 0x61, + 0x73, 0x68, 0x65, 0x64, 0x12, 0x5a, 0x0a, 0x09, 0x77, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, + 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x70, 0x65, 0x6e, 0x75, 0x6d, 0x62, + 0x72, 0x61, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x67, 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x61, 0x6e, + 0x63, 0x65, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x70, + 0x6f, 0x73, 0x61, 0x6c, 0x4f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x2e, 0x57, 0x69, 0x74, 0x68, + 0x64, 0x72, 0x61, 0x77, 0x6e, 0x52, 0x09, 0x77, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x6e, + 0x42, 0x09, 0x0a, 0x07, 0x6f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x22, 0x43, 0x0a, 0x05, 0x54, + 0x61, 0x6c, 0x6c, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x79, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x04, 0x52, 0x03, 0x79, 0x65, 0x73, 0x12, 0x0e, 0x0a, 0x02, 0x6e, 0x6f, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x04, 0x52, 0x02, 0x6e, 0x6f, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x62, 0x73, 0x74, 0x61, 0x69, + 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x61, 0x62, 0x73, 0x74, 0x61, 0x69, 0x6e, + 0x22, 0x95, 0x06, 0x0a, 0x08, 0x50, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x61, 0x6c, 0x12, 0x0e, 0x0a, + 0x02, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x14, 0x0a, + 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, + 0x74, 0x6c, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x53, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x69, + 0x6e, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x70, 0x65, 0x6e, 0x75, 0x6d, 0x62, 0x72, 0x61, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x67, 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x50, 0x72, 0x6f, - 0x70, 0x6f, 0x73, 0x61, 0x6c, 0x2e, 0x45, 0x6d, 0x65, 0x72, 0x67, 0x65, 0x6e, 0x63, 0x79, 0x52, - 0x09, 0x65, 0x6d, 0x65, 0x72, 0x67, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x66, 0x0a, 0x10, 0x70, 0x61, - 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x07, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x70, 0x65, 0x6e, 0x75, 0x6d, 0x62, 0x72, 0x61, 0x2e, - 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x67, 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x2e, - 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x61, - 0x6c, 0x2e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x43, 0x68, 0x61, 0x6e, 0x67, - 0x65, 0x52, 0x0f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x43, 0x68, 0x61, 0x6e, - 0x67, 0x65, 0x12, 0x51, 0x0a, 0x09, 0x64, 0x61, 0x6f, 0x5f, 0x73, 0x70, 0x65, 0x6e, 0x64, 0x18, - 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x70, 0x65, 0x6e, 0x75, 0x6d, 0x62, 0x72, 0x61, - 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x67, 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x61, 0x6e, 0x63, 0x65, - 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x6f, 0x73, - 0x61, 0x6c, 0x2e, 0x44, 0x61, 0x6f, 0x53, 0x70, 0x65, 0x6e, 0x64, 0x52, 0x08, 0x64, 0x61, 0x6f, - 0x53, 0x70, 0x65, 0x6e, 0x64, 0x1a, 0x23, 0x0a, 0x09, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x69, - 0x6e, 0x67, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x1a, 0x2a, 0x0a, 0x09, 0x45, 0x6d, - 0x65, 0x72, 0x67, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x68, 0x61, 0x6c, 0x74, 0x5f, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x68, 0x61, 0x6c, - 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x1a, 0xbd, 0x01, 0x0a, 0x0f, 0x50, 0x61, 0x72, 0x61, 0x6d, - 0x65, 0x74, 0x65, 0x72, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x54, 0x0a, 0x0e, 0x6f, 0x6c, - 0x64, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x70, 0x65, 0x6e, 0x75, 0x6d, 0x62, 0x72, 0x61, 0x2e, 0x63, 0x6f, - 0x72, 0x65, 0x2e, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, - 0x31, 0x2e, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, - 0x73, 0x52, 0x0d, 0x6f, 0x6c, 0x64, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, - 0x12, 0x54, 0x0a, 0x0e, 0x6e, 0x65, 0x77, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, - 0x72, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x70, 0x65, 0x6e, 0x75, 0x6d, - 0x62, 0x72, 0x61, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x76, - 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x50, 0x61, 0x72, - 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x52, 0x0d, 0x6e, 0x65, 0x77, 0x50, 0x61, 0x72, 0x61, - 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x1a, 0x4b, 0x0a, 0x08, 0x44, 0x61, 0x6f, 0x53, 0x70, 0x65, - 0x6e, 0x64, 0x12, 0x3f, 0x0a, 0x10, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x5f, 0x70, 0x6c, 0x61, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, - 0x6e, 0x79, 0x52, 0x0f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, - 0x6c, 0x61, 0x6e, 0x42, 0xc4, 0x02, 0x0a, 0x25, 0x63, 0x6f, 0x6d, 0x2e, 0x70, 0x65, 0x6e, 0x75, + 0x70, 0x6f, 0x73, 0x61, 0x6c, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x69, 0x6e, 0x67, 0x52, + 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x69, 0x6e, 0x67, 0x12, 0x53, 0x0a, 0x09, 0x65, 0x6d, + 0x65, 0x72, 0x67, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, + 0x70, 0x65, 0x6e, 0x75, 0x6d, 0x62, 0x72, 0x61, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x67, 0x6f, + 0x76, 0x65, 0x72, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, + 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x61, 0x6c, 0x2e, 0x45, 0x6d, 0x65, 0x72, 0x67, + 0x65, 0x6e, 0x63, 0x79, 0x52, 0x09, 0x65, 0x6d, 0x65, 0x72, 0x67, 0x65, 0x6e, 0x63, 0x79, 0x12, + 0x66, 0x0a, 0x10, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x5f, 0x63, 0x68, 0x61, + 0x6e, 0x67, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x70, 0x65, 0x6e, 0x75, 0x6d, 0x62, 0x72, 0x61, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x67, 0x6f, 0x76, 0x65, 0x72, 0x6e, - 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x42, 0x0f, 0x47, - 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, - 0x5a, 0x63, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x70, 0x65, 0x6e, - 0x75, 0x6d, 0x62, 0x72, 0x61, 0x2d, 0x7a, 0x6f, 0x6e, 0x65, 0x2f, 0x70, 0x65, 0x6e, 0x75, 0x6d, - 0x62, 0x72, 0x61, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x2f, 0x67, 0x65, 0x6e, - 0x2f, 0x70, 0x65, 0x6e, 0x75, 0x6d, 0x62, 0x72, 0x61, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x67, - 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, - 0x61, 0x31, 0x3b, 0x67, 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x76, 0x31, 0x61, - 0x6c, 0x70, 0x68, 0x61, 0x31, 0xa2, 0x02, 0x03, 0x50, 0x43, 0x47, 0xaa, 0x02, 0x21, 0x50, 0x65, - 0x6e, 0x75, 0x6d, 0x62, 0x72, 0x61, 0x2e, 0x43, 0x6f, 0x72, 0x65, 0x2e, 0x47, 0x6f, 0x76, 0x65, - 0x72, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x56, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0xca, - 0x02, 0x21, 0x50, 0x65, 0x6e, 0x75, 0x6d, 0x62, 0x72, 0x61, 0x5c, 0x43, 0x6f, 0x72, 0x65, 0x5c, - 0x47, 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x5c, 0x56, 0x31, 0x61, 0x6c, 0x70, - 0x68, 0x61, 0x31, 0xe2, 0x02, 0x2d, 0x50, 0x65, 0x6e, 0x75, 0x6d, 0x62, 0x72, 0x61, 0x5c, 0x43, - 0x6f, 0x72, 0x65, 0x5c, 0x47, 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x5c, 0x56, - 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, - 0x61, 0x74, 0x61, 0xea, 0x02, 0x24, 0x50, 0x65, 0x6e, 0x75, 0x6d, 0x62, 0x72, 0x61, 0x3a, 0x3a, - 0x43, 0x6f, 0x72, 0x65, 0x3a, 0x3a, 0x47, 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x61, 0x6e, 0x63, 0x65, - 0x3a, 0x3a, 0x56, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x33, + 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x50, 0x72, + 0x6f, 0x70, 0x6f, 0x73, 0x61, 0x6c, 0x2e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, + 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x0f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, + 0x72, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x51, 0x0a, 0x09, 0x64, 0x61, 0x6f, 0x5f, 0x73, + 0x70, 0x65, 0x6e, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x70, 0x65, 0x6e, + 0x75, 0x6d, 0x62, 0x72, 0x61, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x67, 0x6f, 0x76, 0x65, 0x72, + 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x50, + 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x61, 0x6c, 0x2e, 0x44, 0x61, 0x6f, 0x53, 0x70, 0x65, 0x6e, 0x64, + 0x52, 0x08, 0x64, 0x61, 0x6f, 0x53, 0x70, 0x65, 0x6e, 0x64, 0x1a, 0x23, 0x0a, 0x09, 0x53, 0x69, + 0x67, 0x6e, 0x61, 0x6c, 0x69, 0x6e, 0x67, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x69, + 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x1a, + 0x2a, 0x0a, 0x09, 0x45, 0x6d, 0x65, 0x72, 0x67, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x1d, 0x0a, 0x0a, + 0x68, 0x61, 0x6c, 0x74, 0x5f, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x09, 0x68, 0x61, 0x6c, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x1a, 0xbd, 0x01, 0x0a, 0x0f, + 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, + 0x54, 0x0a, 0x0e, 0x6f, 0x6c, 0x64, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, + 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x70, 0x65, 0x6e, 0x75, 0x6d, 0x62, + 0x72, 0x61, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x76, 0x31, + 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x50, 0x61, 0x72, 0x61, + 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x52, 0x0d, 0x6f, 0x6c, 0x64, 0x50, 0x61, 0x72, 0x61, 0x6d, + 0x65, 0x74, 0x65, 0x72, 0x73, 0x12, 0x54, 0x0a, 0x0e, 0x6e, 0x65, 0x77, 0x5f, 0x70, 0x61, 0x72, + 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, + 0x70, 0x65, 0x6e, 0x75, 0x6d, 0x62, 0x72, 0x61, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x43, 0x68, 0x61, + 0x69, 0x6e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x52, 0x0d, 0x6e, 0x65, + 0x77, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x1a, 0x4b, 0x0a, 0x08, 0x44, + 0x61, 0x6f, 0x53, 0x70, 0x65, 0x6e, 0x64, 0x12, 0x3f, 0x0a, 0x10, 0x74, 0x72, 0x61, 0x6e, 0x73, + 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x6c, 0x61, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x0f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6c, 0x61, 0x6e, 0x42, 0xc4, 0x02, 0x0a, 0x25, 0x63, 0x6f, 0x6d, + 0x2e, 0x70, 0x65, 0x6e, 0x75, 0x6d, 0x62, 0x72, 0x61, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x67, + 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, + 0x61, 0x31, 0x42, 0x0f, 0x47, 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x50, 0x72, + 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x63, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, + 0x6d, 0x2f, 0x70, 0x65, 0x6e, 0x75, 0x6d, 0x62, 0x72, 0x61, 0x2d, 0x7a, 0x6f, 0x6e, 0x65, 0x2f, + 0x70, 0x65, 0x6e, 0x75, 0x6d, 0x62, 0x72, 0x61, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, + 0x6f, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x70, 0x65, 0x6e, 0x75, 0x6d, 0x62, 0x72, 0x61, 0x2f, 0x63, + 0x6f, 0x72, 0x65, 0x2f, 0x67, 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x2f, 0x76, + 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x3b, 0x67, 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x61, 0x6e, + 0x63, 0x65, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0xa2, 0x02, 0x03, 0x50, 0x43, 0x47, + 0xaa, 0x02, 0x21, 0x50, 0x65, 0x6e, 0x75, 0x6d, 0x62, 0x72, 0x61, 0x2e, 0x43, 0x6f, 0x72, 0x65, + 0x2e, 0x47, 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x56, 0x31, 0x61, 0x6c, + 0x70, 0x68, 0x61, 0x31, 0xca, 0x02, 0x21, 0x50, 0x65, 0x6e, 0x75, 0x6d, 0x62, 0x72, 0x61, 0x5c, + 0x43, 0x6f, 0x72, 0x65, 0x5c, 0x47, 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x5c, + 0x56, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0xe2, 0x02, 0x2d, 0x50, 0x65, 0x6e, 0x75, 0x6d, + 0x62, 0x72, 0x61, 0x5c, 0x43, 0x6f, 0x72, 0x65, 0x5c, 0x47, 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x61, + 0x6e, 0x63, 0x65, 0x5c, 0x56, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x5c, 0x47, 0x50, 0x42, + 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x24, 0x50, 0x65, 0x6e, 0x75, 0x6d, + 0x62, 0x72, 0x61, 0x3a, 0x3a, 0x43, 0x6f, 0x72, 0x65, 0x3a, 0x3a, 0x47, 0x6f, 0x76, 0x65, 0x72, + 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x3a, 0x3a, 0x56, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x62, + 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -2113,7 +2169,7 @@ func file_penumbra_core_governance_v1alpha1_governance_proto_rawDescGZIP() []byt } var file_penumbra_core_governance_v1alpha1_governance_proto_enumTypes = make([]protoimpl.EnumInfo, 1) -var file_penumbra_core_governance_v1alpha1_governance_proto_msgTypes = make([]protoimpl.MessageInfo, 27) +var file_penumbra_core_governance_v1alpha1_governance_proto_msgTypes = make([]protoimpl.MessageInfo, 28) var file_penumbra_core_governance_v1alpha1_governance_proto_goTypes = []interface{}{ (Vote_Vote)(0), // 0: penumbra.core.governance.v1alpha1.Vote.Vote (*ProposalSubmit)(nil), // 1: penumbra.core.governance.v1alpha1.ProposalSubmit @@ -2136,69 +2192,72 @@ var file_penumbra_core_governance_v1alpha1_governance_proto_goTypes = []interfac (*ProposalState_Withdrawn)(nil), // 18: penumbra.core.governance.v1alpha1.ProposalState.Withdrawn (*ProposalState_Finished)(nil), // 19: penumbra.core.governance.v1alpha1.ProposalState.Finished (*ProposalState_Claimed)(nil), // 20: penumbra.core.governance.v1alpha1.ProposalState.Claimed - (*ProposalOutcome_Passed)(nil), // 21: penumbra.core.governance.v1alpha1.ProposalOutcome.Passed - (*ProposalOutcome_Failed)(nil), // 22: penumbra.core.governance.v1alpha1.ProposalOutcome.Failed - (*ProposalOutcome_Slashed)(nil), // 23: penumbra.core.governance.v1alpha1.ProposalOutcome.Slashed - (*Proposal_Signaling)(nil), // 24: penumbra.core.governance.v1alpha1.Proposal.Signaling - (*Proposal_Emergency)(nil), // 25: penumbra.core.governance.v1alpha1.Proposal.Emergency - (*Proposal_ParameterChange)(nil), // 26: penumbra.core.governance.v1alpha1.Proposal.ParameterChange - (*Proposal_DaoSpend)(nil), // 27: penumbra.core.governance.v1alpha1.Proposal.DaoSpend - (*v1alpha1.Amount)(nil), // 28: penumbra.core.crypto.v1alpha1.Amount - (*v1alpha1.SpendAuthSignature)(nil), // 29: penumbra.core.crypto.v1alpha1.SpendAuthSignature - (*v1alpha1.IdentityKey)(nil), // 30: penumbra.core.crypto.v1alpha1.IdentityKey - (*v1alpha1.GovernanceKey)(nil), // 31: penumbra.core.crypto.v1alpha1.GovernanceKey - (*v1alpha1.ZKDelegatorVoteProof)(nil), // 32: penumbra.core.crypto.v1alpha1.ZKDelegatorVoteProof - (*v1alpha1.Value)(nil), // 33: penumbra.core.crypto.v1alpha1.Value - (*v1alpha1.Note)(nil), // 34: penumbra.core.crypto.v1alpha1.Note - (*v1alpha1.Address)(nil), // 35: penumbra.core.crypto.v1alpha1.Address - (*v1alpha11.ChainParameters)(nil), // 36: penumbra.core.chain.v1alpha1.ChainParameters - (*anypb.Any)(nil), // 37: google.protobuf.Any + (*ProposalOutcome_Withdrawn)(nil), // 21: penumbra.core.governance.v1alpha1.ProposalOutcome.Withdrawn + (*ProposalOutcome_Passed)(nil), // 22: penumbra.core.governance.v1alpha1.ProposalOutcome.Passed + (*ProposalOutcome_Failed)(nil), // 23: penumbra.core.governance.v1alpha1.ProposalOutcome.Failed + (*ProposalOutcome_Slashed)(nil), // 24: penumbra.core.governance.v1alpha1.ProposalOutcome.Slashed + (*Proposal_Signaling)(nil), // 25: penumbra.core.governance.v1alpha1.Proposal.Signaling + (*Proposal_Emergency)(nil), // 26: penumbra.core.governance.v1alpha1.Proposal.Emergency + (*Proposal_ParameterChange)(nil), // 27: penumbra.core.governance.v1alpha1.Proposal.ParameterChange + (*Proposal_DaoSpend)(nil), // 28: penumbra.core.governance.v1alpha1.Proposal.DaoSpend + (*v1alpha1.Amount)(nil), // 29: penumbra.core.crypto.v1alpha1.Amount + (*v1alpha1.SpendAuthSignature)(nil), // 30: penumbra.core.crypto.v1alpha1.SpendAuthSignature + (*v1alpha1.IdentityKey)(nil), // 31: penumbra.core.crypto.v1alpha1.IdentityKey + (*v1alpha1.GovernanceKey)(nil), // 32: penumbra.core.crypto.v1alpha1.GovernanceKey + (*v1alpha1.ZKDelegatorVoteProof)(nil), // 33: penumbra.core.crypto.v1alpha1.ZKDelegatorVoteProof + (*v1alpha1.Value)(nil), // 34: penumbra.core.crypto.v1alpha1.Value + (*v1alpha1.Note)(nil), // 35: penumbra.core.crypto.v1alpha1.Note + (*v1alpha1.Address)(nil), // 36: penumbra.core.crypto.v1alpha1.Address + (*v1alpha11.ChainParameters)(nil), // 37: penumbra.core.chain.v1alpha1.ChainParameters + (*anypb.Any)(nil), // 38: google.protobuf.Any } var file_penumbra_core_governance_v1alpha1_governance_proto_depIdxs = []int32{ 16, // 0: penumbra.core.governance.v1alpha1.ProposalSubmit.proposal:type_name -> penumbra.core.governance.v1alpha1.Proposal - 28, // 1: penumbra.core.governance.v1alpha1.ProposalSubmit.deposit_amount:type_name -> penumbra.core.crypto.v1alpha1.Amount - 28, // 2: penumbra.core.governance.v1alpha1.ProposalDepositClaim.deposit_amount:type_name -> penumbra.core.crypto.v1alpha1.Amount + 29, // 1: penumbra.core.governance.v1alpha1.ProposalSubmit.deposit_amount:type_name -> penumbra.core.crypto.v1alpha1.Amount + 29, // 2: penumbra.core.governance.v1alpha1.ProposalDepositClaim.deposit_amount:type_name -> penumbra.core.crypto.v1alpha1.Amount 14, // 3: penumbra.core.governance.v1alpha1.ProposalDepositClaim.outcome:type_name -> penumbra.core.governance.v1alpha1.ProposalOutcome 5, // 4: penumbra.core.governance.v1alpha1.ValidatorVote.body:type_name -> penumbra.core.governance.v1alpha1.ValidatorVoteBody - 29, // 5: penumbra.core.governance.v1alpha1.ValidatorVote.auth_sig:type_name -> penumbra.core.crypto.v1alpha1.SpendAuthSignature + 30, // 5: penumbra.core.governance.v1alpha1.ValidatorVote.auth_sig:type_name -> penumbra.core.crypto.v1alpha1.SpendAuthSignature 12, // 6: penumbra.core.governance.v1alpha1.ValidatorVoteBody.vote:type_name -> penumbra.core.governance.v1alpha1.Vote - 30, // 7: penumbra.core.governance.v1alpha1.ValidatorVoteBody.identity_key:type_name -> penumbra.core.crypto.v1alpha1.IdentityKey - 31, // 8: penumbra.core.governance.v1alpha1.ValidatorVoteBody.governance_key:type_name -> penumbra.core.crypto.v1alpha1.GovernanceKey + 31, // 7: penumbra.core.governance.v1alpha1.ValidatorVoteBody.identity_key:type_name -> penumbra.core.crypto.v1alpha1.IdentityKey + 32, // 8: penumbra.core.governance.v1alpha1.ValidatorVoteBody.governance_key:type_name -> penumbra.core.crypto.v1alpha1.GovernanceKey 7, // 9: penumbra.core.governance.v1alpha1.DelegatorVote.body:type_name -> penumbra.core.governance.v1alpha1.DelegatorVoteBody - 29, // 10: penumbra.core.governance.v1alpha1.DelegatorVote.auth_sig:type_name -> penumbra.core.crypto.v1alpha1.SpendAuthSignature - 32, // 11: penumbra.core.governance.v1alpha1.DelegatorVote.proof:type_name -> penumbra.core.crypto.v1alpha1.ZKDelegatorVoteProof + 30, // 10: penumbra.core.governance.v1alpha1.DelegatorVote.auth_sig:type_name -> penumbra.core.crypto.v1alpha1.SpendAuthSignature + 33, // 11: penumbra.core.governance.v1alpha1.DelegatorVote.proof:type_name -> penumbra.core.crypto.v1alpha1.ZKDelegatorVoteProof 12, // 12: penumbra.core.governance.v1alpha1.DelegatorVoteBody.vote:type_name -> penumbra.core.governance.v1alpha1.Vote - 33, // 13: penumbra.core.governance.v1alpha1.DelegatorVoteBody.value:type_name -> penumbra.core.crypto.v1alpha1.Value - 28, // 14: penumbra.core.governance.v1alpha1.DelegatorVoteBody.unbonded_amount:type_name -> penumbra.core.crypto.v1alpha1.Amount + 34, // 13: penumbra.core.governance.v1alpha1.DelegatorVoteBody.value:type_name -> penumbra.core.crypto.v1alpha1.Value + 29, // 14: penumbra.core.governance.v1alpha1.DelegatorVoteBody.unbonded_amount:type_name -> penumbra.core.crypto.v1alpha1.Amount 12, // 15: penumbra.core.governance.v1alpha1.DelegatorVotePlan.vote:type_name -> penumbra.core.governance.v1alpha1.Vote - 34, // 16: penumbra.core.governance.v1alpha1.DelegatorVotePlan.staked_note:type_name -> penumbra.core.crypto.v1alpha1.Note - 28, // 17: penumbra.core.governance.v1alpha1.DelegatorVotePlan.unbonded_amount:type_name -> penumbra.core.crypto.v1alpha1.Amount - 33, // 18: penumbra.core.governance.v1alpha1.DaoDeposit.value:type_name -> penumbra.core.crypto.v1alpha1.Value - 33, // 19: penumbra.core.governance.v1alpha1.DaoSpend.value:type_name -> penumbra.core.crypto.v1alpha1.Value - 33, // 20: penumbra.core.governance.v1alpha1.DaoOutput.value:type_name -> penumbra.core.crypto.v1alpha1.Value - 35, // 21: penumbra.core.governance.v1alpha1.DaoOutput.address:type_name -> penumbra.core.crypto.v1alpha1.Address + 35, // 16: penumbra.core.governance.v1alpha1.DelegatorVotePlan.staked_note:type_name -> penumbra.core.crypto.v1alpha1.Note + 29, // 17: penumbra.core.governance.v1alpha1.DelegatorVotePlan.unbonded_amount:type_name -> penumbra.core.crypto.v1alpha1.Amount + 34, // 18: penumbra.core.governance.v1alpha1.DaoDeposit.value:type_name -> penumbra.core.crypto.v1alpha1.Value + 34, // 19: penumbra.core.governance.v1alpha1.DaoSpend.value:type_name -> penumbra.core.crypto.v1alpha1.Value + 34, // 20: penumbra.core.governance.v1alpha1.DaoOutput.value:type_name -> penumbra.core.crypto.v1alpha1.Value + 36, // 21: penumbra.core.governance.v1alpha1.DaoOutput.address:type_name -> penumbra.core.crypto.v1alpha1.Address 0, // 22: penumbra.core.governance.v1alpha1.Vote.vote:type_name -> penumbra.core.governance.v1alpha1.Vote.Vote 17, // 23: penumbra.core.governance.v1alpha1.ProposalState.voting:type_name -> penumbra.core.governance.v1alpha1.ProposalState.Voting 18, // 24: penumbra.core.governance.v1alpha1.ProposalState.withdrawn:type_name -> penumbra.core.governance.v1alpha1.ProposalState.Withdrawn 19, // 25: penumbra.core.governance.v1alpha1.ProposalState.finished:type_name -> penumbra.core.governance.v1alpha1.ProposalState.Finished 20, // 26: penumbra.core.governance.v1alpha1.ProposalState.claimed:type_name -> penumbra.core.governance.v1alpha1.ProposalState.Claimed - 21, // 27: penumbra.core.governance.v1alpha1.ProposalOutcome.passed:type_name -> penumbra.core.governance.v1alpha1.ProposalOutcome.Passed - 22, // 28: penumbra.core.governance.v1alpha1.ProposalOutcome.failed:type_name -> penumbra.core.governance.v1alpha1.ProposalOutcome.Failed - 23, // 29: penumbra.core.governance.v1alpha1.ProposalOutcome.slashed:type_name -> penumbra.core.governance.v1alpha1.ProposalOutcome.Slashed - 24, // 30: penumbra.core.governance.v1alpha1.Proposal.signaling:type_name -> penumbra.core.governance.v1alpha1.Proposal.Signaling - 25, // 31: penumbra.core.governance.v1alpha1.Proposal.emergency:type_name -> penumbra.core.governance.v1alpha1.Proposal.Emergency - 26, // 32: penumbra.core.governance.v1alpha1.Proposal.parameter_change:type_name -> penumbra.core.governance.v1alpha1.Proposal.ParameterChange - 27, // 33: penumbra.core.governance.v1alpha1.Proposal.dao_spend:type_name -> penumbra.core.governance.v1alpha1.Proposal.DaoSpend + 22, // 27: penumbra.core.governance.v1alpha1.ProposalOutcome.passed:type_name -> penumbra.core.governance.v1alpha1.ProposalOutcome.Passed + 23, // 28: penumbra.core.governance.v1alpha1.ProposalOutcome.failed:type_name -> penumbra.core.governance.v1alpha1.ProposalOutcome.Failed + 24, // 29: penumbra.core.governance.v1alpha1.ProposalOutcome.slashed:type_name -> penumbra.core.governance.v1alpha1.ProposalOutcome.Slashed + 25, // 30: penumbra.core.governance.v1alpha1.Proposal.signaling:type_name -> penumbra.core.governance.v1alpha1.Proposal.Signaling + 26, // 31: penumbra.core.governance.v1alpha1.Proposal.emergency:type_name -> penumbra.core.governance.v1alpha1.Proposal.Emergency + 27, // 32: penumbra.core.governance.v1alpha1.Proposal.parameter_change:type_name -> penumbra.core.governance.v1alpha1.Proposal.ParameterChange + 28, // 33: penumbra.core.governance.v1alpha1.Proposal.dao_spend:type_name -> penumbra.core.governance.v1alpha1.Proposal.DaoSpend 14, // 34: penumbra.core.governance.v1alpha1.ProposalState.Finished.outcome:type_name -> penumbra.core.governance.v1alpha1.ProposalOutcome 14, // 35: penumbra.core.governance.v1alpha1.ProposalState.Claimed.outcome:type_name -> penumbra.core.governance.v1alpha1.ProposalOutcome - 36, // 36: penumbra.core.governance.v1alpha1.Proposal.ParameterChange.old_parameters:type_name -> penumbra.core.chain.v1alpha1.ChainParameters - 36, // 37: penumbra.core.governance.v1alpha1.Proposal.ParameterChange.new_parameters:type_name -> penumbra.core.chain.v1alpha1.ChainParameters - 37, // 38: penumbra.core.governance.v1alpha1.Proposal.DaoSpend.transaction_plan:type_name -> google.protobuf.Any - 39, // [39:39] is the sub-list for method output_type - 39, // [39:39] is the sub-list for method input_type - 39, // [39:39] is the sub-list for extension type_name - 39, // [39:39] is the sub-list for extension extendee - 0, // [0:39] is the sub-list for field type_name + 21, // 36: penumbra.core.governance.v1alpha1.ProposalOutcome.Failed.withdrawn:type_name -> penumbra.core.governance.v1alpha1.ProposalOutcome.Withdrawn + 21, // 37: penumbra.core.governance.v1alpha1.ProposalOutcome.Slashed.withdrawn:type_name -> penumbra.core.governance.v1alpha1.ProposalOutcome.Withdrawn + 37, // 38: penumbra.core.governance.v1alpha1.Proposal.ParameterChange.old_parameters:type_name -> penumbra.core.chain.v1alpha1.ChainParameters + 37, // 39: penumbra.core.governance.v1alpha1.Proposal.ParameterChange.new_parameters:type_name -> penumbra.core.chain.v1alpha1.ChainParameters + 38, // 40: penumbra.core.governance.v1alpha1.Proposal.DaoSpend.transaction_plan:type_name -> google.protobuf.Any + 41, // [41:41] is the sub-list for method output_type + 41, // [41:41] is the sub-list for method input_type + 41, // [41:41] is the sub-list for extension type_name + 41, // [41:41] is the sub-list for extension extendee + 0, // [0:41] is the sub-list for field type_name } func init() { file_penumbra_core_governance_v1alpha1_governance_proto_init() } @@ -2448,7 +2507,7 @@ func file_penumbra_core_governance_v1alpha1_governance_proto_init() { } } file_penumbra_core_governance_v1alpha1_governance_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ProposalOutcome_Passed); i { + switch v := v.(*ProposalOutcome_Withdrawn); i { case 0: return &v.state case 1: @@ -2460,7 +2519,7 @@ func file_penumbra_core_governance_v1alpha1_governance_proto_init() { } } file_penumbra_core_governance_v1alpha1_governance_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ProposalOutcome_Failed); i { + switch v := v.(*ProposalOutcome_Passed); i { case 0: return &v.state case 1: @@ -2472,7 +2531,7 @@ func file_penumbra_core_governance_v1alpha1_governance_proto_init() { } } file_penumbra_core_governance_v1alpha1_governance_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ProposalOutcome_Slashed); i { + switch v := v.(*ProposalOutcome_Failed); i { case 0: return &v.state case 1: @@ -2484,7 +2543,7 @@ func file_penumbra_core_governance_v1alpha1_governance_proto_init() { } } file_penumbra_core_governance_v1alpha1_governance_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Proposal_Signaling); i { + switch v := v.(*ProposalOutcome_Slashed); i { case 0: return &v.state case 1: @@ -2496,7 +2555,7 @@ func file_penumbra_core_governance_v1alpha1_governance_proto_init() { } } file_penumbra_core_governance_v1alpha1_governance_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Proposal_Emergency); i { + switch v := v.(*Proposal_Signaling); i { case 0: return &v.state case 1: @@ -2508,7 +2567,7 @@ func file_penumbra_core_governance_v1alpha1_governance_proto_init() { } } file_penumbra_core_governance_v1alpha1_governance_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Proposal_ParameterChange); i { + switch v := v.(*Proposal_Emergency); i { case 0: return &v.state case 1: @@ -2520,6 +2579,18 @@ func file_penumbra_core_governance_v1alpha1_governance_proto_init() { } } file_penumbra_core_governance_v1alpha1_governance_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Proposal_ParameterChange); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_penumbra_core_governance_v1alpha1_governance_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Proposal_DaoSpend); i { case 0: return &v.state @@ -2549,7 +2620,7 @@ func file_penumbra_core_governance_v1alpha1_governance_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_penumbra_core_governance_v1alpha1_governance_proto_rawDesc, NumEnums: 1, - NumMessages: 27, + NumMessages: 28, NumExtensions: 0, NumServices: 0, },