pub struct ProtocolVersionGuardrail { /* private fields */ }Available on crate feature
payments only.Expand description
Restricts payment execution to explicit protocol name and version combinations.
Implementations§
Source§impl ProtocolVersionGuardrail
impl ProtocolVersionGuardrail
Sourcepub fn new<I>(allowed_protocols: I) -> ProtocolVersionGuardrailwhere
I: IntoIterator<Item = ProtocolDescriptor>,
pub fn new<I>(allowed_protocols: I) -> ProtocolVersionGuardrailwhere
I: IntoIterator<Item = ProtocolDescriptor>,
Creates a protocol-version guardrail.
Trait Implementations§
Source§impl PaymentPolicyGuardrail for ProtocolVersionGuardrail
impl PaymentPolicyGuardrail for ProtocolVersionGuardrail
Source§fn evaluate(
&self,
_record: &TransactionRecord,
protocol: &ProtocolDescriptor,
) -> PaymentPolicyDecision
fn evaluate( &self, _record: &TransactionRecord, protocol: &ProtocolDescriptor, ) -> PaymentPolicyDecision
Evaluates one canonical transaction under a specific protocol surface.
Auto Trait Implementations§
impl Freeze for ProtocolVersionGuardrail
impl RefUnwindSafe for ProtocolVersionGuardrail
impl Send for ProtocolVersionGuardrail
impl Sync for ProtocolVersionGuardrail
impl Unpin for ProtocolVersionGuardrail
impl UnsafeUnpin for ProtocolVersionGuardrail
impl UnwindSafe for ProtocolVersionGuardrail
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