penumbra_community_pool/component/action_handler/
community_pool_output.rsuse anyhow::Result;
use async_trait::async_trait;
use cnidarium::StateWrite;
use cnidarium_component::ActionHandler;
use penumbra_sct::CommitmentSource;
use penumbra_shielded_pool::component::NoteManager;
use crate::CommunityPoolOutput;
#[async_trait]
impl ActionHandler for CommunityPoolOutput {
type CheckStatelessContext = ();
async fn check_stateless(&self, _context: ()) -> Result<()> {
Ok(())
}
async fn check_and_execute<S: StateWrite>(&self, mut state: S) -> Result<()> {
state
.mint_note(
self.value,
&self.address,
CommitmentSource::CommunityPoolOutput,
)
.await
}
}