pub struct PaymentAuditor { /* private fields */ }Available on crate feature
payments only.Expand description
Emits structured payment audit events through an adk-auth audit sink.
§Example
ⓘ
use std::sync::Arc;
use adk_auth::{AuditOutcome, FileAuditSink};
use adk_payments::auth::{AuthenticatedPaymentRequest, PaymentAuditor, PaymentOperation};
use adk_payments::domain::ProtocolDescriptor;
let auditor = PaymentAuditor::new(sink);
let request = AuthenticatedPaymentRequest::new("alice");
auditor
.record_operation(
&request,
&transaction,
&ProtocolDescriptor::acp("2026-01-30"),
PaymentOperation::CompleteCheckout,
AuditOutcome::Allowed,
false,
)
.await
.unwrap();Implementations§
Source§impl PaymentAuditor
impl PaymentAuditor
Sourcepub fn new(sink: Arc<dyn AuditSink>) -> PaymentAuditor
pub fn new(sink: Arc<dyn AuditSink>) -> PaymentAuditor
Creates a payment auditor backed by the provided sink.
Sourcepub async fn record_operation(
&self,
request: &AuthenticatedPaymentRequest,
record: &TransactionRecord,
protocol: &ProtocolDescriptor,
operation: PaymentOperation,
outcome: AuditOutcome,
intervention_occurred: bool,
) -> Result<(), PaymentsAuthError>
pub async fn record_operation( &self, request: &AuthenticatedPaymentRequest, record: &TransactionRecord, protocol: &ProtocolDescriptor, operation: PaymentOperation, outcome: AuditOutcome, intervention_occurred: bool, ) -> Result<(), PaymentsAuthError>
Records one sensitive payment operation with structured metadata.
§Errors
Returns PaymentsAuthError::AuditSink when the underlying sink fails.
Trait Implementations§
Source§impl Clone for PaymentAuditor
impl Clone for PaymentAuditor
Source§fn clone(&self) -> PaymentAuditor
fn clone(&self) -> PaymentAuditor
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for PaymentAuditor
impl !RefUnwindSafe for PaymentAuditor
impl Send for PaymentAuditor
impl Sync for PaymentAuditor
impl Unpin for PaymentAuditor
impl UnsafeUnpin for PaymentAuditor
impl !UnwindSafe for PaymentAuditor
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
Source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::RequestCreates a shared type from an unshared type.