mirror of
https://github.com/XRPLF/rippled.git
synced 2026-02-07 15:32:34 +00:00
* upstream/develop: chore: Update secp256k1 and openssl (6327) chore: Remove unnecessary script (6326) refactor: Replace include guards by '#pragma once' (6322) chore: Remove unity builds (6300) refactor: Add ServiceRegistry to help modularization (6222) fix: Deletes expired NFToken offers from ledger (5707) chore: Add .zed editor config directory to .gitignore (6317) docs: Update API changelog, add APIv2+APIv3 version documentation (6308) fix: Restore config changes that broke standalone mode (6301) chore: Add upper-case match for ARM64 in CompilationEnv (6315) ci: Update hashes of XRPLF/actions (6316) chore: Format all cmake files without comments (6294) chore: Add cmake-format pre-commit hook (6279) chore: Remove unnecessary `boost::system` requirement from conanfile (6290)
68 lines
1.8 KiB
C++
68 lines
1.8 KiB
C++
#pragma once
|
|
|
|
#include <xrpl/basics/chrono.h>
|
|
#include <xrpl/protocol/XRPAmount.h>
|
|
|
|
#include <cstdint>
|
|
#include <string>
|
|
|
|
namespace xrpl {
|
|
|
|
// Various protocol and system specific constant globals.
|
|
|
|
/* The name of the system. */
|
|
static inline std::string const&
|
|
systemName()
|
|
{
|
|
static std::string const name = "ripple";
|
|
return name;
|
|
}
|
|
|
|
/** Configure the native currency. */
|
|
|
|
/** Number of drops in the genesis account. */
|
|
constexpr XRPAmount INITIAL_XRP{100'000'000'000 * DROPS_PER_XRP};
|
|
static_assert(INITIAL_XRP.drops() == 100'000'000'000'000'000);
|
|
static_assert(Number::largestMantissa >= INITIAL_XRP.drops());
|
|
|
|
/** Returns true if the amount does not exceed the initial XRP in existence. */
|
|
inline bool
|
|
isLegalAmount(XRPAmount const& amount)
|
|
{
|
|
return amount <= INITIAL_XRP;
|
|
}
|
|
|
|
/** Returns true if the absolute value of the amount does not exceed the initial
|
|
* XRP in existence. */
|
|
inline bool
|
|
isLegalAmountSigned(XRPAmount const& amount)
|
|
{
|
|
return amount >= -INITIAL_XRP && amount <= INITIAL_XRP;
|
|
}
|
|
|
|
/* The currency code for the native currency. */
|
|
static inline std::string const&
|
|
systemCurrencyCode()
|
|
{
|
|
static std::string const code = "XRP";
|
|
return code;
|
|
}
|
|
|
|
/** The XRP ledger network's earliest allowed sequence */
|
|
static constexpr std::uint32_t XRP_LEDGER_EARLIEST_SEQ{32570u};
|
|
|
|
/** The XRP Ledger mainnet's earliest ledger with a FeeSettings object. Only
|
|
* used in asserts and tests. */
|
|
static constexpr std::uint32_t XRP_LEDGER_EARLIEST_FEES{562177u};
|
|
|
|
/** The minimum amount of support an amendment should have. */
|
|
constexpr std::ratio<80, 100> amendmentMajorityCalcThreshold;
|
|
|
|
/** The minimum amount of time an amendment must hold a majority */
|
|
constexpr std::chrono::seconds const defaultAmendmentMajorityTime = weeks{2};
|
|
|
|
} // namespace xrpl
|
|
|
|
/** Default peer port (IANA registered) */
|
|
inline std::uint16_t constexpr DEFAULT_PEER_PORT{2459};
|