mirror of
https://github.com/XRPLF/rippled.git
synced 2025-12-06 17:27:55 +00:00
Amendment RPC enhancements:
* RPC command to veto/unveto * Store votes * Add vote information to JSON * Add ledger majority information to JSON * Config section for vetos
This commit is contained in:
@@ -469,16 +469,19 @@ cdirNext (ReadView const& view,
|
||||
return true;
|
||||
}
|
||||
|
||||
enabledAmendments_t
|
||||
std::set <uint256>
|
||||
getEnabledAmendments (ReadView const& view)
|
||||
{
|
||||
enabledAmendments_t amendments;
|
||||
auto const sleAmendments = view.read(keylet::amendments());
|
||||
std::set<uint256> amendments;
|
||||
|
||||
if (sleAmendments)
|
||||
if (auto const sle = view.read(keylet::amendments()))
|
||||
{
|
||||
for (auto const &a : sleAmendments->getFieldV256 (sfAmendments))
|
||||
amendments.insert (a);
|
||||
if (!sle->isFieldPresent (sfAmendments))
|
||||
LogicError ("No amendments field is present");
|
||||
|
||||
auto const& v = sle->getFieldV256 (sfAmendments);
|
||||
|
||||
amendments.insert (v.begin(), v.end());
|
||||
}
|
||||
|
||||
return amendments;
|
||||
@@ -487,20 +490,24 @@ getEnabledAmendments (ReadView const& view)
|
||||
majorityAmendments_t
|
||||
getMajorityAmendments (ReadView const& view)
|
||||
{
|
||||
using tp = NetClock::time_point;
|
||||
using d = tp::duration;
|
||||
majorityAmendments_t majorities;
|
||||
auto const sleAmendments = view.read(keylet::amendments());
|
||||
majorityAmendments_t ret;
|
||||
|
||||
if (sleAmendments && sleAmendments->isFieldPresent (sfMajorities))
|
||||
if (auto const sle = view.read(keylet::amendments()))
|
||||
{
|
||||
auto const& majArray = sleAmendments->getFieldArray (sfMajorities);
|
||||
for (auto const& m : majArray)
|
||||
majorities[m.getFieldH256 (sfAmendment)] =
|
||||
tp(d(m.getFieldU32(sfCloseTime)));
|
||||
if (sle->isFieldPresent (sfMajorities))
|
||||
{
|
||||
using tp = NetClock::time_point;
|
||||
using d = tp::duration;
|
||||
|
||||
auto const majorities = sle->getFieldArray (sfMajorities);
|
||||
|
||||
for (auto const& m : majorities)
|
||||
ret[m.getFieldH256 (sfAmendment)] =
|
||||
tp(d(m.getFieldU32(sfCloseTime)));
|
||||
}
|
||||
}
|
||||
|
||||
return majorities;
|
||||
return ret;
|
||||
}
|
||||
|
||||
boost::optional<uint256>
|
||||
|
||||
Reference in New Issue
Block a user