#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Transaction {
#[prost(message, optional, tag = "1")]
pub body: ::core::option::Option<TransactionBody>,
#[prost(message, optional, tag = "2")]
pub binding_sig: ::core::option::Option<
super::super::super::crypto::decaf377_rdsa::v1::BindingSignature,
>,
#[prost(message, optional, tag = "3")]
pub anchor: ::core::option::Option<super::super::super::crypto::tct::v1::MerkleRoot>,
}
impl ::prost::Name for Transaction {
const NAME: &'static str = "Transaction";
const PACKAGE: &'static str = "penumbra.core.transaction.v1";
fn full_name() -> ::prost::alloc::string::String {
::prost::alloc::format!("penumbra.core.transaction.v1.{}", Self::NAME)
}
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TransactionBody {
#[prost(message, repeated, tag = "1")]
pub actions: ::prost::alloc::vec::Vec<Action>,
#[prost(message, optional, tag = "2")]
pub transaction_parameters: ::core::option::Option<TransactionParameters>,
#[prost(message, optional, tag = "4")]
pub detection_data: ::core::option::Option<DetectionData>,
#[prost(message, optional, tag = "5")]
pub memo: ::core::option::Option<MemoCiphertext>,
}
impl ::prost::Name for TransactionBody {
const NAME: &'static str = "TransactionBody";
const PACKAGE: &'static str = "penumbra.core.transaction.v1";
fn full_name() -> ::prost::alloc::string::String {
::prost::alloc::format!("penumbra.core.transaction.v1.{}", Self::NAME)
}
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TransactionParameters {
#[prost(uint64, tag = "1")]
pub expiry_height: u64,
#[prost(string, tag = "2")]
pub chain_id: ::prost::alloc::string::String,
#[prost(message, optional, tag = "3")]
pub fee: ::core::option::Option<super::super::component::fee::v1::Fee>,
}
impl ::prost::Name for TransactionParameters {
const NAME: &'static str = "TransactionParameters";
const PACKAGE: &'static str = "penumbra.core.transaction.v1";
fn full_name() -> ::prost::alloc::string::String {
::prost::alloc::format!("penumbra.core.transaction.v1.{}", Self::NAME)
}
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DetectionData {
#[prost(message, repeated, tag = "4")]
pub fmd_clues: ::prost::alloc::vec::Vec<
super::super::super::crypto::decaf377_fmd::v1::Clue,
>,
}
impl ::prost::Name for DetectionData {
const NAME: &'static str = "DetectionData";
const PACKAGE: &'static str = "penumbra.core.transaction.v1";
fn full_name() -> ::prost::alloc::string::String {
::prost::alloc::format!("penumbra.core.transaction.v1.{}", Self::NAME)
}
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Action {
#[prost(
oneof = "action::Action",
tags = "1, 2, 3, 4, 16, 17, 18, 19, 20, 21, 22, 30, 31, 32, 34, 40, 41, 42, 50, 51, 52, 53, 54, 55, 200"
)]
pub action: ::core::option::Option<action::Action>,
}
pub mod action {
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Action {
#[prost(message, tag = "1")]
Spend(super::super::super::component::shielded_pool::v1::Spend),
#[prost(message, tag = "2")]
Output(super::super::super::component::shielded_pool::v1::Output),
#[prost(message, tag = "3")]
Swap(super::super::super::component::dex::v1::Swap),
#[prost(message, tag = "4")]
SwapClaim(super::super::super::component::dex::v1::SwapClaim),
#[prost(message, tag = "16")]
ValidatorDefinition(
super::super::super::component::stake::v1::ValidatorDefinition,
),
#[prost(message, tag = "17")]
IbcRelayAction(super::super::super::component::ibc::v1::IbcRelay),
#[prost(message, tag = "18")]
ProposalSubmit(super::super::super::component::governance::v1::ProposalSubmit),
#[prost(message, tag = "19")]
ProposalWithdraw(
super::super::super::component::governance::v1::ProposalWithdraw,
),
#[prost(message, tag = "20")]
ValidatorVote(super::super::super::component::governance::v1::ValidatorVote),
#[prost(message, tag = "21")]
DelegatorVote(super::super::super::component::governance::v1::DelegatorVote),
#[prost(message, tag = "22")]
ProposalDepositClaim(
super::super::super::component::governance::v1::ProposalDepositClaim,
),
#[prost(message, tag = "30")]
PositionOpen(super::super::super::component::dex::v1::PositionOpen),
#[prost(message, tag = "31")]
PositionClose(super::super::super::component::dex::v1::PositionClose),
#[prost(message, tag = "32")]
PositionWithdraw(super::super::super::component::dex::v1::PositionWithdraw),
#[prost(message, tag = "34")]
PositionRewardClaim(
super::super::super::component::dex::v1::PositionRewardClaim,
),
#[prost(message, tag = "40")]
Delegate(super::super::super::component::stake::v1::Delegate),
#[prost(message, tag = "41")]
Undelegate(super::super::super::component::stake::v1::Undelegate),
#[prost(message, tag = "42")]
UndelegateClaim(super::super::super::component::stake::v1::UndelegateClaim),
#[prost(message, tag = "50")]
CommunityPoolSpend(
super::super::super::component::governance::v1::CommunityPoolSpend,
),
#[prost(message, tag = "51")]
CommunityPoolOutput(
super::super::super::component::governance::v1::CommunityPoolOutput,
),
#[prost(message, tag = "52")]
CommunityPoolDeposit(
super::super::super::component::governance::v1::CommunityPoolDeposit,
),
#[prost(message, tag = "53")]
ActionDutchAuctionSchedule(
super::super::super::component::auction::v1::ActionDutchAuctionSchedule,
),
#[prost(message, tag = "54")]
ActionDutchAuctionEnd(
super::super::super::component::auction::v1::ActionDutchAuctionEnd,
),
#[prost(message, tag = "55")]
ActionDutchAuctionWithdraw(
super::super::super::component::auction::v1::ActionDutchAuctionWithdraw,
),
#[prost(message, tag = "200")]
Ics20Withdrawal(super::super::super::component::ibc::v1::Ics20Withdrawal),
}
}
impl ::prost::Name for Action {
const NAME: &'static str = "Action";
const PACKAGE: &'static str = "penumbra.core.transaction.v1";
fn full_name() -> ::prost::alloc::string::String {
::prost::alloc::format!("penumbra.core.transaction.v1.{}", Self::NAME)
}
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TransactionPerspective {
#[prost(message, repeated, tag = "1")]
pub payload_keys: ::prost::alloc::vec::Vec<PayloadKeyWithCommitment>,
#[prost(message, repeated, tag = "2")]
pub spend_nullifiers: ::prost::alloc::vec::Vec<NullifierWithNote>,
#[prost(message, repeated, tag = "3")]
pub advice_notes: ::prost::alloc::vec::Vec<
super::super::component::shielded_pool::v1::Note,
>,
#[prost(message, repeated, tag = "4")]
pub address_views: ::prost::alloc::vec::Vec<super::super::keys::v1::AddressView>,
#[prost(message, repeated, tag = "5")]
pub denoms: ::prost::alloc::vec::Vec<super::super::asset::v1::Metadata>,
#[prost(message, optional, tag = "6")]
pub transaction_id: ::core::option::Option<super::super::txhash::v1::TransactionId>,
#[prost(message, repeated, tag = "20")]
pub prices: ::prost::alloc::vec::Vec<super::super::asset::v1::EstimatedPrice>,
#[prost(message, repeated, tag = "30")]
pub extended_metadata: ::prost::alloc::vec::Vec<
transaction_perspective::ExtendedMetadataById,
>,
#[prost(message, repeated, tag = "40")]
pub creation_transaction_ids_by_nullifier: ::prost::alloc::vec::Vec<
transaction_perspective::CreationTransactionIdByNullifier,
>,
#[prost(message, repeated, tag = "50")]
pub nullification_transaction_ids_by_commitment: ::prost::alloc::vec::Vec<
transaction_perspective::NullificationTransactionIdByCommitment,
>,
#[prost(message, repeated, tag = "60")]
pub batch_swap_output_data: ::prost::alloc::vec::Vec<
super::super::component::dex::v1::BatchSwapOutputData,
>,
}
pub mod transaction_perspective {
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ExtendedMetadataById {
#[prost(message, optional, tag = "1")]
pub asset_id: ::core::option::Option<super::super::super::asset::v1::AssetId>,
#[prost(message, optional, tag = "2")]
pub extended_metadata: ::core::option::Option<::pbjson_types::Any>,
}
impl ::prost::Name for ExtendedMetadataById {
const NAME: &'static str = "ExtendedMetadataById";
const PACKAGE: &'static str = "penumbra.core.transaction.v1";
fn full_name() -> ::prost::alloc::string::String {
::prost::alloc::format!(
"penumbra.core.transaction.v1.TransactionPerspective.{}", Self::NAME
)
}
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CreationTransactionIdByNullifier {
#[prost(message, optional, tag = "1")]
pub nullifier: ::core::option::Option<
super::super::super::component::sct::v1::Nullifier,
>,
#[prost(message, optional, tag = "2")]
pub transaction_id: ::core::option::Option<
super::super::super::txhash::v1::TransactionId,
>,
}
impl ::prost::Name for CreationTransactionIdByNullifier {
const NAME: &'static str = "CreationTransactionIdByNullifier";
const PACKAGE: &'static str = "penumbra.core.transaction.v1";
fn full_name() -> ::prost::alloc::string::String {
::prost::alloc::format!(
"penumbra.core.transaction.v1.TransactionPerspective.{}", Self::NAME
)
}
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct NullificationTransactionIdByCommitment {
#[prost(message, optional, tag = "1")]
pub commitment: ::core::option::Option<
super::super::super::super::crypto::tct::v1::StateCommitment,
>,
#[prost(message, optional, tag = "2")]
pub transaction_id: ::core::option::Option<
super::super::super::txhash::v1::TransactionId,
>,
}
impl ::prost::Name for NullificationTransactionIdByCommitment {
const NAME: &'static str = "NullificationTransactionIdByCommitment";
const PACKAGE: &'static str = "penumbra.core.transaction.v1";
fn full_name() -> ::prost::alloc::string::String {
::prost::alloc::format!(
"penumbra.core.transaction.v1.TransactionPerspective.{}", Self::NAME
)
}
}
}
impl ::prost::Name for TransactionPerspective {
const NAME: &'static str = "TransactionPerspective";
const PACKAGE: &'static str = "penumbra.core.transaction.v1";
fn full_name() -> ::prost::alloc::string::String {
::prost::alloc::format!("penumbra.core.transaction.v1.{}", Self::NAME)
}
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PayloadKeyWithCommitment {
#[prost(message, optional, tag = "1")]
pub payload_key: ::core::option::Option<super::super::keys::v1::PayloadKey>,
#[prost(message, optional, tag = "2")]
pub commitment: ::core::option::Option<
super::super::super::crypto::tct::v1::StateCommitment,
>,
}
impl ::prost::Name for PayloadKeyWithCommitment {
const NAME: &'static str = "PayloadKeyWithCommitment";
const PACKAGE: &'static str = "penumbra.core.transaction.v1";
fn full_name() -> ::prost::alloc::string::String {
::prost::alloc::format!("penumbra.core.transaction.v1.{}", Self::NAME)
}
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct NullifierWithNote {
#[prost(message, optional, tag = "1")]
pub nullifier: ::core::option::Option<super::super::component::sct::v1::Nullifier>,
#[prost(message, optional, tag = "2")]
pub note: ::core::option::Option<super::super::component::shielded_pool::v1::Note>,
}
impl ::prost::Name for NullifierWithNote {
const NAME: &'static str = "NullifierWithNote";
const PACKAGE: &'static str = "penumbra.core.transaction.v1";
fn full_name() -> ::prost::alloc::string::String {
::prost::alloc::format!("penumbra.core.transaction.v1.{}", Self::NAME)
}
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TransactionView {
#[prost(message, optional, tag = "1")]
pub body_view: ::core::option::Option<TransactionBodyView>,
#[prost(message, optional, tag = "2")]
pub binding_sig: ::core::option::Option<
super::super::super::crypto::decaf377_rdsa::v1::BindingSignature,
>,
#[prost(message, optional, tag = "3")]
pub anchor: ::core::option::Option<super::super::super::crypto::tct::v1::MerkleRoot>,
}
impl ::prost::Name for TransactionView {
const NAME: &'static str = "TransactionView";
const PACKAGE: &'static str = "penumbra.core.transaction.v1";
fn full_name() -> ::prost::alloc::string::String {
::prost::alloc::format!("penumbra.core.transaction.v1.{}", Self::NAME)
}
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TransactionBodyView {
#[prost(message, repeated, tag = "1")]
pub action_views: ::prost::alloc::vec::Vec<ActionView>,
#[prost(message, optional, tag = "2")]
pub transaction_parameters: ::core::option::Option<TransactionParameters>,
#[prost(message, optional, tag = "4")]
pub detection_data: ::core::option::Option<DetectionData>,
#[prost(message, optional, tag = "5")]
pub memo_view: ::core::option::Option<MemoView>,
}
impl ::prost::Name for TransactionBodyView {
const NAME: &'static str = "TransactionBodyView";
const PACKAGE: &'static str = "penumbra.core.transaction.v1";
fn full_name() -> ::prost::alloc::string::String {
::prost::alloc::format!("penumbra.core.transaction.v1.{}", Self::NAME)
}
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ActionView {
#[prost(
oneof = "action_view::ActionView",
tags = "1, 2, 3, 4, 21, 16, 17, 18, 19, 20, 22, 30, 31, 32, 34, 41, 42, 50, 51, 52, 53, 54, 55, 43, 200"
)]
pub action_view: ::core::option::Option<action_view::ActionView>,
}
pub mod action_view {
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum ActionView {
#[prost(message, tag = "1")]
Spend(super::super::super::component::shielded_pool::v1::SpendView),
#[prost(message, tag = "2")]
Output(super::super::super::component::shielded_pool::v1::OutputView),
#[prost(message, tag = "3")]
Swap(super::super::super::component::dex::v1::SwapView),
#[prost(message, tag = "4")]
SwapClaim(super::super::super::component::dex::v1::SwapClaimView),
#[prost(message, tag = "21")]
DelegatorVote(super::super::super::component::governance::v1::DelegatorVoteView),
#[prost(message, tag = "16")]
ValidatorDefinition(
super::super::super::component::stake::v1::ValidatorDefinition,
),
#[prost(message, tag = "17")]
IbcRelayAction(super::super::super::component::ibc::v1::IbcRelay),
#[prost(message, tag = "18")]
ProposalSubmit(super::super::super::component::governance::v1::ProposalSubmit),
#[prost(message, tag = "19")]
ProposalWithdraw(
super::super::super::component::governance::v1::ProposalWithdraw,
),
#[prost(message, tag = "20")]
ValidatorVote(super::super::super::component::governance::v1::ValidatorVote),
#[prost(message, tag = "22")]
ProposalDepositClaim(
super::super::super::component::governance::v1::ProposalDepositClaim,
),
#[prost(message, tag = "30")]
PositionOpen(super::super::super::component::dex::v1::PositionOpen),
#[prost(message, tag = "31")]
PositionClose(super::super::super::component::dex::v1::PositionClose),
#[prost(message, tag = "32")]
PositionWithdraw(super::super::super::component::dex::v1::PositionWithdraw),
#[prost(message, tag = "34")]
PositionRewardClaim(
super::super::super::component::dex::v1::PositionRewardClaim,
),
#[prost(message, tag = "41")]
Delegate(super::super::super::component::stake::v1::Delegate),
#[prost(message, tag = "42")]
Undelegate(super::super::super::component::stake::v1::Undelegate),
#[prost(message, tag = "50")]
CommunityPoolSpend(
super::super::super::component::governance::v1::CommunityPoolSpend,
),
#[prost(message, tag = "51")]
CommunityPoolOutput(
super::super::super::component::governance::v1::CommunityPoolOutput,
),
#[prost(message, tag = "52")]
CommunityPoolDeposit(
super::super::super::component::governance::v1::CommunityPoolDeposit,
),
#[prost(message, tag = "53")]
ActionDutchAuctionSchedule(
super::super::super::component::auction::v1::ActionDutchAuctionScheduleView,
),
#[prost(message, tag = "54")]
ActionDutchAuctionEnd(
super::super::super::component::auction::v1::ActionDutchAuctionEnd,
),
#[prost(message, tag = "55")]
ActionDutchAuctionWithdraw(
super::super::super::component::auction::v1::ActionDutchAuctionWithdrawView,
),
#[prost(message, tag = "43")]
UndelegateClaim(super::super::super::component::stake::v1::UndelegateClaim),
#[prost(message, tag = "200")]
Ics20Withdrawal(super::super::super::component::ibc::v1::Ics20Withdrawal),
}
}
impl ::prost::Name for ActionView {
const NAME: &'static str = "ActionView";
const PACKAGE: &'static str = "penumbra.core.transaction.v1";
fn full_name() -> ::prost::alloc::string::String {
::prost::alloc::format!("penumbra.core.transaction.v1.{}", Self::NAME)
}
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AuthorizationData {
#[prost(message, optional, tag = "1")]
pub effect_hash: ::core::option::Option<super::super::txhash::v1::EffectHash>,
#[prost(message, repeated, tag = "2")]
pub spend_auths: ::prost::alloc::vec::Vec<
super::super::super::crypto::decaf377_rdsa::v1::SpendAuthSignature,
>,
#[prost(message, repeated, tag = "3")]
pub delegator_vote_auths: ::prost::alloc::vec::Vec<
super::super::super::crypto::decaf377_rdsa::v1::SpendAuthSignature,
>,
}
impl ::prost::Name for AuthorizationData {
const NAME: &'static str = "AuthorizationData";
const PACKAGE: &'static str = "penumbra.core.transaction.v1";
fn full_name() -> ::prost::alloc::string::String {
::prost::alloc::format!("penumbra.core.transaction.v1.{}", Self::NAME)
}
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct WitnessData {
#[prost(message, optional, tag = "1")]
pub anchor: ::core::option::Option<super::super::super::crypto::tct::v1::MerkleRoot>,
#[prost(message, repeated, tag = "2")]
pub state_commitment_proofs: ::prost::alloc::vec::Vec<
super::super::super::crypto::tct::v1::StateCommitmentProof,
>,
}
impl ::prost::Name for WitnessData {
const NAME: &'static str = "WitnessData";
const PACKAGE: &'static str = "penumbra.core.transaction.v1";
fn full_name() -> ::prost::alloc::string::String {
::prost::alloc::format!("penumbra.core.transaction.v1.{}", Self::NAME)
}
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TransactionPlan {
#[prost(message, repeated, tag = "1")]
pub actions: ::prost::alloc::vec::Vec<ActionPlan>,
#[prost(message, optional, tag = "2")]
pub transaction_parameters: ::core::option::Option<TransactionParameters>,
#[prost(message, optional, tag = "4")]
pub detection_data: ::core::option::Option<DetectionDataPlan>,
#[prost(message, optional, tag = "5")]
pub memo: ::core::option::Option<MemoPlan>,
}
impl ::prost::Name for TransactionPlan {
const NAME: &'static str = "TransactionPlan";
const PACKAGE: &'static str = "penumbra.core.transaction.v1";
fn full_name() -> ::prost::alloc::string::String {
::prost::alloc::format!("penumbra.core.transaction.v1.{}", Self::NAME)
}
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DetectionDataPlan {
#[prost(message, repeated, tag = "5")]
pub clue_plans: ::prost::alloc::vec::Vec<CluePlan>,
}
impl ::prost::Name for DetectionDataPlan {
const NAME: &'static str = "DetectionDataPlan";
const PACKAGE: &'static str = "penumbra.core.transaction.v1";
fn full_name() -> ::prost::alloc::string::String {
::prost::alloc::format!("penumbra.core.transaction.v1.{}", Self::NAME)
}
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ActionPlan {
#[prost(
oneof = "action_plan::Action",
tags = "1, 2, 3, 4, 16, 17, 18, 19, 20, 21, 22, 200, 30, 31, 32, 34, 40, 41, 42, 50, 51, 52, 53, 54, 55"
)]
pub action: ::core::option::Option<action_plan::Action>,
}
pub mod action_plan {
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Action {
#[prost(message, tag = "1")]
Spend(super::super::super::component::shielded_pool::v1::SpendPlan),
#[prost(message, tag = "2")]
Output(super::super::super::component::shielded_pool::v1::OutputPlan),
#[prost(message, tag = "3")]
Swap(super::super::super::component::dex::v1::SwapPlan),
#[prost(message, tag = "4")]
SwapClaim(super::super::super::component::dex::v1::SwapClaimPlan),
#[prost(message, tag = "16")]
ValidatorDefinition(
super::super::super::component::stake::v1::ValidatorDefinition,
),
#[prost(message, tag = "17")]
IbcRelayAction(super::super::super::component::ibc::v1::IbcRelay),
#[prost(message, tag = "18")]
ProposalSubmit(super::super::super::component::governance::v1::ProposalSubmit),
#[prost(message, tag = "19")]
ProposalWithdraw(
super::super::super::component::governance::v1::ProposalWithdraw,
),
#[prost(message, tag = "20")]
ValidatorVote(super::super::super::component::governance::v1::ValidatorVote),
#[prost(message, tag = "21")]
DelegatorVote(super::super::super::component::governance::v1::DelegatorVotePlan),
#[prost(message, tag = "22")]
ProposalDepositClaim(
super::super::super::component::governance::v1::ProposalDepositClaim,
),
#[prost(message, tag = "200")]
Ics20Withdrawal(super::super::super::component::ibc::v1::Ics20Withdrawal),
#[prost(message, tag = "30")]
PositionOpen(super::super::super::component::dex::v1::PositionOpen),
#[prost(message, tag = "31")]
PositionClose(super::super::super::component::dex::v1::PositionClose),
#[prost(message, tag = "32")]
PositionWithdraw(super::super::super::component::dex::v1::PositionWithdrawPlan),
#[prost(message, tag = "34")]
PositionRewardClaim(
super::super::super::component::dex::v1::PositionRewardClaimPlan,
),
#[prost(message, tag = "40")]
Delegate(super::super::super::component::stake::v1::Delegate),
#[prost(message, tag = "41")]
Undelegate(super::super::super::component::stake::v1::Undelegate),
#[prost(message, tag = "42")]
UndelegateClaim(super::super::super::component::stake::v1::UndelegateClaimPlan),
#[prost(message, tag = "50")]
CommunityPoolSpend(
super::super::super::component::governance::v1::CommunityPoolSpend,
),
#[prost(message, tag = "51")]
CommunityPoolOutput(
super::super::super::component::governance::v1::CommunityPoolOutput,
),
#[prost(message, tag = "52")]
CommunityPoolDeposit(
super::super::super::component::governance::v1::CommunityPoolDeposit,
),
#[prost(message, tag = "53")]
ActionDutchAuctionSchedule(
super::super::super::component::auction::v1::ActionDutchAuctionSchedule,
),
#[prost(message, tag = "54")]
ActionDutchAuctionEnd(
super::super::super::component::auction::v1::ActionDutchAuctionEnd,
),
#[prost(message, tag = "55")]
ActionDutchAuctionWithdraw(
super::super::super::component::auction::v1::ActionDutchAuctionWithdrawPlan,
),
}
}
impl ::prost::Name for ActionPlan {
const NAME: &'static str = "ActionPlan";
const PACKAGE: &'static str = "penumbra.core.transaction.v1";
fn full_name() -> ::prost::alloc::string::String {
::prost::alloc::format!("penumbra.core.transaction.v1.{}", Self::NAME)
}
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CluePlan {
#[prost(message, optional, tag = "1")]
pub address: ::core::option::Option<super::super::keys::v1::Address>,
#[prost(bytes = "vec", tag = "2")]
pub rseed: ::prost::alloc::vec::Vec<u8>,
#[prost(uint64, tag = "3")]
pub precision_bits: u64,
}
impl ::prost::Name for CluePlan {
const NAME: &'static str = "CluePlan";
const PACKAGE: &'static str = "penumbra.core.transaction.v1";
fn full_name() -> ::prost::alloc::string::String {
::prost::alloc::format!("penumbra.core.transaction.v1.{}", Self::NAME)
}
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MemoPlan {
#[prost(message, optional, tag = "1")]
pub plaintext: ::core::option::Option<MemoPlaintext>,
#[prost(bytes = "vec", tag = "2")]
pub key: ::prost::alloc::vec::Vec<u8>,
}
impl ::prost::Name for MemoPlan {
const NAME: &'static str = "MemoPlan";
const PACKAGE: &'static str = "penumbra.core.transaction.v1";
fn full_name() -> ::prost::alloc::string::String {
::prost::alloc::format!("penumbra.core.transaction.v1.{}", Self::NAME)
}
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MemoCiphertext {
#[prost(bytes = "vec", tag = "1")]
pub inner: ::prost::alloc::vec::Vec<u8>,
}
impl ::prost::Name for MemoCiphertext {
const NAME: &'static str = "MemoCiphertext";
const PACKAGE: &'static str = "penumbra.core.transaction.v1";
fn full_name() -> ::prost::alloc::string::String {
::prost::alloc::format!("penumbra.core.transaction.v1.{}", Self::NAME)
}
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MemoPlaintext {
#[prost(message, optional, tag = "1")]
pub return_address: ::core::option::Option<super::super::keys::v1::Address>,
#[prost(string, tag = "2")]
pub text: ::prost::alloc::string::String,
}
impl ::prost::Name for MemoPlaintext {
const NAME: &'static str = "MemoPlaintext";
const PACKAGE: &'static str = "penumbra.core.transaction.v1";
fn full_name() -> ::prost::alloc::string::String {
::prost::alloc::format!("penumbra.core.transaction.v1.{}", Self::NAME)
}
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MemoPlaintextView {
#[prost(message, optional, tag = "1")]
pub return_address: ::core::option::Option<super::super::keys::v1::AddressView>,
#[prost(string, tag = "2")]
pub text: ::prost::alloc::string::String,
}
impl ::prost::Name for MemoPlaintextView {
const NAME: &'static str = "MemoPlaintextView";
const PACKAGE: &'static str = "penumbra.core.transaction.v1";
fn full_name() -> ::prost::alloc::string::String {
::prost::alloc::format!("penumbra.core.transaction.v1.{}", Self::NAME)
}
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MemoView {
#[prost(oneof = "memo_view::MemoView", tags = "1, 2")]
pub memo_view: ::core::option::Option<memo_view::MemoView>,
}
pub mod memo_view {
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Visible {
#[prost(message, optional, tag = "1")]
pub ciphertext: ::core::option::Option<super::MemoCiphertext>,
#[prost(message, optional, tag = "2")]
pub plaintext: ::core::option::Option<super::MemoPlaintextView>,
}
impl ::prost::Name for Visible {
const NAME: &'static str = "Visible";
const PACKAGE: &'static str = "penumbra.core.transaction.v1";
fn full_name() -> ::prost::alloc::string::String {
::prost::alloc::format!(
"penumbra.core.transaction.v1.MemoView.{}", Self::NAME
)
}
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Opaque {
#[prost(message, optional, tag = "1")]
pub ciphertext: ::core::option::Option<super::MemoCiphertext>,
}
impl ::prost::Name for Opaque {
const NAME: &'static str = "Opaque";
const PACKAGE: &'static str = "penumbra.core.transaction.v1";
fn full_name() -> ::prost::alloc::string::String {
::prost::alloc::format!(
"penumbra.core.transaction.v1.MemoView.{}", Self::NAME
)
}
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum MemoView {
#[prost(message, tag = "1")]
Visible(Visible),
#[prost(message, tag = "2")]
Opaque(Opaque),
}
}
impl ::prost::Name for MemoView {
const NAME: &'static str = "MemoView";
const PACKAGE: &'static str = "penumbra.core.transaction.v1";
fn full_name() -> ::prost::alloc::string::String {
::prost::alloc::format!("penumbra.core.transaction.v1.{}", Self::NAME)
}
}