mirror of
https://github.com/XRPLF/rippled.git
synced 2026-08-03 04:01:01 +00:00
Use Rate to represent transfer rates (RIPD-201, RIPD-983):
The Ripple protocol represent transfer rates and trust line qualities as fractions of one billion. For example, a transfer rate of 1% is represented as 1010000000. Previously, such rates where represented either as std::uint32_t or std::uint64_t. Other, nominally related types, also used an integral representation and could be unintentionally substituted. The new Rate class addresses this by providing a simple, type safe alternative which also helps make the code self-documenting since arithmetic operations now can be clearly understood to involve the scaling of an amount by a rate.
This commit is contained in:
committed by
Miguel Portilla
parent
f060820f3b
commit
a698104c55
@@ -546,8 +546,9 @@ DirectStepI::qualities (
|
||||
{
|
||||
// Charge a transfer rate when issuing and previous step redeems
|
||||
auto const prevStepRedeems = prevStep_ && prevStep_->redeems (sb, fwd);
|
||||
std::uint32_t const srcQOut =
|
||||
prevStepRedeems ? rippleTransferRate (sb, src_) : QUALITY_ONE;
|
||||
std::uint32_t const srcQOut = prevStepRedeems
|
||||
? transferRate (sb, src_).value
|
||||
: QUALITY_ONE;
|
||||
return std::make_pair(
|
||||
srcQOut,
|
||||
quality ( // dst quality in
|
||||
|
||||
Reference in New Issue
Block a user