pub struct TransactionValidator { /* private fields */ }Implementations§
Source§impl TransactionValidator
impl TransactionValidator
pub fn new(fee_payer_pubkey: Pubkey) -> Result<Self, KoraError>
pub async fn fetch_and_validate_token_mint( &self, mint: &Pubkey, rpc_client: &RpcClient, ) -> Result<Box<dyn TokenMint + Send + Sync>, KoraError>
pub async fn validate_transaction( &self, transaction_resolved: &mut VersionedTransactionResolved, rpc_client: &RpcClient, ) -> Result<(), KoraError>
pub fn validate_lamport_fee(&self, fee: u64) -> Result<(), KoraError>
pub fn is_disallowed_account(&self, account: &Pubkey) -> bool
pub async fn validate_token_payment( transaction_resolved: &mut VersionedTransactionResolved, required_lamports: u64, rpc_client: &RpcClient, expected_payment_destination: &Pubkey, ) -> Result<(), KoraError>
pub fn validate_strict_pricing_with_fee( fee_calculation: &TotalFeeCalculation, ) -> Result<(), KoraError>
Auto Trait Implementations§
impl Freeze for TransactionValidator
impl RefUnwindSafe for TransactionValidator
impl Send for TransactionValidator
impl Sync for TransactionValidator
impl Unpin for TransactionValidator
impl UnsafeUnpin for TransactionValidator
impl UnwindSafe for TransactionValidator
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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> 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 more