#pragma once #include #include namespace xrpl { class STLedgerEntry; /** * A pair of SHAMap key and LedgerEntryType. * * A Keylet identifies both a key in the state map * and its ledger entry type. * * @note Keylet is a portmanteau of the words key * and LET, an acronym for LedgerEntryType. */ struct Keylet { uint256 key; LedgerEntryType type; Keylet(LedgerEntryType type, uint256 const& key) : key(key), type(type) { } /** * Returns true if the SLE matches the type */ [[nodiscard]] bool check(STLedgerEntry const&) const; }; } // namespace xrpl