20 #ifndef RIPPLE_PROTOCOL_INDEXES_H_INCLUDED
21 #define RIPPLE_PROTOCOL_INDEXES_H_INCLUDED
23 #include <ripple/basics/base_uint.h>
24 #include <ripple/protocol/Book.h>
25 #include <ripple/protocol/Keylet.h>
26 #include <ripple/protocol/LedgerFormats.h>
27 #include <ripple/protocol/Protocol.h>
28 #include <ripple/protocol/PublicKey.h>
29 #include <ripple/protocol/Serializer.h>
30 #include <ripple/protocol/UintTypes.h>
54 account(AccountID
const&
id) noexcept;
96 explicit book_t() =
default;
99 operator()(
Book const& b)
const;
120 return line(
id, issue.account, issue.currency);
143 explicit next_t() =
default;
Keylet ownerDir(AccountID const &id) noexcept
The root page of an account's directory.
The directory for the next lower quality.
@ ltTICKET
A ledger object which describes a ticket.
A pair of SHAMap key and LedgerEntryType.
std::uint32_t LedgerIndex
A ledger index.
A currency issued by an account.
Keylet const & amendments() noexcept
The index of the amendment table.
uint256 getBookBase(Book const &book)
Keylet nftoffer(AccountID const &owner, std::uint32_t seq)
An offer from an account to buy or sell an NFT.
Keylet offer(AccountID const &id, std::uint32_t seq) noexcept
An offer from an account.
Keylet const & skip() noexcept
The index of the "short" skip list.
Keylet child(uint256 const &key) noexcept
Any item that can be in an owner dir.
static const ticket_t ticket
@ ltCHECK
A ledger object which describes a check.
uint256 getQualityNext(uint256 const &uBase)
uint256 getTicketIndex(AccountID const &account, std::uint32_t ticketSeq)
Keylet operator()(Keylet const &k) const
@ ltDIR_NODE
A ledger object which contains a list of object identifiers.
Integers of any length that is a multiple of 32-bits.
Keylet escrow(AccountID const &src, std::uint32_t seq) noexcept
An escrow entry.
Keylet nftpage_min(AccountID const &owner)
NFT page keylets.
@ ltOFFER
A ledger object which describes an offer on the DEX.
Keylet nftpage(Keylet const &k, uint256 const &token)
The beginning of an order book.
Keylet account(AccountID const &id) noexcept
AccountID root.
@ ltNFTOKEN_OFFER
A ledger object which identifies an offer to buy or sell an NFT.
Keylet page(uint256 const &key, std::uint64_t index) noexcept
A page in a directory.
@ ltDEPOSIT_PREAUTH
A ledger object which describes a deposit preauthorization.
Keylet nft_sells(uint256 const &id) noexcept
The directory of sell offers for the specified NFT.
Keylet nftpage_max(AccountID const &owner)
A keylet for the owner's last possible NFT page.
Keylet operator()(AccountID const &id, std::uint32_t ticketSeq) const
Keylet nft_buys(uint256 const &id) noexcept
The directory of buy offers for the specified NFT.
Keylet line(AccountID const &id0, AccountID const &id1, Currency const ¤cy) noexcept
The index of a trust line for a given currency.
Keylet unchecked(uint256 const &key) noexcept
Any ledger entry.
Use hash_* containers for keys that do not need a cryptographically secure hashing algorithm.
Keylet payChan(AccountID const &src, AccountID const &dst, std::uint32_t seq) noexcept
A PaymentChannel.
A type that represents either a sequence value or a ticket value.
Keylet const & fees() noexcept
The (fixed) index of the object containing the ledger fees.
Keylet quality(Keylet const &k, std::uint64_t q) noexcept
The initial directory page for a specific quality.
static Keylet signers(AccountID const &account, std::uint32_t page) noexcept
Keylet operator()(uint256 const &key) const
Keylet const & negativeUNL() noexcept
The (fixed) index of the object containing the ledger negativeUNL.
Keylet check(AccountID const &id, std::uint32_t seq) noexcept
A Check.
Keylet depositPreauth(AccountID const &owner, AccountID const &preauthorized) noexcept
A DepositPreauth.
std::uint64_t getQuality(uint256 const &uBase)
A ticket belonging to an account.
base_uint< 160, detail::AccountIDTag > AccountID
A 160-bit unsigned that uniquely identifies an account.
Number root(Number f, unsigned d)