diff --git a/AMMInfo_8cpp_source.html b/AMMInfo_8cpp_source.html
index 5b33f67564..b6ff049b5e 100644
--- a/AMMInfo_8cpp_source.html
+++ b/AMMInfo_8cpp_source.html
@@ -85,264 +85,265 @@ $(document).ready(function() { init_codefold(0); });
2#include <xrpld/app/misc/AMMUtils.h>
3#include <xrpld/rpc/Context.h>
4#include <xrpld/rpc/detail/RPCHelpers.h>
-
- 6#include <xrpl/json/json_value.h>
- 7#include <xrpl/ledger/ReadView.h>
- 8#include <xrpl/protocol/AMMCore.h>
- 9#include <xrpl/protocol/Issue.h>
-
- 11#include <grpcpp/support/status.h>
-
-
-
-
-
-
-
-
-
-
-
-
-
23 for (
auto it = jv.begin(); it != jv.end(); ++it)
-
24 result[it.memberName()] = (*it);
-
-
-
-
-
+
5#include <xrpld/rpc/detail/RPCLedgerHelpers.h>
+
+
7#include <xrpl/json/json_value.h>
+
8#include <xrpl/ledger/ReadView.h>
+
9#include <xrpl/protocol/AMMCore.h>
+
10#include <xrpl/protocol/Issue.h>
+
+
12#include <grpcpp/support/status.h>
+
+
+
+
+
+
+
+
+
+
+
+
+
24 for (
auto it = jv.begin(); it != jv.end(); ++it)
+
25 result[it.memberName()] = (*it);
+
+
+
+
+
-
-
31Expected<Issue, error_code_i>
-
-
-
-
-
-
-
-
-
-
40 JLOG(j.
debug()) <<
"getIssue " << ex.
what();
-
-
-
+
+
32Expected<Issue, error_code_i>
+
+
+
+
+
+
+
+
+
+
41 JLOG(j.
debug()) <<
"getIssue " << ex.
what();
+
+
+
-
-
-
-
-
-
-
-
-
51 "%Y-%Om-%dT%H:%M:%OS%z",
-
52 date::sys_time<system_clock::duration>(
-
-
+
+
+
+
+
+
+
+
+
52 "%Y-%Om-%dT%H:%M:%OS%z",
+
53 date::sys_time<system_clock::duration>(
+
+
-
-
-
-
-
-
59 auto const& params(context.
params);
-
-
-
-
-
-
-
-
67 struct ValuesFromContextParams
-
-
-
-
-
-
-
-
75 auto getValuesFromContextParams =
-
-
-
-
-
-
-
-
83 return (params.isMember(jss::asset) !=
-
84 params.isMember(jss::asset2)) ||
-
85 (params.isMember(jss::asset) ==
-
86 params.isMember(jss::amm_account));
-
-
-
-
-
-
-
93 if (params.isMember(jss::asset))
-
-
95 if (
auto const i =
getIssue(params[jss::asset], context.
j))
-
-
-
-
-
-
101 if (params.isMember(jss::asset2))
-
-
103 if (
auto const i =
getIssue(params[jss::asset2], context.
j))
-
-
-
-
-
-
109 if (params.isMember(jss::amm_account))
-
-
111 auto const id =
getAccount(params[jss::amm_account], result);
-
-
-
-
-
-
117 ammID = sle->getFieldH256(sfAMMID);
-
-
-
-
-
122 if (params.isMember(jss::account))
-
-
124 accountID =
getAccount(params[jss::account], result);
-
-
-
-
-
-
-
-
-
-
-
-
136 "ripple::doAMMInfo : issue1 and issue2 do match");
-
-
138 auto const ammKeylet = [&]() {
-
139 if (issue1 && issue2)
-
-
141 XRPL_ASSERT(ammID,
"ripple::doAMMInfo::ammKeylet : ammID is set");
-
-
-
144 auto const amm = ledger->read(ammKeylet);
-
-
-
147 if (!issue1 && !issue2)
-
-
149 issue1 = (*amm)[sfAsset].get<
Issue>();
-
150 issue2 = (*amm)[sfAsset2].get<
Issue>();
-
-
-
153 return ValuesFromContextParams{
-
154 accountID, *issue1, *issue2, std::move(amm)};
-
-
-
157 auto const r = getValuesFromContextParams();
-
-
-
-
-
-
-
164 auto const& [accountID, issue1, issue2, amm] = *r;
-
-
166 auto const ammAccountID = amm->getAccountID(sfAccount);
-
-
-
169 auto const [asset1Balance, asset2Balance] =
ammPoolHolds(
-
-
-
-
-
-
-
176 auto const lptAMMBalance = accountID
-
-
178 : (*amm)[sfLPTokenBalance];
-
-
-
181 asset1Balance.setJson(ammResult[jss::amount]);
-
182 asset2Balance.setJson(ammResult[jss::amount2]);
-
183 lptAMMBalance.setJson(ammResult[jss::lp_token]);
-
184 ammResult[jss::trading_fee] = (*amm)[sfTradingFee];
-
185 ammResult[jss::account] =
to_string(ammAccountID);
-
-
187 if (amm->isFieldPresent(sfVoteSlots))
-
-
189 for (
auto const& voteEntry : amm->getFieldArray(sfVoteSlots))
-
-
-
192 vote[jss::account] =
to_string(voteEntry.getAccountID(sfAccount));
-
193 vote[jss::trading_fee] = voteEntry[sfTradingFee];
-
194 vote[jss::vote_weight] = voteEntry[sfVoteWeight];
-
195 voteSlots.
append(std::move(vote));
-
-
-
198 if (voteSlots.
size() > 0)
-
199 ammResult[jss::vote_slots] = std::move(voteSlots);
-
-
201 !ledger->rules().enabled(fixInnerObjTemplate) ||
-
202 amm->isFieldPresent(sfAuctionSlot),
-
203 "ripple::doAMMInfo : auction slot is set");
-
204 if (amm->isFieldPresent(sfAuctionSlot))
-
-
206 auto const& auctionSlot =
-
207 static_cast<STObject const&
>(amm->peekAtField(sfAuctionSlot));
-
208 if (auctionSlot.isFieldPresent(sfAccount))
-
-
-
-
212 ledger->info().parentCloseTime.time_since_epoch().count(),
-
-
214 auction[jss::time_interval] =
-
-
216 auctionSlot[sfPrice].setJson(auction[jss::price]);
-
217 auction[jss::discounted_fee] = auctionSlot[sfDiscountedFee];
-
218 auction[jss::account] =
-
219 to_string(auctionSlot.getAccountID(sfAccount));
-
-
-
222 if (auctionSlot.isFieldPresent(sfAuthAccounts))
-
-
-
225 for (
auto const& acct :
-
226 auctionSlot.getFieldArray(sfAuthAccounts))
-
-
-
229 jv[jss::account] =
to_string(acct.getAccountID(sfAccount));
-
-
-
232 auction[jss::auth_accounts] = auth;
-
-
234 ammResult[jss::auction_slot] = std::move(auction);
-
-
-
-
238 if (!
isXRP(asset1Balance))
-
239 ammResult[jss::asset_frozen] =
-
240 isFrozen(*ledger, ammAccountID, issue1.currency, issue1.account);
-
241 if (!
isXRP(asset2Balance))
-
242 ammResult[jss::asset2_frozen] =
-
243 isFrozen(*ledger, ammAccountID, issue2.currency, issue2.account);
-
-
245 result[jss::amm] = std::move(ammResult);
-
246 if (!result.
isMember(jss::ledger_index) &&
-
-
248 result[jss::ledger_current_index] = ledger->info().seq;
-
-
-
-
+
+
+
+
+
+
60 auto const& params(context.
params);
+
+
+
+
+
+
+
+
68 struct ValuesFromContextParams
+
+
+
+
+
+
+
+
76 auto getValuesFromContextParams =
+
+
+
+
+
+
+
+
84 return (params.isMember(jss::asset) !=
+
85 params.isMember(jss::asset2)) ||
+
86 (params.isMember(jss::asset) ==
+
87 params.isMember(jss::amm_account));
+
+
+
+
+
+
+
94 if (params.isMember(jss::asset))
+
+
96 if (
auto const i =
getIssue(params[jss::asset], context.
j))
+
+
+
+
+
+
102 if (params.isMember(jss::asset2))
+
+
104 if (
auto const i =
getIssue(params[jss::asset2], context.
j))
+
+
+
+
+
+
110 if (params.isMember(jss::amm_account))
+
+
112 auto const id =
getAccount(params[jss::amm_account], result);
+
+
+
+
+
+
118 ammID = sle->getFieldH256(sfAMMID);
+
+
+
+
+
123 if (params.isMember(jss::account))
+
+
125 accountID =
getAccount(params[jss::account], result);
+
+
+
+
+
+
+
+
+
+
+
+
137 "ripple::doAMMInfo : issue1 and issue2 do match");
+
+
139 auto const ammKeylet = [&]() {
+
140 if (issue1 && issue2)
+
+
142 XRPL_ASSERT(ammID,
"ripple::doAMMInfo::ammKeylet : ammID is set");
+
+
+
145 auto const amm = ledger->read(ammKeylet);
+
+
+
148 if (!issue1 && !issue2)
+
+
150 issue1 = (*amm)[sfAsset].get<
Issue>();
+
151 issue2 = (*amm)[sfAsset2].get<
Issue>();
+
+
+
154 return ValuesFromContextParams{
+
155 accountID, *issue1, *issue2, std::move(amm)};
+
+
+
158 auto const r = getValuesFromContextParams();
+
+
+
+
+
+
+
165 auto const& [accountID, issue1, issue2, amm] = *r;
+
+
167 auto const ammAccountID = amm->getAccountID(sfAccount);
+
+
+
170 auto const [asset1Balance, asset2Balance] =
ammPoolHolds(
+
+
+
+
+
+
+
177 auto const lptAMMBalance = accountID
+
+
179 : (*amm)[sfLPTokenBalance];
+
+
+
182 asset1Balance.setJson(ammResult[jss::amount]);
+
183 asset2Balance.setJson(ammResult[jss::amount2]);
+
184 lptAMMBalance.setJson(ammResult[jss::lp_token]);
+
185 ammResult[jss::trading_fee] = (*amm)[sfTradingFee];
+
186 ammResult[jss::account] =
to_string(ammAccountID);
+
+
188 if (amm->isFieldPresent(sfVoteSlots))
+
+
190 for (
auto const& voteEntry : amm->getFieldArray(sfVoteSlots))
+
+
+
193 vote[jss::account] =
to_string(voteEntry.getAccountID(sfAccount));
+
194 vote[jss::trading_fee] = voteEntry[sfTradingFee];
+
195 vote[jss::vote_weight] = voteEntry[sfVoteWeight];
+
196 voteSlots.
append(std::move(vote));
+
+
+
199 if (voteSlots.
size() > 0)
+
200 ammResult[jss::vote_slots] = std::move(voteSlots);
+
+
202 !ledger->rules().enabled(fixInnerObjTemplate) ||
+
203 amm->isFieldPresent(sfAuctionSlot),
+
204 "ripple::doAMMInfo : auction slot is set");
+
205 if (amm->isFieldPresent(sfAuctionSlot))
+
+
207 auto const& auctionSlot =
+
208 static_cast<STObject const&
>(amm->peekAtField(sfAuctionSlot));
+
209 if (auctionSlot.isFieldPresent(sfAccount))
+
+
+
+
213 ledger->info().parentCloseTime.time_since_epoch().count(),
+
+
215 auction[jss::time_interval] =
+
+
217 auctionSlot[sfPrice].setJson(auction[jss::price]);
+
218 auction[jss::discounted_fee] = auctionSlot[sfDiscountedFee];
+
219 auction[jss::account] =
+
220 to_string(auctionSlot.getAccountID(sfAccount));
+
+
+
223 if (auctionSlot.isFieldPresent(sfAuthAccounts))
+
+
+
226 for (
auto const& acct :
+
227 auctionSlot.getFieldArray(sfAuthAccounts))
+
+
+
230 jv[jss::account] =
to_string(acct.getAccountID(sfAccount));
+
+
+
233 auction[jss::auth_accounts] = auth;
+
+
235 ammResult[jss::auction_slot] = std::move(auction);
+
+
+
+
239 if (!
isXRP(asset1Balance))
+
240 ammResult[jss::asset_frozen] =
+
241 isFrozen(*ledger, ammAccountID, issue1.currency, issue1.account);
+
242 if (!
isXRP(asset2Balance))
+
243 ammResult[jss::asset2_frozen] =
+
244 isFrozen(*ledger, ammAccountID, issue2.currency, issue2.account);
+
+
246 result[jss::amm] = std::move(ammResult);
+
247 if (!result.
isMember(jss::ledger_index) &&
+
+
249 result[jss::ledger_current_index] = ledger->info().seq;
+
+
+
+
-
-
+
+
Value & append(Value const &value)
Append value to array at the end.
@@ -362,7 +363,7 @@ $(document).ready(function() { init_codefold(0); });
@ arrayValue
array value (ordered list)
void inject_error(error_code_i code, JsonValue &json)
Add or update the json update to reflect the error code.
Json::Value accountFromString(AccountID &result, std::string const &strIdent, bool bStrict)
-
Status lookupLedger(std::shared_ptr< ReadView const > &ledger, JsonContext &context, Json::Value &result)
Look up a ledger from a request and fill a Json::Result with the data representing a ledger.
+
Status lookupLedger(std::shared_ptr< ReadView const > &ledger, JsonContext &context, Json::Value &result)
Look up a ledger from a request and fill a Json::Result with the data representing a ledger.
Keylet amm(Asset const &issue1, Asset const &issue2) noexcept
AMM entry.
Keylet account(AccountID const &id) noexcept
AccountID root.
Use hash_* containers for keys that do not need a cryptographically secure hashing algorithm.
@@ -375,8 +376,8 @@ $(document).ready(function() { init_codefold(0); });
Issue getIssue(T const &amt)
-
std::optional< AccountID > getAccount(Json::Value const &v, Json::Value &result)
-
Json::Value doAMMInfo(RPC::JsonContext &context)
+
std::optional< AccountID > getAccount(Json::Value const &v, Json::Value &result)
+
Json::Value doAMMInfo(RPC::JsonContext &context)
bool isFrozen(ReadView const &view, AccountID const &account, Currency const ¤cy, AccountID const &issuer)
STAmount ammLPHolds(ReadView const &view, Currency const &cur1, Currency const &cur2, AccountID const &ammAccount, AccountID const &lpAccount, beast::Journal const j)
Get the balance of LP tokens.
Issue issueFromJson(Json::Value const &v)
@@ -384,7 +385,7 @@ $(document).ready(function() { init_codefold(0); });
@ invalid
Timely, but invalid signature.
static constexpr std::chrono::seconds epoch_offset
Clock for measuring the network time.
std::string to_string(base_uint< Bits, Tag > const &a)
-
std::string to_iso8601(NetClock::time_point tp)
+
std::string to_iso8601(NetClock::time_point tp)
diff --git a/AccountChannels_8cpp_source.html b/AccountChannels_8cpp_source.html
index ca66fc4cc4..5774a5a02b 100644
--- a/AccountChannels_8cpp_source.html
+++ b/AccountChannels_8cpp_source.html
@@ -83,204 +83,205 @@ $(document).ready(function() { init_codefold(0); });
1#include <xrpld/rpc/Context.h>
2#include <xrpld/rpc/detail/RPCHelpers.h>
-
3#include <xrpld/rpc/detail/Tuning.h>
-
-
5#include <xrpl/ledger/ReadView.h>
-
6#include <xrpl/ledger/View.h>
-
7#include <xrpl/protocol/ErrorCodes.h>
-
8#include <xrpl/protocol/PublicKey.h>
-
9#include <xrpl/protocol/RPCErr.h>
-
10#include <xrpl/protocol/jss.h>
-
11#include <xrpl/resource/Fees.h>
-
-
-
-
-
-
-
-
-
-
20 jDst[jss::account] =
to_string(line[sfAccount]);
-
21 jDst[jss::destination_account] =
to_string(line[sfDestination]);
-
22 jDst[jss::amount] = line[sfAmount].getText();
-
23 jDst[jss::balance] = line[sfBalance].getText();
-
-
-
-
-
28 jDst[jss::public_key_hex] =
strHex(pk);
-
-
30 jDst[jss::settle_delay] = line[sfSettleDelay];
-
31 if (
auto const& v = line[~sfExpiration])
-
32 jDst[jss::expiration] = *v;
-
33 if (
auto const& v = line[~sfCancelAfter])
-
34 jDst[jss::cancel_after] = *v;
-
35 if (
auto const& v = line[~sfSourceTag])
-
36 jDst[jss::source_tag] = *v;
-
37 if (
auto const& v = line[~sfDestinationTag])
-
38 jDst[jss::destination_tag] = *v;
-
+
3#include <xrpld/rpc/detail/RPCLedgerHelpers.h>
+
4#include <xrpld/rpc/detail/Tuning.h>
+
+
6#include <xrpl/ledger/ReadView.h>
+
7#include <xrpl/ledger/View.h>
+
8#include <xrpl/protocol/ErrorCodes.h>
+
9#include <xrpl/protocol/PublicKey.h>
+
10#include <xrpl/protocol/RPCErr.h>
+
11#include <xrpl/protocol/jss.h>
+
12#include <xrpl/resource/Fees.h>
+
+
+
+
+
+
+
+
+
+
21 jDst[jss::account] =
to_string(line[sfAccount]);
+
22 jDst[jss::destination_account] =
to_string(line[sfDestination]);
+
23 jDst[jss::amount] = line[sfAmount].getText();
+
24 jDst[jss::balance] = line[sfBalance].getText();
+
+
+
+
+
29 jDst[jss::public_key_hex] =
strHex(pk);
+
+
31 jDst[jss::settle_delay] = line[sfSettleDelay];
+
32 if (
auto const& v = line[~sfExpiration])
+
33 jDst[jss::expiration] = *v;
+
34 if (
auto const& v = line[~sfCancelAfter])
+
35 jDst[jss::cancel_after] = *v;
+
36 if (
auto const& v = line[~sfSourceTag])
+
37 jDst[jss::source_tag] = *v;
+
38 if (
auto const& v = line[~sfDestinationTag])
+
39 jDst[jss::destination_tag] = *v;
+
-
-
-
-
-
-
-
-
-
-
-
-
-
51 auto const& params(context.
params);
-
52 if (!params.isMember(jss::account))
-
-
-
55 if (!params[jss::account].isString())
-
-
-
-
-
-
-
-
63 auto id = parseBase58<AccountID>(params[jss::account].asString());
-
-
-
-
-
68 AccountID const accountID{std::move(
id.value())};
-
-
-
-
-
-
74 if (params.isMember(jss::destination_account))
-
75 strDst = params[jss::destination_account].asString();
-
-
-
-
-
80 if (!strDst.
empty() && !raDstAccount)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
94 VisitData visitData = {{}, accountID, raDstAccount};
-
95 visitData.items.reserve(limit);
-
96 uint256 startAfter = beast::zero;
-
-
-
99 if (params.isMember(jss::marker))
-
-
101 if (!params[jss::marker].isString())
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
119 startHint = boost::lexical_cast<std::uint64_t>(value);
-
-
121 catch (boost::bad_lexical_cast&)
-
-
-
-
-
-
-
128 auto const sle = ledger->read({
ltANY, startAfter});
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
146 [&visitData, &accountID, &count, &limit, &marker, &nextHint](
-
-
-
-
-
151 UNREACHABLE(
"ripple::doAccountChannels : null SLE");
-
-
-
-
-
156 if (++count == limit)
-
-
158 marker = sleCur->key();
-
-
-
-
162 if (count <= limit && sleCur->getType() == ltPAYCHAN &&
-
163 (*sleCur)[sfAccount] == accountID &&
-
164 (!visitData.raDstAccount ||
-
165 *visitData.raDstAccount == (*sleCur)[sfDestination]))
-
-
167 visitData.items.emplace_back(sleCur);
-
-
-
-
-
-
-
-
-
-
-
-
179 if (count == limit + 1 && marker)
-
-
181 result[jss::limit] = limit;
-
182 result[jss::marker] =
-
-
-
-
186 result[jss::account] =
toBase58(accountID);
-
-
188 for (
auto const& item : visitData.items)
-
-
-
-
192 result[jss::channels] = std::move(jsonChannels);
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
52 auto const& params(context.
params);
+
53 if (!params.isMember(jss::account))
+
+
+
56 if (!params[jss::account].isString())
+
+
+
+
+
+
+
+
64 auto id = parseBase58<AccountID>(params[jss::account].asString());
+
+
+
+
+
69 AccountID const accountID{std::move(
id.value())};
+
+
+
+
+
+
75 if (params.isMember(jss::destination_account))
+
76 strDst = params[jss::destination_account].asString();
+
+
+
+
+
81 if (!strDst.
empty() && !raDstAccount)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
95 VisitData visitData = {{}, accountID, raDstAccount};
+
96 visitData.items.reserve(limit);
+
97 uint256 startAfter = beast::zero;
+
+
+
100 if (params.isMember(jss::marker))
+
+
102 if (!params[jss::marker].isString())
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
120 startHint = boost::lexical_cast<std::uint64_t>(value);
+
+
122 catch (boost::bad_lexical_cast&)
+
+
+
+
+
+
+
129 auto const sle = ledger->read({
ltANY, startAfter});
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
147 [&visitData, &accountID, &count, &limit, &marker, &nextHint](
+
+
+
+
+
152 UNREACHABLE(
"ripple::doAccountChannels : null SLE");
+
+
+
+
+
157 if (++count == limit)
+
+
159 marker = sleCur->key();
+
+
+
+
163 if (count <= limit && sleCur->getType() == ltPAYCHAN &&
+
164 (*sleCur)[sfAccount] == accountID &&
+
165 (!visitData.raDstAccount ||
+
166 *visitData.raDstAccount == (*sleCur)[sfDestination]))
+
+
168 visitData.items.emplace_back(sleCur);
+
+
+
+
+
+
+
+
+
+
+
+
180 if (count == limit + 1 && marker)
+
+
182 result[jss::limit] = limit;
+
183 result[jss::marker] =
+
+
+
+
187 result[jss::account] =
toBase58(accountID);
+
+
189 for (
auto const& item : visitData.items)
+
+
+
+
193 result[jss::channels] = std::move(jsonChannels);
+
+
-
-
+
+
@@ -299,14 +300,14 @@ $(document).ready(function() { init_codefold(0); });
Json::Value invalid_field_error(std::string const &name)
bool isRelatedToAccount(ReadView const &ledger, std::shared_ptr< SLE const > const &sle, AccountID const &accountID)
Tests if a SLE is owned by accountID.
Json::Value expected_field_error(std::string const &name, std::string const &type)
-
Status lookupLedger(std::shared_ptr< ReadView const > &ledger, JsonContext &context, Json::Value &result)
Look up a ledger from a request and fill a Json::Result with the data representing a ledger.
+
Status lookupLedger(std::shared_ptr< ReadView const > &ledger, JsonContext &context, Json::Value &result)
Look up a ledger from a request and fill a Json::Result with the data representing a ledger.
std::uint64_t getStartHint(std::shared_ptr< SLE const > const &sle, AccountID const &accountID)
Gets the start hint for traversing account objects.
Json::Value missing_field_error(std::string const &name)
Charge const feeMediumBurdenRPC
Keylet account(AccountID const &id) noexcept
AccountID root.
Use hash_* containers for keys that do not need a cryptographically secure hashing algorithm.
std::string toBase58(AccountID const &v)
Convert AccountID to base58 checked string.
-
void addChannel(Json::Value &jsonLines, SLE const &line)
+
void addChannel(Json::Value &jsonLines, SLE const &line)
@@ -317,7 +318,7 @@ $(document).ready(function() { init_codefold(0); });
bool forEachItemAfter(ReadView const &view, Keylet const &root, uint256 const &after, std::uint64_t const hint, unsigned int limit, std::function< bool(std::shared_ptr< SLE const > const &)> const &f)
Iterate all items after an item in the given directory.
std::string to_string(base_uint< Bits, Tag > const &a)
@ ltANY
A special type, matching any ledger entry type.
-
Json::Value doAccountChannels(RPC::JsonContext &context)
+
Json::Value doAccountChannels(RPC::JsonContext &context)
diff --git a/AccountCurrenciesHandler_8cpp_source.html b/AccountCurrenciesHandler_8cpp_source.html
index a34ccae238..6297d856e2 100644
--- a/AccountCurrenciesHandler_8cpp_source.html
+++ b/AccountCurrenciesHandler_8cpp_source.html
@@ -83,7 +83,7 @@ $(document).ready(function() { init_codefold(0); });
1#include <xrpld/app/paths/TrustLine.h>
2#include <xrpld/rpc/Context.h>
-
3#include <xrpld/rpc/detail/RPCHelpers.h>
+
3#include <xrpld/rpc/detail/RPCLedgerHelpers.h>
5#include <xrpl/ledger/ReadView.h>
6#include <xrpl/protocol/ErrorCodes.h>
@@ -173,7 +173,7 @@ $(document).ready(function() { init_codefold(0); });
@ arrayValue
array value (ordered list)
Json::Value invalid_field_error(std::string const &name)
void inject_error(error_code_i code, JsonValue &json)
Add or update the json update to reflect the error code.
-
Status lookupLedger(std::shared_ptr< ReadView const > &ledger, JsonContext &context, Json::Value &result)
Look up a ledger from a request and fill a Json::Result with the data representing a ledger.
+
Status lookupLedger(std::shared_ptr< ReadView const > &ledger, JsonContext &context, Json::Value &result)
Look up a ledger from a request and fill a Json::Result with the data representing a ledger.
Json::Value missing_field_error(std::string const &name)
Keylet account(AccountID const &id) noexcept
AccountID root.
Use hash_* containers for keys that do not need a cryptographically secure hashing algorithm.
diff --git a/AccountInfo_8cpp_source.html b/AccountInfo_8cpp_source.html
index 9579704576..8eb5e5edff 100644
--- a/AccountInfo_8cpp_source.html
+++ b/AccountInfo_8cpp_source.html
@@ -86,279 +86,280 @@ $(document).ready(function() { init_codefold(0); });
3#include <xrpld/rpc/Context.h>
4#include <xrpld/rpc/GRPCHandlers.h>
5#include <xrpld/rpc/detail/RPCHelpers.h>
-
-
7#include <xrpl/json/json_value.h>
-
8#include <xrpl/ledger/ReadView.h>
-
9#include <xrpl/protocol/ErrorCodes.h>
-
10#include <xrpl/protocol/Indexes.h>
-
11#include <xrpl/protocol/UintTypes.h>
-
12#include <xrpl/protocol/jss.h>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
33 auto& params = context.
params;
-
-
-
36 if (params.isMember(jss::account))
-
-
38 if (!params[jss::account].isString())
-
-
40 strIdent = params[jss::account].asString();
-
-
42 else if (params.isMember(jss::ident))
-
-
44 if (!params[jss::ident].isString())
-
-
46 strIdent = params[jss::ident].asString();
-
-
-
-
-
-
-
-
-
-
-
-
58 auto id = parseBase58<AccountID>(strIdent);
-
-
-
-
-
-
64 auto const accountID{std::move(
id.value())};
-
-
66 static constexpr std::
-
-
-
-
-
-
-
-
-
-
-
-
-
79 static constexpr std::
-
-
81 disallowIncomingFlags{
-
82 {{
"disallowIncomingNFTokenOffer",
-
-
-
-
-
-
-
89 allowTrustLineClawbackFlag{
-
-
-
-
93 allowTrustLineLockingFlag{
-
-
-
-
-
-
-
100 params.isMember(jss::queue) && params[jss::queue].asBool();
-
-
102 if (queue && !ledger->open())
-
-
-
-
-
-
-
-
-
-
112 result[jss::account_data] = jvAccepted;
-
-
-
115 for (
auto const& lsf : lsFlags)
-
116 acctFlags[lsf.first.data()] = sleAccepted->isFlag(lsf.second);
-
-
118 if (ledger->rules().enabled(featureDisallowIncoming))
-
-
120 for (
auto const& lsf : disallowIncomingFlags)
-
121 acctFlags[lsf.first.data()] = sleAccepted->isFlag(lsf.second);
-
-
-
124 if (ledger->rules().enabled(featureClawback))
-
125 acctFlags[allowTrustLineClawbackFlag.first.data()] =
-
126 sleAccepted->isFlag(allowTrustLineClawbackFlag.second);
-
-
128 if (ledger->rules().enabled(featureTokenEscrow))
-
129 acctFlags[allowTrustLineLockingFlag.first.data()] =
-
130 sleAccepted->isFlag(allowTrustLineLockingFlag.second);
-
-
132 result[jss::account_flags] = std::move(acctFlags);
-
-
-
-
-
-
138 if (context.
apiVersion > 1u && params.isMember(jss::signer_lists) &&
-
139 !params[jss::signer_lists].isBool())
-
-
-
-
-
-
-
146 if (params.isMember(jss::signer_lists) &&
-
147 params[jss::signer_lists].asBool())
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
165 result[jss::account_data][jss::signer_lists] =
-
166 std::move(jvSignerList);
-
-
-
-
170 result[jss::signer_lists] = std::move(jvSignerList);
-
-
-
-
-
-
-
-
-
-
-
181 jvQueueData[jss::txn_count] =
-
-
-
184 auto& jvQueueTx = jvQueueData[jss::transactions];
-
-
-
-
-
-
-
-
-
193 bool anyAuthChanged =
false;
-
-
-
-
-
-
199 for (
auto const& tx : txs)
-
-
-
-
203 if (tx.seqProxy.isSeq())
-
-
-
206 prevSeqProxy < tx.seqProxy,
-
207 "rpple::doAccountInfo : first sorted proxy");
-
208 prevSeqProxy = tx.seqProxy;
-
209 jvTx[jss::seq] = tx.seqProxy.value();
-
-
-
212 lowestSeq = tx.seqProxy.
value();
-
213 highestSeq = tx.seqProxy.
value();
-
-
-
-
-
218 prevSeqProxy < tx.seqProxy,
-
219 "rpple::doAccountInfo : second sorted proxy");
-
220 prevSeqProxy = tx.seqProxy;
-
221 jvTx[jss::ticket] = tx.seqProxy.value();
-
-
-
224 lowestTicket = tx.seqProxy.
value();
-
225 highestTicket = tx.seqProxy.
value();
-
-
-
228 jvTx[jss::fee_level] =
to_string(tx.feeLevel);
-
-
230 jvTx[jss::LastLedgerSequence] = *tx.lastValid;
-
-
232 jvTx[jss::fee] =
to_string(tx.consequences.fee());
-
233 auto const spend = tx.consequences.potentialSpend() +
-
234 tx.consequences.fee();
-
235 jvTx[jss::max_spend_drops] =
to_string(spend);
-
-
237 bool const authChanged = tx.consequences.isBlocker();
-
-
239 anyAuthChanged = authChanged;
-
240 jvTx[jss::auth_change] = authChanged;
-
-
242 jvQueueTx.
append(std::move(jvTx));
-
-
-
-
246 jvQueueData[jss::sequence_count] = seqCount;
-
-
248 jvQueueData[jss::ticket_count] = ticketCount;
-
-
250 jvQueueData[jss::lowest_sequence] = *lowestSeq;
-
-
252 jvQueueData[jss::highest_sequence] = *highestSeq;
-
-
254 jvQueueData[jss::lowest_ticket] = *lowestTicket;
-
-
256 jvQueueData[jss::highest_ticket] = *highestTicket;
-
-
258 jvQueueData[jss::auth_change_queued] = anyAuthChanged;
-
259 jvQueueData[jss::max_spend_drops_total] =
to_string(totalSpend);
-
-
-
262 jvQueueData[jss::txn_count] = 0u;
-
-
264 result[jss::queue_data] = std::move(jvQueueData);
-
-
-
-
-
269 result[jss::account] =
toBase58(accountID);
-
-
-
-
-
+
6#include <xrpld/rpc/detail/RPCLedgerHelpers.h>
+
+
8#include <xrpl/json/json_value.h>
+
9#include <xrpl/ledger/ReadView.h>
+
10#include <xrpl/protocol/ErrorCodes.h>
+
11#include <xrpl/protocol/Indexes.h>
+
12#include <xrpl/protocol/UintTypes.h>
+
13#include <xrpl/protocol/jss.h>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
34 auto& params = context.
params;
+
+
+
37 if (params.isMember(jss::account))
+
+
39 if (!params[jss::account].isString())
+
+
41 strIdent = params[jss::account].asString();
+
+
43 else if (params.isMember(jss::ident))
+
+
45 if (!params[jss::ident].isString())
+
+
47 strIdent = params[jss::ident].asString();
+
+
+
+
+
+
+
+
+
+
+
+
59 auto id = parseBase58<AccountID>(strIdent);
+
+
+
+
+
+
65 auto const accountID{std::move(
id.value())};
+
+
67 static constexpr std::
+
+
+
+
+
+
+
+
+
+
+
+
+
80 static constexpr std::
+
+
82 disallowIncomingFlags{
+
83 {{
"disallowIncomingNFTokenOffer",
+
+
+
+
+
+
+
90 allowTrustLineClawbackFlag{
+
+
+
+
94 allowTrustLineLockingFlag{
+
+
+
+
+
+
+
101 params.isMember(jss::queue) && params[jss::queue].asBool();
+
+
103 if (queue && !ledger->open())
+
+
+
+
+
+
+
+
+
+
113 result[jss::account_data] = jvAccepted;
+
+
+
116 for (
auto const& lsf : lsFlags)
+
117 acctFlags[lsf.first.data()] = sleAccepted->isFlag(lsf.second);
+
+
119 if (ledger->rules().enabled(featureDisallowIncoming))
+
+
121 for (
auto const& lsf : disallowIncomingFlags)
+
122 acctFlags[lsf.first.data()] = sleAccepted->isFlag(lsf.second);
+
+
+
125 if (ledger->rules().enabled(featureClawback))
+
126 acctFlags[allowTrustLineClawbackFlag.first.data()] =
+
127 sleAccepted->isFlag(allowTrustLineClawbackFlag.second);
+
+
129 if (ledger->rules().enabled(featureTokenEscrow))
+
130 acctFlags[allowTrustLineLockingFlag.first.data()] =
+
131 sleAccepted->isFlag(allowTrustLineLockingFlag.second);
+
+
133 result[jss::account_flags] = std::move(acctFlags);
+
+
+
+
+
+
139 if (context.
apiVersion > 1u && params.isMember(jss::signer_lists) &&
+
140 !params[jss::signer_lists].isBool())
+
+
+
+
+
+
+
147 if (params.isMember(jss::signer_lists) &&
+
148 params[jss::signer_lists].asBool())
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
166 result[jss::account_data][jss::signer_lists] =
+
167 std::move(jvSignerList);
+
+
+
+
171 result[jss::signer_lists] = std::move(jvSignerList);
+
+
+
+
+
+
+
+
+
+
+
182 jvQueueData[jss::txn_count] =
+
+
+
185 auto& jvQueueTx = jvQueueData[jss::transactions];
+
+
+
+
+
+
+
+
+
194 bool anyAuthChanged =
false;
+
+
+
+
+
+
200 for (
auto const& tx : txs)
+
+
+
+
204 if (tx.seqProxy.isSeq())
+
+
+
207 prevSeqProxy < tx.seqProxy,
+
208 "rpple::doAccountInfo : first sorted proxy");
+
209 prevSeqProxy = tx.seqProxy;
+
210 jvTx[jss::seq] = tx.seqProxy.value();
+
+
+
213 lowestSeq = tx.seqProxy.
value();
+
214 highestSeq = tx.seqProxy.
value();
+
+
+
+
+
219 prevSeqProxy < tx.seqProxy,
+
220 "rpple::doAccountInfo : second sorted proxy");
+
221 prevSeqProxy = tx.seqProxy;
+
222 jvTx[jss::ticket] = tx.seqProxy.value();
+
+
+
225 lowestTicket = tx.seqProxy.
value();
+
226 highestTicket = tx.seqProxy.
value();
+
+
+
229 jvTx[jss::fee_level] =
to_string(tx.feeLevel);
+
+
231 jvTx[jss::LastLedgerSequence] = *tx.lastValid;
+
+
233 jvTx[jss::fee] =
to_string(tx.consequences.fee());
+
234 auto const spend = tx.consequences.potentialSpend() +
+
235 tx.consequences.fee();
+
236 jvTx[jss::max_spend_drops] =
to_string(spend);
+
+
238 bool const authChanged = tx.consequences.isBlocker();
+
+
240 anyAuthChanged = authChanged;
+
241 jvTx[jss::auth_change] = authChanged;
+
+
243 jvQueueTx.
append(std::move(jvTx));
+
+
+
+
247 jvQueueData[jss::sequence_count] = seqCount;
+
+
249 jvQueueData[jss::ticket_count] = ticketCount;
+
+
251 jvQueueData[jss::lowest_sequence] = *lowestSeq;
+
+
253 jvQueueData[jss::highest_sequence] = *highestSeq;
+
+
255 jvQueueData[jss::lowest_ticket] = *lowestTicket;
+
+
257 jvQueueData[jss::highest_ticket] = *highestTicket;
+
+
259 jvQueueData[jss::auth_change_queued] = anyAuthChanged;
+
260 jvQueueData[jss::max_spend_drops_total] =
to_string(totalSpend);
+
+
+
263 jvQueueData[jss::txn_count] = 0u;
+
+
265 result[jss::queue_data] = std::move(jvQueueData);
+
+
+
+
+
270 result[jss::account] =
toBase58(accountID);
+
+
+
+
+
-
-
+
+
Value & append(Value const &value)
Append value to array at the end.
@@ -373,9 +374,9 @@ $(document).ready(function() { init_codefold(0); });
@ objectValue
object value (collection of name/value pairs).
Json::Value invalid_field_error(std::string const &name)
-
void injectSLE(Json::Value &jv, SLE const &sle)
Inject JSON describing ledger entry.
+
void injectSLE(Json::Value &jv, SLE const &sle)
Inject JSON describing ledger entry.
void inject_error(error_code_i code, JsonValue &json)
Add or update the json update to reflect the error code.
-
Status lookupLedger(std::shared_ptr< ReadView const > &ledger, JsonContext &context, Json::Value &result)
Look up a ledger from a request and fill a Json::Result with the data representing a ledger.
+
Status lookupLedger(std::shared_ptr< ReadView const > &ledger, JsonContext &context, Json::Value &result)
Look up a ledger from a request and fill a Json::Result with the data representing a ledger.
Json::Value missing_field_error(std::string const &name)
Keylet account(AccountID const &id) noexcept
AccountID root.
Keylet signers(AccountID const &account) noexcept
A SignerList.
@@ -400,7 +401,7 @@ $(document).ready(function() { init_codefold(0); });
std::string to_string(base_uint< Bits, Tag > const &a)
-
Json::Value doAccountInfo(RPC::JsonContext &context)
+
Json::Value doAccountInfo(RPC::JsonContext &context)
diff --git a/AccountLines_8cpp_source.html b/AccountLines_8cpp_source.html
index 6844dc605b..f644785272 100644
--- a/AccountLines_8cpp_source.html
+++ b/AccountLines_8cpp_source.html
@@ -84,249 +84,250 @@ $(document).ready(function() { init_codefold(0); });
1#include <xrpld/app/paths/TrustLine.h>
2#include <xrpld/rpc/Context.h>
3#include <xrpld/rpc/detail/RPCHelpers.h>
-
4#include <xrpld/rpc/detail/Tuning.h>
-
-
6#include <xrpl/ledger/ReadView.h>
-
7#include <xrpl/protocol/ErrorCodes.h>
-
8#include <xrpl/protocol/RPCErr.h>
-
9#include <xrpl/protocol/jss.h>
-
10#include <xrpl/resource/Fees.h>
-
-
-
-
-
-
-
-
17 STAmount const& saBalance(line.getBalance());
-
18 STAmount const& saLimit(line.getLimit());
-
19 STAmount const& saLimitPeer(line.getLimitPeer());
-
-
-
22 jPeer[jss::account] =
to_string(line.getAccountIDPeer());
-
-
-
-
-
-
28 jPeer[jss::balance] = saBalance.
getText();
-
-
30 jPeer[jss::limit] = saLimit.
getText();
-
31 jPeer[jss::limit_peer] = saLimitPeer.
getText();
-
32 jPeer[jss::quality_in] = line.getQualityIn().value;
-
33 jPeer[jss::quality_out] = line.getQualityOut().value;
-
-
35 jPeer[jss::authorized] =
true;
-
36 if (line.getAuthPeer())
-
37 jPeer[jss::peer_authorized] =
true;
-
38 if (line.getNoRipple())
-
39 jPeer[jss::no_ripple] =
true;
-
40 if (line.getNoRipplePeer())
-
41 jPeer[jss::no_ripple_peer] =
true;
-
-
43 jPeer[jss::freeze] =
true;
-
44 if (line.getFreezePeer())
-
45 jPeer[jss::freeze_peer] =
true;
-
46 if (line.getDeepFreeze())
-
47 jPeer[jss::deep_freeze] =
true;
-
48 if (line.getDeepFreezePeer())
-
49 jPeer[jss::deep_freeze_peer] =
true;
-
+
4#include <xrpld/rpc/detail/RPCLedgerHelpers.h>
+
5#include <xrpld/rpc/detail/Tuning.h>
+
+
7#include <xrpl/ledger/ReadView.h>
+
8#include <xrpl/protocol/ErrorCodes.h>
+
9#include <xrpl/protocol/RPCErr.h>
+
10#include <xrpl/protocol/jss.h>
+
11#include <xrpl/resource/Fees.h>
+
+
+
+
+
+
+
+
18 STAmount const& saBalance(line.getBalance());
+
19 STAmount const& saLimit(line.getLimit());
+
20 STAmount const& saLimitPeer(line.getLimitPeer());
+
+
+
23 jPeer[jss::account] =
to_string(line.getAccountIDPeer());
+
+
+
+
+
+
29 jPeer[jss::balance] = saBalance.
getText();
+
+
31 jPeer[jss::limit] = saLimit.
getText();
+
32 jPeer[jss::limit_peer] = saLimitPeer.
getText();
+
33 jPeer[jss::quality_in] = line.getQualityIn().value;
+
34 jPeer[jss::quality_out] = line.getQualityOut().value;
+
+
36 jPeer[jss::authorized] =
true;
+
37 if (line.getAuthPeer())
+
38 jPeer[jss::peer_authorized] =
true;
+
39 if (line.getNoRipple())
+
40 jPeer[jss::no_ripple] =
true;
+
41 if (line.getNoRipplePeer())
+
42 jPeer[jss::no_ripple_peer] =
true;
+
+
44 jPeer[jss::freeze] =
true;
+
45 if (line.getFreezePeer())
+
46 jPeer[jss::freeze_peer] =
true;
+
47 if (line.getDeepFreeze())
+
48 jPeer[jss::deep_freeze] =
true;
+
49 if (line.getDeepFreezePeer())
+
50 jPeer[jss::deep_freeze_peer] =
true;
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
64 auto const& params(context.
params);
-
65 if (!params.isMember(jss::account))
-
-
-
68 if (!params[jss::account].isString())
-
-
-
-
-
-
-
-
76 auto id = parseBase58<AccountID>(params[jss::account].asString());
-
-
-
-
-
-
82 auto const accountID{std::move(
id.value())};
-
-
-
-
-
-
88 if (params.isMember(jss::peer))
-
89 strPeer = params[jss::peer].asString();
-
-
-
-
-
94 if (!strPeer.
empty() && !raPeerAccount)
-
-
-
-
-
-
-
-
-
-
-
-
106 bool ignoreDefault = params.isMember(jss::ignore_default) &&
-
107 params[jss::ignore_default].asBool();
-
-
-
-
-
-
-
-
-
-
-
118 VisitData visitData = {{}, accountID, raPeerAccount, ignoreDefault, 0};
-
119 uint256 startAfter = beast::zero;
-
-
-
122 if (params.isMember(jss::marker))
-
-
124 if (!params[jss::marker].isString())
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
142 startHint = boost::lexical_cast<std::uint64_t>(value);
-
-
144 catch (boost::bad_lexical_cast&)
-
-
-
-
-
-
-
151 auto const sle = ledger->read({
ltANY, startAfter});
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
170 [&visitData, &count, &marker, &limit, &nextHint](
-
-
-
-
-
175 UNREACHABLE(
"ripple::doAccountLines : null SLE");
-
-
-
-
-
180 if (++count == limit)
-
-
182 marker = sleCur->key();
-
-
-
-
-
187 if (sleCur->getType() != ltRIPPLE_STATE)
-
-
-
-
191 if (visitData.ignoreDefault)
-
-
193 if (sleCur->getFieldAmount(sfLowLimit).getIssuer() ==
-
-
-
-
-
-
-
-
-
202 if (!ignore && count <= limit)
-
-
-
-
-
-
208 (!visitData.raPeerAccount ||
-
209 *visitData.raPeerAccount ==
-
210 line->getAccountIDPeer()))
-
-
212 visitData.items.emplace_back(*line);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
226 if (count == limit + 1 && marker)
-
-
228 result[jss::limit] = limit;
-
229 result[jss::marker] =
-
-
-
-
233 result[jss::account] =
toBase58(accountID);
-
-
235 for (
auto const& item : visitData.items)
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
65 auto const& params(context.
params);
+
66 if (!params.isMember(jss::account))
+
+
+
69 if (!params[jss::account].isString())
+
+
+
+
+
+
+
+
77 auto id = parseBase58<AccountID>(params[jss::account].asString());
+
+
+
+
+
+
83 auto const accountID{std::move(
id.value())};
+
+
+
+
+
+
89 if (params.isMember(jss::peer))
+
90 strPeer = params[jss::peer].asString();
+
+
+
+
+
95 if (!strPeer.
empty() && !raPeerAccount)
+
+
+
+
+
+
+
+
+
+
+
+
107 bool ignoreDefault = params.isMember(jss::ignore_default) &&
+
108 params[jss::ignore_default].asBool();
+
+
+
+
+
+
+
+
+
+
+
119 VisitData visitData = {{}, accountID, raPeerAccount, ignoreDefault, 0};
+
120 uint256 startAfter = beast::zero;
+
+
+
123 if (params.isMember(jss::marker))
+
+
125 if (!params[jss::marker].isString())
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
143 startHint = boost::lexical_cast<std::uint64_t>(value);
+
+
145 catch (boost::bad_lexical_cast&)
+
+
+
+
+
+
+
152 auto const sle = ledger->read({
ltANY, startAfter});
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
171 [&visitData, &count, &marker, &limit, &nextHint](
+
+
+
+
+
176 UNREACHABLE(
"ripple::doAccountLines : null SLE");
+
+
+
+
+
181 if (++count == limit)
+
+
183 marker = sleCur->key();
+
+
+
+
+
188 if (sleCur->getType() != ltRIPPLE_STATE)
+
+
+
+
192 if (visitData.ignoreDefault)
+
+
194 if (sleCur->getFieldAmount(sfLowLimit).getIssuer() ==
+
+
+
+
+
+
+
+
+
203 if (!ignore && count <= limit)
+
+
+
+
+
+
209 (!visitData.raPeerAccount ||
+
210 *visitData.raPeerAccount ==
+
211 line->getAccountIDPeer()))
+
+
213 visitData.items.emplace_back(*line);
+
+
+
+
+
+
+
+
+
+
+
+
+
+
227 if (count == limit + 1 && marker)
+
+
229 result[jss::limit] = limit;
+
230 result[jss::marker] =
+
+
+
+
234 result[jss::account] =
toBase58(accountID);
+
+
236 for (
auto const& item : visitData.items)
+
+
+
+
+
-
-
+
+
@@ -350,18 +351,18 @@ $(document).ready(function() { init_codefold(0); });
bool isRelatedToAccount(ReadView const &ledger, std::shared_ptr< SLE const > const &sle, AccountID const &accountID)
Tests if a SLE is owned by accountID.
void inject_error(error_code_i code, JsonValue &json)
Add or update the json update to reflect the error code.
Json::Value expected_field_error(std::string const &name, std::string const &type)
-
Status lookupLedger(std::shared_ptr< ReadView const > &ledger, JsonContext &context, Json::Value &result)
Look up a ledger from a request and fill a Json::Result with the data representing a ledger.
+
Status lookupLedger(std::shared_ptr< ReadView const > &ledger, JsonContext &context, Json::Value &result)
Look up a ledger from a request and fill a Json::Result with the data representing a ledger.
std::uint64_t getStartHint(std::shared_ptr< SLE const > const &sle, AccountID const &accountID)
Gets the start hint for traversing account objects.
Json::Value missing_field_error(std::string const &name)
Charge const feeMediumBurdenRPC
Keylet account(AccountID const &id) noexcept
AccountID root.
Use hash_* containers for keys that do not need a cryptographically secure hashing algorithm.
std::string toBase58(AccountID const &v)
Convert AccountID to base58 checked string.
-
void addLine(Json::Value &jsonLines, RPCTrustLine const &line)
+
void addLine(Json::Value &jsonLines, RPCTrustLine const &line)
-
Json::Value doAccountLines(RPC::JsonContext &context)
+
Json::Value doAccountLines(RPC::JsonContext &context)
Json::Value rpcError(int iError)
diff --git a/AccountObjects_8cpp_source.html b/AccountObjects_8cpp_source.html
index 922114ea2d..59b17a38c9 100644
--- a/AccountObjects_8cpp_source.html
+++ b/AccountObjects_8cpp_source.html
@@ -84,304 +84,509 @@ $(document).ready(function() { init_codefold(0); });
1#include <xrpld/app/tx/detail/NFTokenUtils.h>
2#include <xrpld/rpc/Context.h>
3#include <xrpld/rpc/detail/RPCHelpers.h>
-
4#include <xrpld/rpc/detail/Tuning.h>
-
-
6#include <xrpl/ledger/ReadView.h>
-
7#include <xrpl/protocol/ErrorCodes.h>
-
8#include <xrpl/protocol/Indexes.h>
-
9#include <xrpl/protocol/LedgerFormats.h>
-
10#include <xrpl/protocol/RPCErr.h>
-
11#include <xrpl/protocol/jss.h>
-
12#include <xrpl/protocol/nftPageMask.h>
-
13#include <xrpl/resource/Fees.h>
-
-
-
-
-
-
-
-
-
-
33 auto const& params = context.
params;
-
34 if (!params.isMember(jss::account))
-
-
-
37 if (!params[jss::account].isString())
-
-
-
40 auto id = parseBase58<AccountID>(params[jss::account].asString());
-
-
-
-
-
-
-
-
48 if (ledger ==
nullptr)
-
-
50 auto const accountID{
id.value()};
-
-
-
-
-
-
-
-
-
-
60 bool const markerSet = params.isMember(jss::marker);
-
-
-
-
64 auto const& m = params[jss::marker];
-
-
-
-
-
-
-
-
-
-
-
75 auto cp = ledger->read(
Keylet(
-
-
77 ledger->succ(first.key, last.key.next()).value_or(last.key)));
-
-
-
-
-
-
83 bool pastMarker = marker.
isZero();
-
84 bool markerFound =
false;
-
-
-
-
88 auto arr = cp->getFieldArray(sfNFTokens);
-
-
90 for (
auto const& o : arr)
-
-
-
-
-
-
-
-
-
-
-
-
-
103 uint256 const nftokenID = o[sfNFTokenID];
-
-
-
-
-
108 if (maskedNftokenID < maskedMarker)
-
-
-
111 if (maskedNftokenID == maskedMarker && nftokenID < marker)
-
-
-
114 if (nftokenID == marker)
-
-
-
-
-
-
-
121 if (markerSet && !markerFound)
-
-
-
-
-
-
-
-
-
-
-
132 obj[sfNFTokenTaxon.jsonName] =
-
-
-
-
136 obj[sfTransferFee.jsonName] = xferFee;
-
-
-
-
-
141 result[jss::limit] = limit;
-
142 result[jss::marker] =
to_string(o.getFieldH256(sfNFTokenID));
-
-
-
-
-
147 if (
auto npm = (*cp)[~sfNextPageMin])
-
148 cp = ledger->read(
Keylet(ltNFTOKEN_PAGE, *npm));
-
-
-
-
-
153 if (markerSet && !markerFound)
-
-
-
156 result[jss::account] =
toBase58(accountID);
-
-
-
+
4#include <xrpld/rpc/detail/RPCLedgerHelpers.h>
+
5#include <xrpld/rpc/detail/Tuning.h>
+
+
7#include <xrpl/ledger/ReadView.h>
+
8#include <xrpl/protocol/ErrorCodes.h>
+
9#include <xrpl/protocol/Indexes.h>
+
10#include <xrpl/protocol/LedgerFormats.h>
+
11#include <xrpl/protocol/RPCErr.h>
+
12#include <xrpl/protocol/jss.h>
+
13#include <xrpl/protocol/nftPageMask.h>
+
14#include <xrpl/resource/Fees.h>
+
+
+
+
+
+
+
+
+
+
34 auto const& params = context.
params;
+
35 if (!params.isMember(jss::account))
+
+
+
38 if (!params[jss::account].isString())
+
+
+
41 auto id = parseBase58<AccountID>(params[jss::account].asString());
+
+
+
+
+
+
+
+
49 if (ledger ==
nullptr)
+
+
51 auto const accountID{
id.value()};
+
+
+
+
+
+
+
+
+
+
61 bool const markerSet = params.isMember(jss::marker);
+
+
+
+
65 auto const& m = params[jss::marker];
+
+
+
+
+
+
+
+
+
+
+
76 auto cp = ledger->read(
Keylet(
+
+
78 ledger->succ(first.key, last.key.next()).value_or(last.key)));
+
+
+
+
+
+
84 bool pastMarker = marker.
isZero();
+
85 bool markerFound =
false;
+
+
+
+
89 auto arr = cp->getFieldArray(sfNFTokens);
+
+
91 for (
auto const& o : arr)
+
+
+
+
+
+
+
+
+
+
+
+
+
104 uint256 const nftokenID = o[sfNFTokenID];
+
+
+
+
+
109 if (maskedNftokenID < maskedMarker)
+
+
+
112 if (maskedNftokenID == maskedMarker && nftokenID < marker)
+
+
+
115 if (nftokenID == marker)
+
+
+
+
+
+
+
122 if (markerSet && !markerFound)
+
+
+
+
+
+
+
+
+
+
+
133 obj[sfNFTokenTaxon.jsonName] =
+
+
+
+
137 obj[sfTransferFee.jsonName] = xferFee;
+
+
+
+
+
142 result[jss::limit] = limit;
+
143 result[jss::marker] =
to_string(o.getFieldH256(sfNFTokenID));
+
+
+
+
+
148 if (
auto npm = (*cp)[~sfNextPageMin])
+
149 cp = ledger->read(
Keylet(ltNFTOKEN_PAGE, *npm));
+
+
+
+
+
154 if (markerSet && !markerFound)
+
+
+
157 result[jss::account] =
toBase58(accountID);
+
+
+
-
-
-
-
-
-
164 auto const& params = context.
params;
-
165 if (!params.isMember(jss::account))
-
-
-
168 if (!params[jss::account].isString())
-
-
-
-
-
173 if (ledger ==
nullptr)
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
173 if (!dirIndex.
isZero() && !ledger.
read({ltDIR_NODE, dirIndex}))
+
-
176 auto const id = parseBase58<AccountID>(params[jss::account].asString());
-
-
-
-
-
-
182 auto const accountID{
id.value()};
-
-
-
-
-
+
+
+
+
179 return it != typeFilter.
end();
+
+
+
+
+
184 bool iterateNFTPages =
+
185 (!typeFilter.has_value() ||
+
186 typeMatchesFilter(typeFilter.value(), ltNFTOKEN_PAGE)) &&
+
187 dirIndex == beast::zero;
-
189 if (params.isMember(jss::deletion_blockers_only) &&
-
190 params[jss::deletion_blockers_only].asBool())
-
-
-
-
-
-
196 }
static constexpr deletionBlockers[] = {
-
197 {jss::check, ltCHECK},
-
198 {jss::escrow, ltESCROW},
-
199 {jss::nft_page, ltNFTOKEN_PAGE},
-
200 {jss::payment_channel, ltPAYCHAN},
-
201 {jss::state, ltRIPPLE_STATE},
-
202 {jss::xchain_owned_claim_id, ltXCHAIN_OWNED_CLAIM_ID},
-
203 {jss::xchain_owned_create_account_claim_id,
-
204 ltXCHAIN_OWNED_CREATE_ACCOUNT_CLAIM_ID},
-
205 {jss::bridge, ltBRIDGE},
-
206 {jss::mpt_issuance, ltMPTOKEN_ISSUANCE},
-
207 {jss::mptoken, ltMPTOKEN},
-
208 {jss::permissioned_domain, ltPERMISSIONED_DOMAIN},
-
209 {jss::vault, ltVAULT},
-
-
-
-
213 typeFilter->reserve(
std::size(deletionBlockers));
-
-
215 for (
auto [name, type] : deletionBlockers)
-
-
217 if (params.isMember(jss::type) && name != params[jss::type])
-
-
-
+
+
+
+
192 if (iterateNFTPages && entryIndex != beast::zero)
+
+
+
+
+
+
198 iterateNFTPages =
false;
+
+
+
+
+
+
+
205 uint32_t mlimit = limit;
+
+
+
+
+
210 Keylet const first = entryIndex == beast::zero
+
+
212 :
Keylet{ltNFTOKEN_PAGE, entryIndex};
+
+
+
+
+
+
+
+
220 auto cp = ledger.
read(
Keylet{ltNFTOKEN_PAGE, ck});
-
222 typeFilter->push_back(type);
-
-
-
-
-
-
-
-
-
-
-
-
-
235 rpcStatus.inject(result);
-
-
-
238 else if (type !=
ltANY)
-
-
-
-
+
+
+
+
225 auto const npm = (*cp)[~sfNextPageMin];
+
+
227 cp = ledger.
read(
Keylet(ltNFTOKEN_PAGE, *npm));
+
+
+
+
+
+
+
+
235 jvResult[jss::limit] = limit;
+
+
+
+
+
+
+
-
-
-
-
-
-
-
250 if (params.isMember(jss::marker))
-
-
252 auto const& marker = params[jss::marker];
-
253 if (!marker.isString())
-
-
-
256 auto const& markerStr = marker.asString();
-
257 auto const& idx = markerStr.find(
',');
-
258 if (idx == std::string::npos)
-
-
-
261 if (!dirIndex.
parseHex(markerStr.substr(0, idx)))
-
-
-
264 if (!entryIndex.
parseHex(markerStr.substr(idx + 1)))
-
-
-
-
-
-
-
-
-
-
-
-
-
-
278 result[jss::account] =
toBase58(accountID);
-
-
-
+
+
+
+
+
+
+
+
251 entryIndex = beast::zero;
+
+
+
+
+
+
+
+
+
+
+
+
263 auto dir = ledger.
read({ltDIR_NODE, dirIndex});
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
284 auto const& entries = dir->getFieldV256(sfIndexes);
+
285 auto iter = entries.begin();
+
+
+
+
289 iter =
std::find(iter, entries.end(), entryIndex);
+
290 if (iter == entries.end())
+
+
+
+
+
+
+
+
298 if (i == mlimit && mlimit < limit)
+
+
300 jvResult[jss::limit] = limit;
+
301 jvResult[jss::marker] =
+
+
+
+
+
306 for (; iter != entries.end(); ++iter)
+
+
+
+
310 if (!typeFilter.has_value() ||
+
311 typeMatchesFilter(typeFilter.value(), sleNode->getType()))
+
+
+
+
+
+
+
318 if (++iter != entries.end())
+
+
320 jvResult[jss::limit] = limit;
+
321 jvResult[jss::marker] =
+
+
+
+
+
+
+
+
+
330 auto const nodeIndex = dir->getFieldU64(sfIndexNext);
+
+
+
+
+
335 dir = ledger.
read({ltDIR_NODE, dirIndex});
+
+
+
+
+
+
341 auto const& e = dir->getFieldV256(sfIndexes);
+
+
+
344 jvResult[jss::limit] = limit;
+
345 jvResult[jss::marker] =
+
+
+
+
+
+
+
-
-
+
+
+
+
+
+
357 auto const& params = context.
params;
+
358 if (!params.isMember(jss::account))
+
+
+
361 if (!params[jss::account].isString())
+
+
+
+
+
366 if (ledger ==
nullptr)
+
+
+
369 auto const id = parseBase58<AccountID>(params[jss::account].asString());
+
+
+
+
+
+
375 auto const accountID{
id.value()};
+
+
+
+
+
+
+
382 if (params.isMember(jss::deletion_blockers_only) &&
+
383 params[jss::deletion_blockers_only].asBool())
+
+
+
+
+
+
389 }
static constexpr deletionBlockers[] = {
+
390 {jss::check, ltCHECK},
+
391 {jss::escrow, ltESCROW},
+
392 {jss::nft_page, ltNFTOKEN_PAGE},
+
393 {jss::payment_channel, ltPAYCHAN},
+
394 {jss::state, ltRIPPLE_STATE},
+
395 {jss::xchain_owned_claim_id, ltXCHAIN_OWNED_CLAIM_ID},
+
396 {jss::xchain_owned_create_account_claim_id,
+
397 ltXCHAIN_OWNED_CREATE_ACCOUNT_CLAIM_ID},
+
398 {jss::bridge, ltBRIDGE},
+
399 {jss::mpt_issuance, ltMPTOKEN_ISSUANCE},
+
400 {jss::mptoken, ltMPTOKEN},
+
401 {jss::permissioned_domain, ltPERMISSIONED_DOMAIN},
+
402 {jss::vault, ltVAULT},
+
+
+
+
406 typeFilter->reserve(
std::size(deletionBlockers));
+
+
408 for (
auto [name, type] : deletionBlockers)
+
+
410 if (params.isMember(jss::type) && name != params[jss::type])
+
+
+
+
+
415 typeFilter->push_back(type);
+
+
+
+
+
+
+
+
+
+
+
+
+
428 rpcStatus.inject(result);
+
+
+
431 else if (type !=
ltANY)
+
+
+
+
+
+
+
+
+
+
+
+
443 if (params.isMember(jss::marker))
+
+
445 auto const& marker = params[jss::marker];
+
446 if (!marker.isString())
+
+
+
449 auto const& markerStr = marker.asString();
+
450 auto const& idx = markerStr.find(
',');
+
451 if (idx == std::string::npos)
+
+
+
454 if (!dirIndex.
parseHex(markerStr.substr(0, idx)))
+
+
+
457 if (!entryIndex.
parseHex(markerStr.substr(idx + 1)))
+
+
+
+
+
+
+
+
+
+
+
+
+
+
471 result[jss::account] =
toBase58(accountID);
+
+
+
+
+
+
+
+
Lightweight wrapper to tag static string.
Value & append(Value const &value)
Append value to array at the end.
+
+
virtual std::shared_ptr< SLE const > read(Keylet const &k) const =0
Return the state item associated with a key.
+
virtual std::optional< key_type > succ(key_type const &key, std::optional< key_type > const &last=std::nullopt) const =0
Return the key of the next state item.
+
constexpr bool parseHex(std::string_view sv)
Parse a hex string into a base_uint.
+
+
@ arrayValue
array value (ordered list)
static LimitRange constexpr accountNFTokens
Limits for the account_nftokens command, in pages.
static LimitRange constexpr accountObjects
Limits for the account_objects command.
Json::Value invalid_field_error(std::string const &name)
-
bool isAccountObjectsValidType(LedgerEntryType const &type)
Check if the type is a valid filtering type for account_objects method.
+
bool isAccountObjectsValidType(LedgerEntryType const &type)
Check if the type is a valid filtering type for account_objects method.
void inject_error(error_code_i code, JsonValue &json)
Add or update the json update to reflect the error code.
-
std::pair< RPC::Status, LedgerEntryType > chooseLedgerEntryType(Json::Value const ¶ms)
-
bool getAccountObjects(ReadView const &ledger, AccountID const &account, std::optional< std::vector< LedgerEntryType > > const &typeFilter, uint256 dirIndex, uint256 entryIndex, std::uint32_t const limit, Json::Value &jvResult)
Gathers all objects for an account in a ledger.
+
std::pair< RPC::Status, LedgerEntryType > chooseLedgerEntryType(Json::Value const ¶ms)
Json::Value expected_field_error(std::string const &name, std::string const &type)
-
Status lookupLedger(std::shared_ptr< ReadView const > &ledger, JsonContext &context, Json::Value &result)
Look up a ledger from a request and fill a Json::Result with the data representing a ledger.
+
Status lookupLedger(std::shared_ptr< ReadView const > &ledger, JsonContext &context, Json::Value &result)
Look up a ledger from a request and fill a Json::Result with the data representing a ledger.
Json::Value missing_field_error(std::string const &name)
Charge const feeMediumBurdenRPC
+
Keylet child(uint256 const &key) noexcept
Any item that can be in an owner dir.
Keylet nftpage(Keylet const &k, uint256 const &token)
Keylet account(AccountID const &id) noexcept
AccountID root.
+
Keylet page(uint256 const &root, std::uint64_t index=0) noexcept
A page in a directory.
Keylet nftpage_min(AccountID const &owner)
NFT page keylets.
Keylet nftpage_max(AccountID const &owner)
A keylet for the owner's last possible NFT page.
+
Keylet ownerDir(AccountID const &id) noexcept
The root page of an account's directory.
std::uint16_t getTransferFee(uint256 const &id)
std::uint16_t getFlags(uint256 const &id)
std::uint32_t toUInt32(Taxon t)
@@ -394,20 +599,24 @@ $(document).ready(function() { init_codefold(0); });
Json::Value rpcError(int iError)
-
Json::Value doAccountObjects(RPC::JsonContext &context)
-
Json::Value doAccountNFTs(RPC::JsonContext &context)
General RPC command that can retrieve objects in the account root.
+
Json::Value doAccountObjects(RPC::JsonContext &context)
+
Json::Value doAccountNFTs(RPC::JsonContext &context)
General RPC command that can retrieve objects in the account root.
+
bool getAccountObjects(ReadView const &ledger, AccountID const &account, std::optional< std::vector< LedgerEntryType > > const &typeFilter, uint256 dirIndex, uint256 entryIndex, std::uint32_t const limit, Json::Value &jvResult)
std::string to_string(base_uint< Bits, Tag > const &a)
LedgerEntryType
Identifiers for on-ledger objects.
@ ltANY
A special type, matching any ledger entry type.
+
Number root(Number f, unsigned d)
A pair of SHAMap key and LedgerEntryType.
+
Resource::Charge & loadType
+
General RPC command that can retrieve objects in the account root.
{ account: <account> ledger_hash: <string> // optional ledger_index: <string | unsigned integer> // optional type: <string> // optional, defaults to all account objects types limit: <integer> // optional marker: <opaque> // optional, resume previous query }
-
Definition at line 31 of file AccountObjects.cpp.
+
Definition at line 32 of file AccountObjects.cpp.
+
+
+
+
+
◆ getAccountObjects()
+
+
@@ -47397,7 +47459,7 @@ template<class T >
@@ -47427,7 +47489,7 @@ template<class T >
@@ -47447,7 +47509,7 @@ template<class T >
@@ -47623,7 +47685,7 @@ template<class T >
@@ -47653,7 +47715,7 @@ template<class T >
@@ -47673,7 +47735,7 @@ template<class T >
@@ -47693,7 +47755,7 @@ template<class T >
@@ -47733,7 +47795,7 @@ template<class T >
@@ -47753,7 +47815,7 @@ template<class T >
@@ -48280,7 +48342,7 @@ template<class T >
@@ -48400,7 +48462,7 @@ template<class T >
@@ -48420,7 +48482,7 @@ template<class T >
@@ -48440,7 +48502,7 @@ template<class T >
@@ -50334,7 +50396,7 @@ template<class T >
@@ -50378,7 +50440,7 @@ template<class T >
@@ -50434,7 +50496,7 @@ template<class T >
diff --git a/namespaceripple_1_1RPC.html b/namespaceripple_1_1RPC.html
index 71cd2cff81..c958bdbebd 100644
--- a/namespaceripple_1_1RPC.html
+++ b/namespaceripple_1_1RPC.html
@@ -240,9 +240,27 @@ Functions
| bool | isRelatedToAccount (ReadView const &ledger, std::shared_ptr< SLE const > const &sle, AccountID const &accountID) |
| | Tests if a SLE is owned by accountID.
|
| |
-| bool | getAccountObjects (ReadView const &ledger, AccountID const &account, std::optional< std::vector< LedgerEntryType > > const &typeFilter, uint256 dirIndex, uint256 entryIndex, std::uint32_t const limit, Json::Value &jvResult) |
-| | Gathers all objects for an account in a ledger.
|
-| |
+| hash_set< AccountID > | parseAccountIds (Json::Value const &jvArray) |
+| |
+| void | injectSLE (Json::Value &jv, SLE const &sle) |
+| | Inject JSON describing ledger entry.
|
+| |
+| std::optional< Json::Value > | readLimitField (unsigned int &limit, Tuning::LimitRange const &, JsonContext const &) |
+| | Retrieve the limit value from a JsonContext, or set a default - then restrict the limit by max and min if not an ADMIN request.
|
+| |
+| std::optional< Seed > | parseRippleLibSeed (Json::Value const &value) |
+| |
+| std::optional< Seed > | getSeedFromRPC (Json::Value const ¶ms, Json::Value &error) |
+| |
+| std::optional< std::pair< PublicKey, SecretKey > > | keypairForSignature (Json::Value const ¶ms, Json::Value &error, unsigned int apiVersion) |
+| |
+| std::pair< RPC::Status, LedgerEntryType > | chooseLedgerEntryType (Json::Value const ¶ms) |
+| |
+| bool | isAccountObjectsValidType (LedgerEntryType const &type) |
+| | Check if the type is a valid filtering type for account_objects method.
|
+| |
+| bool | isHexTxID (std::string const &txid) |
+| |
| template<class T , class R > |
| Status | ledgerFromRequest (T &ledger, GRPCContext< R > &context) |
| |
@@ -279,30 +297,9 @@ Functions
| Json::Value | lookupLedger (std::shared_ptr< ReadView const > &, JsonContext &) |
| | Look up a ledger from a request and fill a Json::Result with either an error, or data representing a ledger.
|
| |
-| hash_set< AccountID > | parseAccountIds (Json::Value const &jvArray) |
-| |
-| void | injectSLE (Json::Value &jv, SLE const &sle) |
-| | Inject JSON describing ledger entry.
|
-| |
-| std::optional< Json::Value > | readLimitField (unsigned int &limit, Tuning::LimitRange const &, JsonContext const &) |
-| | Retrieve the limit value from a JsonContext, or set a default - then restrict the limit by max and min if not an ADMIN request.
|
-| |
-| std::optional< Seed > | parseRippleLibSeed (Json::Value const &value) |
-| |
-| std::optional< Seed > | getSeedFromRPC (Json::Value const ¶ms, Json::Value &error) |
-| |
-| std::optional< std::pair< PublicKey, SecretKey > > | keypairForSignature (Json::Value const ¶ms, Json::Value &error, unsigned int apiVersion) |
-| |
-| std::pair< RPC::Status, LedgerEntryType > | chooseLedgerEntryType (Json::Value const ¶ms) |
-| |
-| bool | isAccountObjectsValidType (LedgerEntryType const &type) |
-| | Check if the type is a valid filtering type for account_objects method.
|
-| |
| std::variant< std::shared_ptr< Ledger const >, Json::Value > | getLedgerByContext (RPC::JsonContext &context) |
| | Return a ledger based on ledger_hash or ledger_index, or an RPC error.
|
| |
-| bool | isHexTxID (std::string const &txid) |
-| |
| static XRPAmount | getTxFee (Application const &app, Config const &config, Json::Value tx) |
| |
| Json::Value | getCurrentNetworkFee (Role const role, Config const &config, LoadFeeTrack const &feeTrack, TxQ const &txQ, Application const &app, Json::Value const &tx, int mult, int div) |
@@ -511,7 +508,7 @@ Variables
| VALIDATED | |
-Definition at line 111 of file RPCHelpers.h.
+Definition at line 47 of file RPCLedgerHelpers.h.
@@ -2383,53 +2380,43 @@ template<class T >
-
-◆ getAccountObjects()
+
+◆ parseAccountIds()
+
+◆ injectSLE()
+
+
+
-
Gathers all objects for an account in a ledger.
-
- Parameters
-
-
- | ledger | Ledger to search account objects. |
- | account | AccountID to find objects for. |
- | typeFilter | Gathers objects of these types. empty gathers all types. |
- | dirIndex | Begin gathering account objects from this directory. |
- | entryIndex | Begin gathering objects from this directory node. |
- | limit | Maximum number of objects to find. |
- | jvResult | A JSON result that holds the request objects. |
-
-
-
+
Inject JSON describing ledger entry.
+
Effects: Adds the JSON description of sle to jv.
+
If sle holds an account root, also adds the urlgravatar field JSON if sfEmailHash is present.
-
Definition at line 134 of file RPCHelpers.cpp.
+
Definition at line 150 of file RPCHelpers.cpp.
+
+
+
+
+◆ readLimitField()
+
+
+
+
+
Retrieve the limit value from a JsonContext, or set a default - then restrict the limit by max and min if not an ADMIN request.
+
If there is an error, return it as JSON.
+
+
Definition at line 175 of file RPCHelpers.cpp.
+
+
+
+
+◆ parseRippleLibSeed()
+
+
+
+◆ getSeedFromRPC()
+
+
+
+◆ keypairForSignature()
+
+
+
+◆ chooseLedgerEntryType()
+
+
+
+◆ isAccountObjectsValidType()
+
+
+
+
+
+ | bool ripple::RPC::isAccountObjectsValidType |
+ ( |
+ LedgerEntryType const & |
+ type | ) |
+ |
+
+
+
+
+
Check if the type is a valid filtering type for account_objects method.
+
Since Amendments, DirectoryNode, FeeSettings, LedgerHashes can not be owned by an account, this function will return false in these situations.
+
+
Definition at line 469 of file RPCHelpers.cpp.
+
+
+
+
+◆ isHexTxID()
+
+
+
+
+
+ | bool ripple::RPC::isHexTxID |
+ ( |
+ std::string const & |
+ txid | ) |
+ |
+
+
+
@@ -2485,7 +2648,7 @@ template<class T , class R >
@@ -2607,7 +2770,7 @@ template<class T >
@@ -2647,7 +2810,7 @@ template<class T >
Get ledger by hash If there is no error in the return value, the ledger pointer will have been filled.
-Definition at line 472 of file RPCHelpers.cpp.
+Definition at line 171 of file RPCLedgerHelpers.cpp.
@@ -2687,7 +2850,7 @@ template<class T >
Get ledger by sequence If there is no error in the return value, the ledger pointer will have been filled.
-Definition at line 482 of file RPCHelpers.cpp.
+Definition at line 181 of file RPCLedgerHelpers.cpp.
@@ -2728,7 +2891,7 @@ template<class T >
Get ledger specified in shortcut.
If there is no error in the return value, the ledger pointer will have been filled
-Definition at line 511 of file RPCHelpers.cpp.
+Definition at line 210 of file RPCLedgerHelpers.cpp.
@@ -2869,7 +3032,7 @@ template<class T >
Look up a ledger from a request and fill a Json::Result with the data representing a ledger.
If the returned Status is OK, the ledger pointer will have been filled.
-Definition at line 606 of file RPCHelpers.cpp.
+Definition at line 305 of file RPCLedgerHelpers.cpp.
@@ -2902,229 +3065,7 @@ template<class T >
Look up a ledger from a request and fill a Json::Result with either an error, or data representing a ledger.
If there is no error in the return value, then the ledger pointer will have been filled.
-Definition at line 631 of file RPCHelpers.cpp.
-
-
-
-
-◆ parseAccountIds()
-
-
-
-◆ injectSLE()
-
-
-
-
-
- | void ripple::RPC::injectSLE |
- ( |
- Json::Value & |
- jv, |
-
-
- |
- |
- SLE const & |
- sle |
-
-
- |
- ) |
- | |
-
-
-
-
-
Inject JSON describing ledger entry.
-
Effects: Adds the JSON description of sle to jv.
-
If sle holds an account root, also adds the urlgravatar field JSON if sfEmailHash is present.
-
-
Definition at line 657 of file RPCHelpers.cpp.
-
-
-
-
-◆ readLimitField()
-
-
-
-
-
Retrieve the limit value from a JsonContext, or set a default - then restrict the limit by max and min if not an ADMIN request.
-
If there is an error, return it as JSON.
-
-
Definition at line 682 of file RPCHelpers.cpp.
-
-
-
-
-◆ parseRippleLibSeed()
-
-
-
-◆ getSeedFromRPC()
-
-
-
-◆ keypairForSignature()
-
-
-
-◆ chooseLedgerEntryType()
-
-
-
-◆ isAccountObjectsValidType()
-
-
-
-
-
- | bool ripple::RPC::isAccountObjectsValidType |
- ( |
- LedgerEntryType const & |
- type | ) |
- |
-
-
-
-
-
Check if the type is a valid filtering type for account_objects method.
-
Since Amendments, DirectoryNode, FeeSettings, LedgerHashes can not be owned by an account, this function will return false in these situations.
-
-
Definition at line 976 of file RPCHelpers.cpp.
+
Definition at line 330 of file RPCLedgerHelpers.cpp.
@@ -3146,25 +3087,7 @@ template<class T >
Return a ledger based on ledger_hash or ledger_index, or an RPC error.
-Definition at line 992 of file RPCHelpers.cpp.
-
-
-
-
-◆ isHexTxID()
-
-
-
-
-
- | bool ripple::RPC::isHexTxID |
- ( |
- std::string const & |
- txid | ) |
- |
-
-
-
diff --git a/search/all_10.js b/search/all_10.js
index 60ac61cb80..5304865847 100644
--- a/search/all_10.js
+++ b/search/all_10.js
@@ -320,7 +320,7 @@ var searchData=
['ipaddressconversion_317',['ipaddressconversion',['../structbeast_1_1IPAddressConversion.html#aeeb741eceefb870c1c7ff31b894f1011',1,'beast::IPAddressConversion::IPAddressConversion()'],['../structbeast_1_1IPAddressConversion.html',1,'beast::IPAddressConversion']]],
['ipaddresses_318',['IPAddresses',['../namespaceripple_1_1PeerFinder.html#aa976f893782a0e9ae34878b7d7045c05',1,'ripple::PeerFinder']]],
['ipallowed_319',['ipAllowed',['../namespaceripple.html#ae526cb7431d0104912811e64227383f8',1,'ripple']]],
- ['ipe_320',['ipe',['../namespaceripple_1_1test_1_1jtx.html#a992303bb9a650824e18de77a2355ac23',1,'ripple::test::jtx::IPE()'],['../namespaceripple_1_1test.html#acb8d1b93cfea8a1115a2ced455a83e82',1,'ripple::test::ipe()']]],
+ ['ipe_320',['ipe',['../namespaceripple_1_1test.html#acb8d1b93cfea8a1115a2ced455a83e82',1,'ripple::test::ipe()'],['../namespaceripple_1_1test_1_1jtx.html#a992303bb9a650824e18de77a2355ac23',1,'ripple::test::jtx::IPE()']]],
['ipendpoint_5ftest_321',['IPEndpoint_test',['../classbeast_1_1IP_1_1IPEndpoint__test.html',1,'beast::IP']]],
['iplimit_322',['iplimit',['../structripple_1_1PeerFinder_1_1Config.html#a46decaaf39a6782668b563d2d774ddb5',1,'ripple::PeerFinder::Config::ipLimit'],['../structripple_1_1Overlay_1_1Setup.html#a80250951d1e867a2cdc1cb3f4ed6d8a1',1,'ripple::Overlay::Setup::ipLimit']]],
['iplimitexceeded_323',['ipLimitExceeded',['../namespaceripple_1_1PeerFinder.html#ae15e107cb3b0b67dbf43bd4a0a229c15a290e854afb37272f6ff33bda722dacb7',1,'ripple::PeerFinder']]],
diff --git a/search/all_13.js b/search/all_13.js
index 5a39e3ccb1..c03966cd94 100644
--- a/search/all_13.js
+++ b/search/all_13.js
@@ -145,7 +145,7 @@ var searchData=
['ledgergenesistimeresolution_142',['ledgerGenesisTimeResolution',['../namespaceripple.html#a82e58c7a4ba5450436885574fb2fd4f5',1,'ripple']]],
['ledgergranularity_143',['ledgerGRANULARITY',['../structripple_1_1ConsensusParms.html#a0f51900eb407dde2619c639882d564e7',1,'ripple::ConsensusParms']]],
['ledgerhandler_144',['ledgerhandler',['../classripple_1_1RPC_1_1LedgerHandler.html',1,'ripple::RPC::LedgerHandler'],['../classripple_1_1RPC_1_1LedgerHandler.html#afa39c881edcf53399964ec32b3312b1a',1,'ripple::RPC::LedgerHandler::LedgerHandler()']]],
- ['ledgerhash_145',['ledgerhash',['../classripple_1_1RelationalDatabase.html#ae6ed6a653c43698a1480c0230b1e99aa',1,'ripple::RelationalDatabase::LedgerHash'],['../structripple_1_1LedgerHashPair.html#a4b52e6ae64b9feac6fa5f8f8cbf1f9ce',1,'ripple::LedgerHashPair::ledgerHash'],['../structripple_1_1TxResult.html#a973f423b31549213ee1613c9ae25dc82',1,'ripple::TxResult::ledgerHash'],['../namespaceripple_1_1test.html#a0bd41ec0e7d28cae7397e33711e22ff5',1,'ripple::test::ledgerHash()'],['../namespaceripple.html#af5a72d3e0d9b6913c13f688390b90796',1,'ripple::LedgerHash']]],
+ ['ledgerhash_145',['ledgerhash',['../classripple_1_1RelationalDatabase.html#ae6ed6a653c43698a1480c0230b1e99aa',1,'ripple::RelationalDatabase::LedgerHash'],['../structripple_1_1LedgerHashPair.html#a4b52e6ae64b9feac6fa5f8f8cbf1f9ce',1,'ripple::LedgerHashPair::ledgerHash'],['../structripple_1_1TxResult.html#a973f423b31549213ee1613c9ae25dc82',1,'ripple::TxResult::ledgerHash'],['../namespaceripple.html#af5a72d3e0d9b6913c13f688390b90796',1,'ripple::LedgerHash'],['../namespaceripple_1_1test.html#a0bd41ec0e7d28cae7397e33711e22ff5',1,'ripple::test::ledgerHash()']]],
['ledgerhashpair_146',['LedgerHashPair',['../structripple_1_1LedgerHashPair.html',1,'ripple']]],
['ledgerheader_147',['ledgerheader',['../structripple_1_1LedgerHeader.html',1,'ripple::LedgerHeader'],['../structripple_1_1LedgerHeader.html#a03771f954fb5b32e330aec50ae5a87de',1,'ripple::LedgerHeader::LedgerHeader()']]],
['ledgerheader_5ftest_148',['LedgerHeader_test',['../classripple_1_1LedgerHeader__test.html',1,'ripple']]],
diff --git a/search/all_17.js b/search/all_17.js
index 62ab4c0d3d..3ec76b9faf 100644
--- a/search/all_17.js
+++ b/search/all_17.js
@@ -269,7 +269,7 @@ var searchData=
['payment_266',['payment',['../classripple_1_1Payment.html#a4ed9102d4015a6b67ea2129171fcd159',1,'ripple::Payment::Payment()'],['../classripple_1_1Payment.html',1,'ripple::Payment']]],
['payment_20tt_20transaction_20json_20schema_267',['Modification to <tt>Payment</tt> transaction JSON schema',['../md__2____w_2rippled_2rippled_2API-CHANGELOG.html#autotoc_md4',1,'']]],
['payment_5fauto_5fpath_5ffind_268',['payment_auto_path_find',['../classripple_1_1test_1_1Path__test.html#a3024cf59d94cc5e123c603c6d467e1e5',1,'ripple::test::Path_test']]],
- ['paymentchannelclaim_269',['paymentchannelclaim',['../namespaceripple.html#ad5143ceada01141772ae4aab984f94bdae9474a9e64b014ac43be92e69750cfc2',1,'ripple::paymentChannelClaim'],['../namespaceripple.html#adf19dc78a0185e45380be5dbe2415bbb',1,'ripple::PaymentChannelClaim']]],
+ ['paymentchannelclaim_269',['paymentchannelclaim',['../namespaceripple.html#adf19dc78a0185e45380be5dbe2415bbb',1,'ripple::PaymentChannelClaim'],['../namespaceripple.html#ad5143ceada01141772ae4aab984f94bdae9474a9e64b014ac43be92e69750cfc2',1,'ripple::paymentChannelClaim']]],
['paymentchannelcreate_270',['PaymentChannelCreate',['../namespaceripple.html#aa7a665b0e4d145246c459ffe6d8a6c03',1,'ripple']]],
['paymentchannelfund_271',['PaymentChannelFund',['../namespaceripple.html#a1b8ee7f363a248581f484dbf7bf7fa97',1,'ripple']]],
['paymentsandbox_272',['paymentsandbox',['../classripple_1_1PaymentSandbox.html#adb0094cac0964f9fed3e050364897648',1,'ripple::PaymentSandbox::PaymentSandbox(PaymentSandbox *base)'],['../classripple_1_1PaymentSandbox.html#ae15058fe338f8aa06837f54c21a918d0',1,'ripple::PaymentSandbox::PaymentSandbox(PaymentSandbox const *base)'],['../classripple_1_1PaymentSandbox.html#ab1053f94b2865ac786fac9f780f4cb02',1,'ripple::PaymentSandbox::PaymentSandbox()=delete'],['../classripple_1_1PaymentSandbox.html#ae02b1332fe55c307074866a9c3b15546',1,'ripple::PaymentSandbox::PaymentSandbox(PaymentSandbox const &)=delete'],['../classripple_1_1PaymentSandbox.html#aec1550eb021dc24fc76fdfa320f7c040',1,'ripple::PaymentSandbox::PaymentSandbox(PaymentSandbox &&)=default'],['../classripple_1_1PaymentSandbox.html#ab7631f4e5085e026d8c8fd65aa9b1533',1,'ripple::PaymentSandbox::PaymentSandbox(ReadView const *base, ApplyFlags flags)'],['../classripple_1_1PaymentSandbox.html',1,'ripple::PaymentSandbox'],['../classripple_1_1PaymentSandbox.html#a6859b772e9f03d8f1bb690de83055e22',1,'ripple::PaymentSandbox::PaymentSandbox()']]],
diff --git a/search/all_1b.js b/search/all_1b.js
index c28853b092..b520fcb56b 100644
--- a/search/all_1b.js
+++ b/search/all_1b.js
@@ -2053,7 +2053,7 @@ var searchData=
['trustedvalidations_2050',['trustedValidations',['../classripple_1_1AmendmentSet.html#a6d6b63ea4b09a0b012667c79aff07528',1,'ripple::AmendmentSet']]],
['trustedvalidations_5f_2051',['trustedValidations_',['../classripple_1_1AmendmentSet.html#a08f7a2888e1f8767713d045a114975c9',1,'ripple::AmendmentSet']]],
['trustedvotes_2052',['trustedvotes',['../classripple_1_1TrustedVotes.html',1,'ripple::TrustedVotes'],['../classripple_1_1TrustedVotes.html#abe5928a3f6fa4cf32bc180a88978e4bf',1,'ripple::TrustedVotes::TrustedVotes(TrustedVotes const &rhs)=delete'],['../classripple_1_1TrustedVotes.html#a3d752f8a8137c54441bd754db241b286',1,'ripple::TrustedVotes::TrustedVotes()=default']]],
- ['trustflag_2053',['trustflag',['../namespaceripple_1_1test.html#acf39cc44acdd6b5089f2076897fa3911',1,'ripple::test::TrustFlag'],['../namespaceripple_1_1test.html#a6879dc19e056b84550387698c4c38ec4',1,'ripple::test::trustFlag(TrustFlag f, bool useHigh)']]],
+ ['trustflag_2053',['trustflag',['../namespaceripple_1_1test.html#a6879dc19e056b84550387698c4c38ec4',1,'ripple::test::trustFlag(TrustFlag f, bool useHigh)'],['../namespaceripple_1_1test.html#acf39cc44acdd6b5089f2076897fa3911',1,'ripple::test::TrustFlag']]],
['trustgraph_2054',['trustgraph',['../classripple_1_1test_1_1csf_1_1TrustGraph.html',1,'ripple::test::csf::TrustGraph< Peer >'],['../classripple_1_1test_1_1csf_1_1TrustGraph.html#ad71fd7d9762e7c9b25ef2f27514afd9f',1,'ripple::test::csf::TrustGraph::TrustGraph()'],['../structripple_1_1test_1_1csf_1_1Peer.html#a570755672f7b6ec1c2bb96570882c166',1,'ripple::test::csf::Peer::trustGraph'],['../classripple_1_1test_1_1csf_1_1Sim.html#a8bc47ca290010d8a2637da1cd274a605',1,'ripple::test::csf::Sim::trustGraph']]],
['trustgraph_3c_20ripple_3a_3atest_3a_3acsf_3a_3apeer_20_2a_20_3e_2055',['TrustGraph< ripple::test::csf::Peer * >',['../classripple_1_1test_1_1csf_1_1TrustGraph.html',1,'ripple::test::csf']]],
['trustlinebase_2056',['trustlinebase',['../classripple_1_1RPCTrustLine.html#a74bdbbfaa6b36d1c4444faaa507012e9',1,'ripple::RPCTrustLine::TrustLineBase(TrustLineBase &&)=default'],['../classripple_1_1RPCTrustLine.html#ae0423b9670b43791ebddc47fc329256f',1,'ripple::RPCTrustLine::TrustLineBase(TrustLineBase const &)=default'],['../classripple_1_1RPCTrustLine.html#a710bb727f7f0b4d0872fcca8eaed8768',1,'ripple::RPCTrustLine::TrustLineBase(std::shared_ptr< SLE const > const &sle, AccountID const &viewAccount)'],['../classripple_1_1PathFindTrustLine.html#a74bdbbfaa6b36d1c4444faaa507012e9',1,'ripple::PathFindTrustLine::TrustLineBase(TrustLineBase &&)=default'],['../classripple_1_1PathFindTrustLine.html#ae0423b9670b43791ebddc47fc329256f',1,'ripple::PathFindTrustLine::TrustLineBase(TrustLineBase const &)=default'],['../classripple_1_1TrustLineBase.html#a74bdbbfaa6b36d1c4444faaa507012e9',1,'ripple::TrustLineBase::TrustLineBase()'],['../classripple_1_1PathFindTrustLine.html#a710bb727f7f0b4d0872fcca8eaed8768',1,'ripple::PathFindTrustLine::TrustLineBase()'],['../classripple_1_1TrustLineBase.html',1,'ripple::TrustLineBase'],['../classripple_1_1TrustLineBase.html#ae0423b9670b43791ebddc47fc329256f',1,'ripple::TrustLineBase::TrustLineBase(TrustLineBase const &)=default'],['../classripple_1_1TrustLineBase.html#a710bb727f7f0b4d0872fcca8eaed8768',1,'ripple::TrustLineBase::TrustLineBase(std::shared_ptr< SLE const > const &sle, AccountID const &viewAccount)']]],
diff --git a/search/all_1c.js b/search/all_1c.js
index 3c60a1d1b2..ecf350b852 100644
--- a/search/all_1c.js
+++ b/search/all_1c.js
@@ -60,7 +60,7 @@ var searchData=
['underlying_5ftype_5ft_57',['underlying_type_t',['http://en.cppreference.com/w/cpp/types/underlying_type.html',1,'std']]],
['undodelay_58',['undodelay',['../structripple_1_1test_1_1Consensus__test_1_1UndoDelay.html#ad77d5ecdff941435a78cd8d970434363',1,'ripple::test::Consensus_test::UndoDelay::UndoDelay()'],['../structripple_1_1test_1_1Consensus__test_1_1UndoDelay.html',1,'ripple::test::Consensus_test::UndoDelay']]],
['unexcept_59',['unexcept',['../classbeast_1_1unit__test_1_1suite.html#ab110ab2b1585caaa855150af0e3c7a74',1,'beast::unit_test::suite::unexcept(F &&f, String const &reason)'],['../classbeast_1_1unit__test_1_1suite.html#ad28942f03a54b2da8204b46850d9cc03',1,'beast::unit_test::suite::unexcept(F &&f)']]],
- ['unexpected_60',['unexpected',['../classripple_1_1Unexpected.html#af2f4eee2862f4eab830c32717c524527',1,'ripple::Unexpected::Unexpected()'],['../classbeast_1_1unit__test_1_1suite.html#a865757d2d9992fb2c91c51e137166e9d',1,'beast::unit_test::suite::unexpected(Condition shouldBeFalse, String const &reason)'],['../classbeast_1_1unit__test_1_1suite.html#a789edeb2afc9951e32b18362cb98f656',1,'beast::unit_test::suite::unexpected(Condition shouldBeFalse)'],['http://en.cppreference.com/w/cpp/error/unexpected.html',1,'std::unexpected()'],['../namespaceripple.html#ad6887fe0534dd3b0df2da54ff8994e2f',1,'ripple::Unexpected()'],['../classripple_1_1Unexpected.html#a8139a951450ea521bb2321a4f2417dce',1,'ripple::Unexpected::Unexpected(E const &e)'],['../classripple_1_1Unexpected.html#ae84f51e4038d4ba8c436d2aa90a33ae8',1,'ripple::Unexpected::Unexpected()=delete'],['../classripple_1_1Unexpected.html',1,'ripple::Unexpected< E >']]],
+ ['unexpected_60',['unexpected',['../classripple_1_1Unexpected.html#af2f4eee2862f4eab830c32717c524527',1,'ripple::Unexpected::Unexpected()'],['../classbeast_1_1unit__test_1_1suite.html#a865757d2d9992fb2c91c51e137166e9d',1,'beast::unit_test::suite::unexpected(Condition shouldBeFalse, String const &reason)'],['../classbeast_1_1unit__test_1_1suite.html#a789edeb2afc9951e32b18362cb98f656',1,'beast::unit_test::suite::unexpected(Condition shouldBeFalse)'],['../namespaceripple.html#ad6887fe0534dd3b0df2da54ff8994e2f',1,'ripple::Unexpected()'],['http://en.cppreference.com/w/cpp/error/unexpected.html',1,'std::unexpected()'],['../classripple_1_1Unexpected.html#a8139a951450ea521bb2321a4f2417dce',1,'ripple::Unexpected::Unexpected(E const &e)'],['../classripple_1_1Unexpected.html#ae84f51e4038d4ba8c436d2aa90a33ae8',1,'ripple::Unexpected::Unexpected()=delete'],['../classripple_1_1Unexpected.html',1,'ripple::Unexpected< E >']]],
['unexpected_5fhandler_61',['unexpected_handler',['http://en.cppreference.com/w/cpp/error/unexpected_handler.html',1,'std']]],
['unexpected_5ftag_62',['unexpected_tag',['../namespaceripple_1_1cryptoconditions.html#ae0bee5541ce10d52809660ad2d100a23a680460a7b6e0775b40c1af6d93f0af0a',1,'ripple::cryptoconditions']]],
['unfundedofferremovelimit_63',['unfundedOfferRemoveLimit',['../namespaceripple.html#a2ec27d00ce38a9962f60eaacbc0f0bf1',1,'ripple']]],
diff --git a/search/all_1d.js b/search/all_1d.js
index 08b526154a..1117be6b57 100644
--- a/search/all_1d.js
+++ b/search/all_1d.js
@@ -10,7 +10,7 @@ var searchData=
['valcookie_5f_7',['valCookie_',['../classripple_1_1RCLConsensus_1_1Adaptor.html#ae5dae1ff6ce46d6fa64c3d919182c99d',1,'ripple::RCLConsensus::Adaptor']]],
['valence_8',['valence',['../classripple_1_1PeerFinder_1_1Bootcache_1_1Entry.html#a0647b5e8158e4ee5c2c94795e1fd98aa',1,'ripple::PeerFinder::Bootcache::Entry::valence() const'],['../classripple_1_1PeerFinder_1_1Bootcache_1_1Entry.html#a581be978321271123284c7284fd771c3',1,'ripple::PeerFinder::Bootcache::Entry::valence()'],['../structripple_1_1PeerFinder_1_1Store_1_1Entry.html#a655fa5ae18ff218993a606634f07f3e3',1,'ripple::PeerFinder::Store::Entry::valence']]],
['valfilecontents_9',['valFileContents',['../namespaceripple_1_1detail.html#a1c5d9fb1006ebe79534ff7eb895abdbb',1,'ripple::detail']]],
- ['valid_10',['valid',['../classripple_1_1test_1_1ElementComboIter.html#a2a29df8240c82cde9df104f298477759',1,'ripple::test::ElementComboIter::valid()'],['../structripple_1_1detail_1_1MultiApiJson.html#a92ff5d0e802f7a50bf23df59c13467bf',1,'ripple::detail::MultiApiJson::valid()'],['http://en.cppreference.com/w/cpp/thread/shared_future/valid.html',1,'std::shared_future::valid()'],['http://en.cppreference.com/w/cpp/thread/packaged_task/valid.html',1,'std::packaged_task::valid()'],['http://en.cppreference.com/w/cpp/thread/future/valid.html',1,'std::future::valid()'],['../structripple_1_1detail_1_1DatabasePairValid.html#a7c79b804e14484620d9f2c18633f5365',1,'ripple::detail::DatabasePairValid::valid'],['../namespaceripple_1_1credentials.html#ab0cd6a3f76fa9f09c5f1c2d6fffc11e0',1,'ripple::credentials::valid()'],['../namespaceripple.html#abcad59b0151763334cc398263373bcdda3ac705f2acd51a4613f9188c05c91d0d',1,'ripple::Valid']]],
+ ['valid_10',['valid',['../classripple_1_1test_1_1ElementComboIter.html#a2a29df8240c82cde9df104f298477759',1,'ripple::test::ElementComboIter::valid()'],['../structripple_1_1detail_1_1MultiApiJson.html#a92ff5d0e802f7a50bf23df59c13467bf',1,'ripple::detail::MultiApiJson::valid()'],['http://en.cppreference.com/w/cpp/thread/shared_future/valid.html',1,'std::shared_future::valid()'],['http://en.cppreference.com/w/cpp/thread/packaged_task/valid.html',1,'std::packaged_task::valid()'],['http://en.cppreference.com/w/cpp/thread/future/valid.html',1,'std::future::valid()'],['../structripple_1_1detail_1_1DatabasePairValid.html#a7c79b804e14484620d9f2c18633f5365',1,'ripple::detail::DatabasePairValid::valid'],['../namespaceripple.html#abcad59b0151763334cc398263373bcdda3ac705f2acd51a4613f9188c05c91d0d',1,'ripple::Valid'],['../namespaceripple_1_1credentials.html#ab0cd6a3f76fa9f09c5f1c2d6fffc11e0',1,'ripple::credentials::valid()']]],
['valid_5f_11',['valid_',['../classripple_1_1STValidation.html#a2b834566e12309f92d12e7f11771ad82',1,'ripple::STValidation']]],
['validamm_12',['validamm',['../classripple_1_1ValidAMM.html#a4ff96005ce67d1c76f446609e315e6ea',1,'ripple::ValidAMM::ValidAMM()'],['../classripple_1_1ValidAMM.html',1,'ripple::ValidAMM']]],
['validamounts_13',['validamounts',['../structripple_1_1Attestations_1_1AttestationClaim.html#a20c7be9549c66d4053b4cb5aaa77b772',1,'ripple::Attestations::AttestationClaim::validAmounts()'],['../structripple_1_1Attestations_1_1AttestationCreateAccount.html#a31e20b33b7f491a7f449086a26b44c95',1,'ripple::Attestations::AttestationCreateAccount::validAmounts()']]],
diff --git a/search/all_d.js b/search/all_d.js
index f46ffee079..fb2a8d8b54 100644
--- a/search/all_d.js
+++ b/search/all_d.js
@@ -390,7 +390,7 @@ var searchData=
['frac_5fdigits_387',['frac_digits',['http://en.cppreference.com/w/cpp/locale/moneypunct/frac_digits.html',1,'std::moneypunct_byname::frac_digits()'],['http://en.cppreference.com/w/cpp/locale/moneypunct/frac_digits.html',1,'std::moneypunct::frac_digits()']]],
['framework_388',['Consensus Simulation Framework',['../md_test_2csf_2README.html',1,'']]],
['fread_389',['fread',['http://en.cppreference.com/w/cpp/io/c/fread.html',1,'std']]],
- ['free_390',['free',['http://en.cppreference.com/w/cpp/filesystem/space_info.html',1,'std::filesystem::space_info::free'],['http://en.cppreference.com/w/cpp/experimental/fs/space_info.html',1,'std::experimental::filesystem::space_info::free'],['http://en.cppreference.com/w/cpp/memory/c/free.html',1,'std::free()'],['../namespaceripple.html#a5d9fe757c37a7602a883d30b14e1bf3ca88c189a42c87aa49d667fc8ab76bc323',1,'ripple::FREE']]],
+ ['free_390',['free',['http://en.cppreference.com/w/cpp/filesystem/space_info.html',1,'std::filesystem::space_info::free'],['http://en.cppreference.com/w/cpp/experimental/fs/space_info.html',1,'std::experimental::filesystem::space_info::free'],['../namespaceripple.html#a5d9fe757c37a7602a883d30b14e1bf3ca88c189a42c87aa49d667fc8ab76bc323',1,'ripple::FREE'],['http://en.cppreference.com/w/cpp/memory/c/free.html',1,'std::free()']]],
['free_5ffd_5fthreshold_391',['FREE_FD_THRESHOLD',['../classripple_1_1Door.html#a5b1655cde11f01613b6316e7379cb53e',1,'ripple::Door']]],
['freeze_392',['freeze',['../namespaceripple_1_1test.html#acf39cc44acdd6b5089f2076897fa3911aeb479605271a1f0ffff9d87f2cab0b75',1,'ripple::test::freeze'],['http://en.cppreference.com/w/cpp/io/ostrstream/freeze.html',1,'std::ostrstream::freeze()'],['http://en.cppreference.com/w/cpp/io/strstream/freeze.html',1,'std::strstream::freeze()'],['http://en.cppreference.com/w/cpp/io/strstreambuf/freeze.html',1,'std::strstreambuf::freeze()']]],
['freeze_5ftest_393',['Freeze_test',['../classripple_1_1Freeze__test.html',1,'ripple']]],
@@ -480,7 +480,7 @@ var searchData=
['function_5fname_477',['function_name',['http://en.cppreference.com/w/cpp/utility/source_location/function_name.html',1,'std::source_location::function_name()'],['http://en.cppreference.com/w/cpp/experimental/source_location/function_name.html',1,'std::experimental::source_location::function_name()']]],
['functional_478',['functional',['http://en.cppreference.com/w/cpp/header/functional.html',1,'']]],
['functiontype_479',['FunctionType',['../namespaceripple.html#ac7430b8a581c7d838130308cd016633a',1,'ripple']]],
- ['fund_480',['fund',['../classripple_1_1test_1_1jtx_1_1Env.html#a9264df26c2f14a094de53a21055cdb1c',1,'ripple::test::jtx::Env::fund()'],['../namespaceripple_1_1test_1_1jtx.html#aff98aceb75526246bab03273ec360fb6',1,'ripple::test::jtx::Fund'],['../namespaceripple_1_1test_1_1jtx.html#a7465bcfa8bde2f58f93cee57934f7df8',1,'ripple::test::jtx::fund(jtx::Env &env, jtx::Account const &gw, std::vector< jtx::Account > const &accounts, std::vector< STAmount > const &amts, Fund how)'],['../namespaceripple_1_1test_1_1jtx.html#a97d903cc3d66d2e1a292d1cb3121644f',1,'ripple::test::jtx::fund(jtx::Env &env, jtx::Account const &gw, std::vector< jtx::Account > const &accounts, STAmount const &xrp, std::vector< STAmount > const &amts={}, Fund how=Fund::All)'],['../namespaceripple_1_1test_1_1jtx.html#a5699279c9df70c69fd8c99caec2761c1',1,'ripple::test::jtx::fund(jtx::Env &env, std::vector< jtx::Account > const &accounts, STAmount const &xrp, std::vector< STAmount > const &amts={}, Fund how=Fund::All)'],['../namespaceripple_1_1test_1_1jtx_1_1paychan.html#a1240fe13bcc6f33d957653b61e31122e',1,'ripple::test::jtx::paychan::fund()'],['../structripple_1_1test_1_1jtx_1_1MPTInit.html#aaeab5f952e81f45cc8f9842cc67c2b58',1,'ripple::test::jtx::MPTInit::fund'],['../structripple_1_1test_1_1jtx_1_1MPTCreate.html#aab96e394a05042b3d83739e6843d9dcd',1,'ripple::test::jtx::MPTCreate::fund'],['../structripple_1_1test_1_1SEnv.html#af615fc2c58f90c04d02a76f789559f73',1,'ripple::test::SEnv::fund()'],['../classripple_1_1test_1_1jtx_1_1Env.html#ae2349266cb09d1f1c3de06606ebdf9e2',1,'ripple::test::jtx::Env::fund(bool setDefaultRipple, STAmount const &amount, Account const &account)']]],
+ ['fund_480',['fund',['../classripple_1_1test_1_1jtx_1_1Env.html#a9264df26c2f14a094de53a21055cdb1c',1,'ripple::test::jtx::Env::fund()'],['../namespaceripple_1_1test_1_1jtx.html#a7465bcfa8bde2f58f93cee57934f7df8',1,'ripple::test::jtx::fund(jtx::Env &env, jtx::Account const &gw, std::vector< jtx::Account > const &accounts, std::vector< STAmount > const &amts, Fund how)'],['../namespaceripple_1_1test_1_1jtx.html#a97d903cc3d66d2e1a292d1cb3121644f',1,'ripple::test::jtx::fund(jtx::Env &env, jtx::Account const &gw, std::vector< jtx::Account > const &accounts, STAmount const &xrp, std::vector< STAmount > const &amts={}, Fund how=Fund::All)'],['../namespaceripple_1_1test_1_1jtx.html#a5699279c9df70c69fd8c99caec2761c1',1,'ripple::test::jtx::fund(jtx::Env &env, std::vector< jtx::Account > const &accounts, STAmount const &xrp, std::vector< STAmount > const &amts={}, Fund how=Fund::All)'],['../namespaceripple_1_1test_1_1jtx_1_1paychan.html#a1240fe13bcc6f33d957653b61e31122e',1,'ripple::test::jtx::paychan::fund()'],['../namespaceripple_1_1test_1_1jtx.html#aff98aceb75526246bab03273ec360fb6',1,'ripple::test::jtx::Fund'],['../structripple_1_1test_1_1jtx_1_1MPTInit.html#aaeab5f952e81f45cc8f9842cc67c2b58',1,'ripple::test::jtx::MPTInit::fund'],['../structripple_1_1test_1_1jtx_1_1MPTCreate.html#aab96e394a05042b3d83739e6843d9dcd',1,'ripple::test::jtx::MPTCreate::fund'],['../structripple_1_1test_1_1SEnv.html#af615fc2c58f90c04d02a76f789559f73',1,'ripple::test::SEnv::fund()'],['../classripple_1_1test_1_1jtx_1_1Env.html#ae2349266cb09d1f1c3de06606ebdf9e2',1,'ripple::test::jtx::Env::fund(bool setDefaultRipple, STAmount const &amount, Account const &account)']]],
['fund_5farg_481',['fund_arg',['../classripple_1_1test_1_1jtx_1_1Env.html#a01d32419e46d88ebc1a6325ca56e2902',1,'ripple::test::jtx::Env::fund_arg(STAmount const &amount, std::array< Account, N > const &list)'],['../classripple_1_1test_1_1jtx_1_1Env.html#afa7324d98ed5b298e853f7c170c06ea6',1,'ripple::test::jtx::Env::fund_arg(STAmount const &amount, Account const &account)']]],
['future_482',['future',['http://en.cppreference.com/w/cpp/experimental/future/future.html',1,'std::experimental::future::future()'],['http://en.cppreference.com/w/cpp/header/future.html',1,'(Global Namespace)'],['http://en.cppreference.com/w/cpp/thread/future/future.html',1,'std::future::future()'],['http://en.cppreference.com/w/cpp/thread/future.html',1,'std::future'],['http://en.cppreference.com/w/cpp/experimental/future.html',1,'std::experimental::future']]],
['future_5fcategory_483',['future_category',['http://en.cppreference.com/w/cpp/thread/future_category.html',1,'std']]],
diff --git a/search/all_e.js b/search/all_e.js
index 1770ececd2..4e8d8ed18a 100644
--- a/search/all_e.js
+++ b/search/all_e.js
@@ -109,7 +109,7 @@ var searchData=
['getaccountid_106',['getaccountid',['../classripple_1_1STObject.html#a0d2d874d34a1c3ed432cdb9fb1386b35',1,'ripple::STObject::getAccountID()'],['../classripple_1_1STPathElement.html#a34ec4c731897c178cebb4727f1445d8f',1,'ripple::STPathElement::getAccountID()'],['../classripple_1_1TrustLineBase.html#a88cd02cdc2ca7a31a332ff246bac3cfe',1,'ripple::TrustLineBase::getAccountID() const']]],
['getaccountidpeer_107',['getAccountIDPeer',['../classripple_1_1TrustLineBase.html#acbbabccf2e7a126365796c627977cfa7',1,'ripple::TrustLineBase']]],
['getaccountlines_108',['getaccountlines',['../namespaceripple_1_1test_1_1jtx.html#a64156c78e17d95b40ecd47efbd86975e',1,'ripple::test::jtx::getAccountLines(Env &env, AccountID const &acctId)'],['../namespaceripple_1_1test_1_1jtx.html#aaaa207462036797a6d54438e6d23242e',1,'ripple::test::jtx::getAccountLines(Env &env, Account const &acct)'],['../namespaceripple_1_1test_1_1jtx.html#a5ee40310c9627195bbc0825624de0a07',1,'ripple::test::jtx::getAccountLines(Env &env, AccountID const &acctId, IOU... ious)']]],
- ['getaccountobjects_109',['getAccountObjects',['../namespaceripple_1_1RPC.html#a8357793802bdb5dc41c19160d17943c1',1,'ripple::RPC']]],
+ ['getaccountobjects_109',['getAccountObjects',['../namespaceripple.html#a8e341df5ee04eb3eafd7b1a16879da9c',1,'ripple']]],
['getaccountoffers_110',['getaccountoffers',['../namespaceripple_1_1test_1_1jtx.html#aff96e24753f0f457eb0ca0fbf763401c',1,'ripple::test::jtx::getAccountOffers(Env &env, AccountID const &acct, bool current)'],['../namespaceripple_1_1test_1_1jtx.html#a81f0b9b140d0f7a1b2e4ac16ca1321d0',1,'ripple::test::jtx::getAccountOffers(Env &env, Account const &acct, bool current=false)']]],
['getaccounttransactioncount_111',['getaccounttransactioncount',['../classripple_1_1SQLiteDatabaseImp.html#a6828f44ae053fc1ef628028202dc8fac',1,'ripple::SQLiteDatabaseImp::getAccountTransactionCount()'],['../classripple_1_1SQLiteDatabase.html#acb2f609a8add65fb702e840ae74c7422',1,'ripple::SQLiteDatabase::getAccountTransactionCount()']]],
['getaccounttransactionsminledgerseq_112',['getaccounttransactionsminledgerseq',['../classripple_1_1SQLiteDatabaseImp.html#a526e18b895cb05e3b11afcf873f753da',1,'ripple::SQLiteDatabaseImp::getAccountTransactionsMinLedgerSeq()'],['../classripple_1_1SQLiteDatabase.html#a5b2e1df48da2d5d853a8ed23655f5ed2',1,'ripple::SQLiteDatabase::getAccountTransactionsMinLedgerSeq()']]],
diff --git a/search/functions_15.js b/search/functions_15.js
index b38ed9e02d..e99a452ea8 100644
--- a/search/functions_15.js
+++ b/search/functions_15.js
@@ -23,7 +23,7 @@ var searchData=
['underflow_5ferror_20',['underflow_error',['http://en.cppreference.com/w/cpp/error/underflow_error.html',1,'std::underflow_error']]],
['undodelay_21',['UndoDelay',['../structripple_1_1test_1_1Consensus__test_1_1UndoDelay.html#ad77d5ecdff941435a78cd8d970434363',1,'ripple::test::Consensus_test::UndoDelay']]],
['unexcept_22',['unexcept',['../classbeast_1_1unit__test_1_1suite.html#ab110ab2b1585caaa855150af0e3c7a74',1,'beast::unit_test::suite::unexcept(F &&f, String const &reason)'],['../classbeast_1_1unit__test_1_1suite.html#ad28942f03a54b2da8204b46850d9cc03',1,'beast::unit_test::suite::unexcept(F &&f)']]],
- ['unexpected_23',['unexpected',['../namespaceripple.html#ad6887fe0534dd3b0df2da54ff8994e2f',1,'ripple::Unexpected()'],['http://en.cppreference.com/w/cpp/error/unexpected.html',1,'std::unexpected()'],['../classbeast_1_1unit__test_1_1suite.html#a789edeb2afc9951e32b18362cb98f656',1,'beast::unit_test::suite::unexpected(Condition shouldBeFalse)'],['../classbeast_1_1unit__test_1_1suite.html#a865757d2d9992fb2c91c51e137166e9d',1,'beast::unit_test::suite::unexpected(Condition shouldBeFalse, String const &reason)'],['../classripple_1_1Unexpected.html#af2f4eee2862f4eab830c32717c524527',1,'ripple::Unexpected::Unexpected(E &&e)'],['../classripple_1_1Unexpected.html#a8139a951450ea521bb2321a4f2417dce',1,'ripple::Unexpected::Unexpected(E const &e)'],['../classripple_1_1Unexpected.html#ae84f51e4038d4ba8c436d2aa90a33ae8',1,'ripple::Unexpected::Unexpected()=delete']]],
+ ['unexpected_23',['unexpected',['http://en.cppreference.com/w/cpp/error/unexpected.html',1,'std::unexpected()'],['../namespaceripple.html#ad6887fe0534dd3b0df2da54ff8994e2f',1,'ripple::Unexpected()'],['../classbeast_1_1unit__test_1_1suite.html#a789edeb2afc9951e32b18362cb98f656',1,'beast::unit_test::suite::unexpected(Condition shouldBeFalse)'],['../classbeast_1_1unit__test_1_1suite.html#a865757d2d9992fb2c91c51e137166e9d',1,'beast::unit_test::suite::unexpected(Condition shouldBeFalse, String const &reason)'],['../classripple_1_1Unexpected.html#af2f4eee2862f4eab830c32717c524527',1,'ripple::Unexpected::Unexpected(E &&e)'],['../classripple_1_1Unexpected.html#a8139a951450ea521bb2321a4f2417dce',1,'ripple::Unexpected::Unexpected(E const &e)'],['../classripple_1_1Unexpected.html#ae84f51e4038d4ba8c436d2aa90a33ae8',1,'ripple::Unexpected::Unexpected()=delete']]],
['unget_24',['unget',['http://en.cppreference.com/w/cpp/io/basic_istream/unget.html',1,'std::wiostream::unget()'],['http://en.cppreference.com/w/cpp/io/basic_istream/unget.html',1,'std::wistream::unget()'],['http://en.cppreference.com/w/cpp/io/basic_istream/unget.html',1,'std::wistringstream::unget()'],['http://en.cppreference.com/w/cpp/io/basic_istream/unget.html',1,'std::wstringstream::unget()'],['http://en.cppreference.com/w/cpp/io/basic_istream/unget.html',1,'std::wifstream::unget()'],['http://en.cppreference.com/w/cpp/io/basic_istream/unget.html',1,'std::basic_ifstream::unget()'],['http://en.cppreference.com/w/cpp/io/basic_istream/unget.html',1,'std::istringstream::unget()'],['http://en.cppreference.com/w/cpp/io/basic_istream/unget.html',1,'std::istream::unget()'],['http://en.cppreference.com/w/cpp/io/basic_istream/unget.html',1,'std::iostream::unget()'],['http://en.cppreference.com/w/cpp/io/basic_istream/unget.html',1,'std::ifstream::unget()'],['http://en.cppreference.com/w/cpp/io/basic_istream/unget.html',1,'std::fstream::unget()'],['http://en.cppreference.com/w/cpp/io/basic_istream/unget.html',1,'std::basic_stringstream::unget()'],['http://en.cppreference.com/w/cpp/io/basic_istream/unget.html',1,'std::istrstream::unget()'],['http://en.cppreference.com/w/cpp/io/basic_istream/unget.html',1,'std::basic_istringstream::unget()'],['http://en.cppreference.com/w/cpp/io/basic_istream/unget.html',1,'std::basic_istream::unget()'],['http://en.cppreference.com/w/cpp/io/basic_istream/unget.html',1,'std::basic_iostream::unget()'],['http://en.cppreference.com/w/cpp/io/basic_istream/unget.html',1,'std::basic_fstream::unget()'],['http://en.cppreference.com/w/cpp/io/basic_istream/unget.html',1,'std::stringstream::unget()'],['http://en.cppreference.com/w/cpp/io/basic_istream/unget.html',1,'std::strstream::unget()'],['http://en.cppreference.com/w/cpp/io/basic_istream/unget.html',1,'std::wfstream::unget()']]],
['ungetc_25',['ungetc',['http://en.cppreference.com/w/cpp/io/c/ungetc.html',1,'std']]],
['ungetwc_26',['ungetwc',['http://en.cppreference.com/w/cpp/io/c/ungetwc.html',1,'std']]],
diff --git a/search/functions_7.js b/search/functions_7.js
index 8e84c34197..7556988bd8 100644
--- a/search/functions_7.js
+++ b/search/functions_7.js
@@ -83,7 +83,7 @@ var searchData=
['getaccountid_80',['getaccountid',['../classripple_1_1STObject.html#a0d2d874d34a1c3ed432cdb9fb1386b35',1,'ripple::STObject::getAccountID()'],['../classripple_1_1STPathElement.html#a34ec4c731897c178cebb4727f1445d8f',1,'ripple::STPathElement::getAccountID()'],['../classripple_1_1TrustLineBase.html#a88cd02cdc2ca7a31a332ff246bac3cfe',1,'ripple::TrustLineBase::getAccountID() const']]],
['getaccountidpeer_81',['getAccountIDPeer',['../classripple_1_1TrustLineBase.html#acbbabccf2e7a126365796c627977cfa7',1,'ripple::TrustLineBase']]],
['getaccountlines_82',['getaccountlines',['../namespaceripple_1_1test_1_1jtx.html#aaaa207462036797a6d54438e6d23242e',1,'ripple::test::jtx::getAccountLines(Env &env, Account const &acct)'],['../namespaceripple_1_1test_1_1jtx.html#a64156c78e17d95b40ecd47efbd86975e',1,'ripple::test::jtx::getAccountLines(Env &env, AccountID const &acctId)'],['../namespaceripple_1_1test_1_1jtx.html#a5ee40310c9627195bbc0825624de0a07',1,'ripple::test::jtx::getAccountLines(Env &env, AccountID const &acctId, IOU... ious)']]],
- ['getaccountobjects_83',['getAccountObjects',['../namespaceripple_1_1RPC.html#a8357793802bdb5dc41c19160d17943c1',1,'ripple::RPC']]],
+ ['getaccountobjects_83',['getAccountObjects',['../namespaceripple.html#a8e341df5ee04eb3eafd7b1a16879da9c',1,'ripple']]],
['getaccountoffers_84',['getaccountoffers',['../namespaceripple_1_1test_1_1jtx.html#a81f0b9b140d0f7a1b2e4ac16ca1321d0',1,'ripple::test::jtx::getAccountOffers(Env &env, Account const &acct, bool current=false)'],['../namespaceripple_1_1test_1_1jtx.html#aff96e24753f0f457eb0ca0fbf763401c',1,'ripple::test::jtx::getAccountOffers(Env &env, AccountID const &acct, bool current)']]],
['getaccounttransactioncount_85',['getaccounttransactioncount',['../classripple_1_1SQLiteDatabaseImp.html#a6828f44ae053fc1ef628028202dc8fac',1,'ripple::SQLiteDatabaseImp::getAccountTransactionCount()'],['../classripple_1_1SQLiteDatabase.html#acb2f609a8add65fb702e840ae74c7422',1,'ripple::SQLiteDatabase::getAccountTransactionCount()']]],
['getaccounttransactionsminledgerseq_86',['getaccounttransactionsminledgerseq',['../classripple_1_1SQLiteDatabaseImp.html#a526e18b895cb05e3b11afcf873f753da',1,'ripple::SQLiteDatabaseImp::getAccountTransactionsMinLedgerSeq()'],['../classripple_1_1SQLiteDatabase.html#a5b2e1df48da2d5d853a8ed23655f5ed2',1,'ripple::SQLiteDatabase::getAccountTransactionsMinLedgerSeq()']]],
diff --git a/search/functions_9.js b/search/functions_9.js
index 6bf47d7127..b2ac9fb363 100644
--- a/search/functions_9.js
+++ b/search/functions_9.js
@@ -154,7 +154,7 @@ var searchData=
['iouamount_151',['iouamount',['../classripple_1_1IOUAmount.html#a9ad31953488b4fc880a9700da03e2a71',1,'ripple::IOUAmount::IOUAmount()=default'],['../classripple_1_1IOUAmount.html#af346ea69bfcc118ea700e618f32dffc3',1,'ripple::IOUAmount::IOUAmount(Number const &other)'],['../classripple_1_1IOUAmount.html#a65f7a8b13a5e1fd4ebe199d57e2c6393',1,'ripple::IOUAmount::IOUAmount(beast::Zero)'],['../classripple_1_1IOUAmount.html#a95467fc67fc518d10ae94764a967e8bd',1,'ripple::IOUAmount::IOUAmount(std::int64_t mantissa, int exponent)']]],
['ipaddressconversion_152',['IPAddressConversion',['../structbeast_1_1IPAddressConversion.html#aeeb741eceefb870c1c7ff31b894f1011',1,'beast::IPAddressConversion']]],
['ipallowed_153',['ipAllowed',['../namespaceripple.html#ae526cb7431d0104912811e64227383f8',1,'ripple']]],
- ['ipe_154',['ipe',['../namespaceripple_1_1test.html#acb8d1b93cfea8a1115a2ced455a83e82',1,'ripple::test::ipe()'],['../namespaceripple_1_1test_1_1jtx.html#a992303bb9a650824e18de77a2355ac23',1,'ripple::test::jtx::IPE()']]],
+ ['ipe_154',['ipe',['../namespaceripple_1_1test_1_1jtx.html#a992303bb9a650824e18de77a2355ac23',1,'ripple::test::jtx::IPE()'],['../namespaceripple_1_1test.html#acb8d1b93cfea8a1115a2ced455a83e82',1,'ripple::test::ipe()']]],
['is_155',['is',['http://en.cppreference.com/w/cpp/locale/ctype/is.html',1,'std::ctype::is()'],['http://en.cppreference.com/w/cpp/locale/ctype/is.html',1,'std::ctype_byname::is()']]],
['is_5fabsolute_156',['is_absolute',['http://en.cppreference.com/w/cpp/experimental/fs/path/is_absrel.html',1,'std::experimental::filesystem::path::is_absolute()'],['http://en.cppreference.com/w/cpp/filesystem/path/is_absrel.html',1,'std::filesystem::path::is_absolute()']]],
['is_5faged_5fcontainer_157',['is_aged_container',['../structbeast_1_1is__aged__container.html#a1dbf1de88c052c23ef435cc965f1c6da',1,'beast::is_aged_container::is_aged_container()'],['../structbeast_1_1is__aged__container_3_01beast_1_1detail_1_1aged__ordered__container_3_01IsMulti_0338a9b22fe6c4be0d8f95d218bdfb0e7.html#a767d3040286475dd3879f0bfa7feae76',1,'beast::is_aged_container< beast::detail::aged_ordered_container< IsMulti, IsMap, Key, T, Clock, Compare, Allocator > >::is_aged_container()'],['../structbeast_1_1is__aged__container_3_01beast_1_1detail_1_1aged__unordered__container_3_01IsMultia80d60acae45fc077226391e490a323d.html#a2209be63bb676e9732e2e5e33c58fb3e',1,'beast::is_aged_container< beast::detail::aged_unordered_container< IsMulti, IsMap, Key, T, Clock, Hash, KeyEqual, Allocator > >::is_aged_container()']]],
diff --git a/src_2test_2jtx_2amount_8h_source.html b/src_2test_2jtx_2amount_8h_source.html
index 66ffb678ee..a621dd32cb 100644
--- a/src_2test_2jtx_2amount_8h_source.html
+++ b/src_2test_2jtx_2amount_8h_source.html
@@ -803,7 +803,7 @@ $(document).ready(function() { init_codefold(0); });
friend BookSpec operator~(XRP_t const &)
None operator()(none_t) const
Returns None-of-XRP.
PrettyAmount operator()(double v) const
-PrettyAmount operator()(T v) const
Returns an amount of XRP as PrettyAmount, which is trivially convertable to STAmount.
+PrettyAmount operator()(T v) const
Returns an amount of XRP as PrettyAmount, which is trivially convertible to STAmount.
AnyAmount operator()(STAmount const &sta) const
diff --git a/structripple_1_1test_1_1jtx_1_1XRP__t.html b/structripple_1_1test_1_1jtx_1_1XRP__t.html
index 932de9cbe1..7a2b9a4f98 100644
--- a/structripple_1_1test_1_1jtx_1_1XRP__t.html
+++ b/structripple_1_1test_1_1jtx_1_1XRP__t.html
@@ -94,7 +94,7 @@ Public Member Functions
|
| template<class T , class = std::enable_if_t<std::is_integral_v<T>>> |
| PrettyAmount | operator() (T v) const |
-| | Returns an amount of XRP as PrettyAmount, which is trivially convertable to STAmount.
|
+| | Returns an amount of XRP as PrettyAmount, which is trivially convertible to STAmount.
|
| |
| PrettyAmount | operator() (double v) const |
| |
@@ -148,7 +148,7 @@ template<class T , class = std::enable_if_t<std::is_integral_v<T>&g
-
Returns an amount of XRP as PrettyAmount, which is trivially convertable to STAmount.
+
Returns an amount of XRP as PrettyAmount, which is trivially convertible to STAmount.
- Parameters
-
| v | The number of XRP (not drops) |
diff --git a/xrpld_2rpc_2handlers_2LedgerHeader_8cpp_source.html b/xrpld_2rpc_2handlers_2LedgerHeader_8cpp_source.html
index e5cd107ba2..801d7b28cf 100644
--- a/xrpld_2rpc_2handlers_2LedgerHeader_8cpp_source.html
+++ b/xrpld_2rpc_2handlers_2LedgerHeader_8cpp_source.html
@@ -82,7 +82,7 @@ $(document).ready(function() { init_codefold(0); });
1#include <xrpld/app/ledger/LedgerToJson.h>
-
2#include <xrpld/rpc/detail/RPCHelpers.h>
+
2#include <xrpld/rpc/detail/RPCLedgerHelpers.h>
4#include <xrpl/basics/strHex.h>
5#include <xrpl/ledger/ReadView.h>
@@ -120,7 +120,7 @@ $(document).ready(function() { init_codefold(0); });
Blob const & peekData() const
-
Status lookupLedger(std::shared_ptr< ReadView const > &ledger, JsonContext &context, Json::Value &result)
Look up a ledger from a request and fill a Json::Result with the data representing a ledger.
+
Status lookupLedger(std::shared_ptr< ReadView const > &ledger, JsonContext &context, Json::Value &result)
Look up a ledger from a request and fill a Json::Result with the data representing a ledger.
Use hash_* containers for keys that do not need a cryptographically secure hashing algorithm.
void addJson(Json::Value &json, LedgerFill const &fill)
Given a Ledger and options, fill a Json::Object or Json::Value with a description of the ledger.
std::string strHex(FwdIt begin, FwdIt end)