* Limit HashPrefix construction and disallow assignment
* Give KnownFormats deleted copy members so that derived
classes will give the right answers if queried with the
std::is_copy_constructible/assignable traits.
* Replace SharedSingleton with a local static in
LedgerFormats::getInstance() to be consistent with
similar code in other places. This also allows the
LedgerFormats default constructor to be marked private
so that the compiler enforces the design that
LedgerFormats is a singleton type.
* Change return types of LedgerFormats::getInstance() and
TxFormats::getInstance() from pointer to non-const to
reference to const so as follow more established design
guidelines for singletons. This prevents pointers being
mistaken for heap-allocated objects, and the const
ensures the singleton isn't mutable.
* Change RippleAddress to inherit privately from
CBase58Data instead of publicly. This lets the compiler
enforce that there are no unintended conversions from
RippleAddress to CBase58Data. This change allows us
to remove a comment warning about unwanted conversions.
The input parameters are called "min_ledger" and "max_ledger", they are also called "minRange" and "maxRange" in the code BUT "ledger_min" and ledger_max" if printed. This is inconsistent and should be changed, as it might lead to confusion on how to call this module via RPC.
* Fix bug with more than one complete request in a read buffer
* Use stackful coroutines for simplified control flow
* Door refactored to detect handshakes
* Remove dependency on MultiSocket
* Remove dependency on handshake detect logic framework
* More fine-grained Section mutators
* Add remap for mapping legacy single sections to key value pairs
* Add output stream operators for BasicConfig and Section
* Allow section values to be overwritten from command line
* Update rpc key/value configs from command line
* Add RPC::Setup with defaults and remap legacy rpc sections
* Default target is release instead of debug (scons with no arguments).
* All targets now include debug symbols, including release.
Rationale: "out of the box" builds of rippled using plain "scons" or "scons -j4" will produce
a debug instead of a release build, which could underperform.
* More robust validation of input
* XRP may not be specified using fractions
* Prevent creating native amounts larger than max possible value
* Add unit tests to verify correct parsing
* Remove unused functions
* Remove unused constructor
* Use delegating constructors
* Mark some observers deprecated
* Clean up declaration parameter names
* Add checked and unchecked constructors
* De-inline unnecessary inlined functions
* Reorder and regroup members into sections
* Move globals from the unity file to the .cpp
* Change some member functions to be free functions
* Put implementation in one .cpp and the test in another .cpp
Remove unused STAmount constructor and delegate two others No change in functionality.