Clio  develop
The XRP Ledger API server.
Loading...
Searching...
No Matches
TransactionFilter.hpp
1#pragma once
2
3#include "data/Types.hpp"
4#include "rpc/common/Types.hpp"
5
6#include <xrpl/protocol/AccountID.h>
7
8#include <optional>
9
10namespace rpc {
11
16public:
20 struct CheckResult {
27 CheckResult(xrpl::AccountID account, DelegateFilter::Role role)
28 : account{account}, role{role}
29 {
30 }
31
32 xrpl::AccountID account;
34 };
35
36 virtual ~TransactionFilter() = default;
37
45 [[nodiscard]] virtual std::optional<CheckResult>
46 check(data::TransactionAndMetadata const& txnPlusMeta) const = 0;
47};
48
49} // namespace rpc
Interface for filtering transactions.
Definition TransactionFilter.hpp:15
virtual std::optional< CheckResult > check(data::TransactionAndMetadata const &txnPlusMeta) const =0
Check if a transaction blob matches the filter criteria.
This namespace contains all the RPC logic and handlers.
Definition AMMHelpers.cpp:17
Represents a transaction and its metadata bundled together.
Definition Types.hpp:49
Role
A delegate type used in delegate filter.
Definition Types.hpp:185
CheckResult(xrpl::AccountID account, DelegateFilter::Role role)
Construct a check result.
Definition TransactionFilter.hpp:27