ic_papi_guard/guards/
mod.rs

1//! Guards for specific flows
2
3use ic_papi_api::{caller::TokenAmount, PaymentError};
4pub mod any;
5pub mod attached_cycles;
6pub mod caller_pays_icrc2_cycles;
7pub mod caller_pays_icrc2_tokens;
8pub mod patron_pays_icrc2_cycles;
9pub mod patron_pays_icrc2_tokens;
10
11#[allow(async_fn_in_trait)]
12pub trait PaymentGuardTrait {
13    async fn deduct(&self, fee: TokenAmount) -> Result<(), PaymentError>;
14}