From c441d2f625c56523f6e449e7fc88415749c92208 Mon Sep 17 00:00:00 2001 From: Chris Czub Date: Mon, 15 Apr 2024 16:13:11 -0400 Subject: [PATCH] Add skeleton for ActionDutchAuctionWithdraw --- .../src/gen/proto_descriptor.bin.no_lfs | Bin 95074 -> 98361 bytes .../auction/src/auction/dutch/actions/mod.rs | 3 + .../src/auction/dutch/actions/withdraw.rs | 41 ++++++++ .../src/component/action_handler/dutch/mod.rs | 1 + .../action_handler/dutch/withdraw.rs | 18 ++++ ...enumbra.core.component.auction.v1alpha1.rs | 17 ++++ ...a.core.component.auction.v1alpha1.serde.rs | 96 ++++++++++++++++++ .../proto/src/gen/proto_descriptor.bin.no_lfs | Bin 384999 -> 388591 bytes .../component/auction/v1alpha1/auction.proto | 6 ++ 9 files changed, 182 insertions(+) create mode 100644 crates/core/component/auction/src/auction/dutch/actions/withdraw.rs create mode 100644 crates/core/component/auction/src/component/action_handler/dutch/withdraw.rs diff --git a/crates/cnidarium/src/gen/proto_descriptor.bin.no_lfs b/crates/cnidarium/src/gen/proto_descriptor.bin.no_lfs index d50e1bd8818eb8b4d521b590c16703d42bad4e23..2473a1298576d5c9e9dbca85f70e32b2fbc0518c 100644 GIT binary patch delta 24189 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 delta 20882 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 for pb::ActionDutchAuctionWithdraw { + fn from(domain: ActionDutchAuctionWithdraw) -> Self { + pb::ActionDutchAuctionWithdraw { + auction_id: Some(domain.auction_id.into()), + } + } +} + +impl TryFrom for ActionDutchAuctionWithdraw { + type Error = anyhow::Error; + + fn try_from(msg: pb::ActionDutchAuctionWithdraw) -> Result { + Ok(ActionDutchAuctionWithdraw { + auction_id: msg + .auction_id + .ok_or_else(|| { + anyhow!("ActionDutchAuctionWithdraw message is missing an auction_id") + })? + .try_into()?, + }) + } +} diff --git a/crates/core/component/auction/src/component/action_handler/dutch/mod.rs b/crates/core/component/auction/src/component/action_handler/dutch/mod.rs index a0320395cf..df290a3344 100644 --- a/crates/core/component/auction/src/component/action_handler/dutch/mod.rs +++ b/crates/core/component/auction/src/component/action_handler/dutch/mod.rs @@ -1,2 +1,3 @@ mod end; mod schedule; +mod withdraw; diff --git a/crates/core/component/auction/src/component/action_handler/dutch/withdraw.rs b/crates/core/component/auction/src/component/action_handler/dutch/withdraw.rs new file mode 100644 index 0000000000..e6d44ca029 --- /dev/null +++ b/crates/core/component/auction/src/component/action_handler/dutch/withdraw.rs @@ -0,0 +1,18 @@ +use anyhow::Result; +use async_trait::async_trait; +use cnidarium::StateWrite; +use cnidarium_component::ActionHandler; + +use crate::auction::dutch::actions::ActionDutchAuctionWithdraw; + +#[async_trait] +impl ActionHandler for ActionDutchAuctionWithdraw { + type CheckStatelessContext = (); + async fn check_stateless(&self, _context: ()) -> Result<()> { + Ok(()) + } + + async fn check_and_execute(&self, mut _state: S) -> Result<()> { + Ok(()) + } +} diff --git a/crates/proto/src/gen/penumbra.core.component.auction.v1alpha1.rs b/crates/proto/src/gen/penumbra.core.component.auction.v1alpha1.rs index 9b2da72f93..c4d9b18ea5 100644 --- a/crates/proto/src/gen/penumbra.core.component.auction.v1alpha1.rs +++ b/crates/proto/src/gen/penumbra.core.component.auction.v1alpha1.rs @@ -202,6 +202,23 @@ impl ::prost::Name for ActionDutchAuctionEnd { ) } } +/// Withdraw funds from the ended auction associated with the specified `auction_id` +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ActionDutchAuctionWithdraw { + /// The auction to withdraw. + #[prost(message, optional, tag = "1")] + pub auction_id: ::core::option::Option, +} +impl ::prost::Name for ActionDutchAuctionWithdraw { + const NAME: &'static str = "ActionDutchAuctionWithdraw"; + const PACKAGE: &'static str = "penumbra.core.component.auction.v1alpha1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!( + "penumbra.core.component.auction.v1alpha1.{}", Self::NAME + ) + } +} /// Generated client implementations. #[cfg(feature = "rpc")] pub mod query_service_client { diff --git a/crates/proto/src/gen/penumbra.core.component.auction.v1alpha1.serde.rs b/crates/proto/src/gen/penumbra.core.component.auction.v1alpha1.serde.rs index addb620772..5ad42ef762 100644 --- a/crates/proto/src/gen/penumbra.core.component.auction.v1alpha1.serde.rs +++ b/crates/proto/src/gen/penumbra.core.component.auction.v1alpha1.serde.rs @@ -189,6 +189,102 @@ impl<'de> serde::Deserialize<'de> for ActionDutchAuctionSchedule { deserializer.deserialize_struct("penumbra.core.component.auction.v1alpha1.ActionDutchAuctionSchedule", FIELDS, GeneratedVisitor) } } +impl serde::Serialize for ActionDutchAuctionWithdraw { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.auction_id.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("penumbra.core.component.auction.v1alpha1.ActionDutchAuctionWithdraw", len)?; + if let Some(v) = self.auction_id.as_ref() { + struct_ser.serialize_field("auctionId", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for ActionDutchAuctionWithdraw { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "auction_id", + "auctionId", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + AuctionId, + __SkipField__, + } + 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 { + "auctionId" | "auction_id" => Ok(GeneratedField::AuctionId), + _ => Ok(GeneratedField::__SkipField__), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = ActionDutchAuctionWithdraw; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct penumbra.core.component.auction.v1alpha1.ActionDutchAuctionWithdraw") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut auction_id__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::AuctionId => { + if auction_id__.is_some() { + return Err(serde::de::Error::duplicate_field("auctionId")); + } + auction_id__ = map_.next_value()?; + } + GeneratedField::__SkipField__ => { + let _ = map_.next_value::()?; + } + } + } + Ok(ActionDutchAuctionWithdraw { + auction_id: auction_id__, + }) + } + } + deserializer.deserialize_struct("penumbra.core.component.auction.v1alpha1.ActionDutchAuctionWithdraw", FIELDS, GeneratedVisitor) + } +} impl serde::Serialize for AuctionId { #[allow(deprecated)] fn serialize(&self, serializer: S) -> std::result::Result diff --git a/crates/proto/src/gen/proto_descriptor.bin.no_lfs b/crates/proto/src/gen/proto_descriptor.bin.no_lfs index 6ff75478eb71caed17c307b47814f7dd67ede248..b58c664fabbe8fa43fbdf1a26b22af958505ab2e 100644 GIT binary patch delta 24623 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 RjcIdxwJ|fj+E~xO^1l*m8oB@g delta 21071 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 OXm2Kaw6|V;_x}Ruz