| 
    rippled
    
   | 
 
Context needed to build Strand Steps and for error checking. More...
#include <Steps.h>

Public Member Functions | |
| StrandContext (ReadView const &view_, std::vector< std::unique_ptr< Step > > const &strand_, AccountID const &strandSrc_, AccountID const &strandDst_, Issue const &strandDeliver_, std::optional< Quality > const &limitQuality_, bool isLast_, bool ownerPaysTransferFee_, OfferCrossing offerCrossing_, bool isDefaultPath_, std::array< boost::container::flat_set< Issue >, 2 > &seenDirectIssues_, boost::container::flat_set< Issue > &seenBookOuts_, AMMContext &ammContext_, std::optional< uint256 > const &domainID, beast::Journal j_) | |
| StrandContext constructor.   | |
Public Attributes | |
| ReadView const & | view | 
| Current ReadView.   | |
| AccountID const | strandSrc | 
| Strand source account.   | |
| AccountID const | strandDst | 
| Strand destination account.   | |
| Issue const | strandDeliver | 
| Issue strand delivers.   | |
| std::optional< Quality > const | limitQuality | 
| Worst accepted quality.   | |
| bool const | isFirst | 
| true if Step is first in Strand   | |
| bool const | isLast = false | 
| true if Step is last in Strand   | |
| bool const | ownerPaysTransferFee | 
| true if owner, not sender, pays fee   | |
| OfferCrossing const | offerCrossing | 
| Yes/Sell if offer crossing, not payment.   | |
| bool const | isDefaultPath | 
| true if Strand is default path   | |
| size_t const | strandSize | 
| Length of Strand.   | |
| Step const *const | prevStep = nullptr | 
| The previous step in the strand.   | |
| std::array< boost::container::flat_set< Issue >, 2 > & | seenDirectIssues | 
| A strand may not include the same account node more than once in the same currency.   | |
| boost::container::flat_set< Issue > & | seenBookOuts | 
| A strand may not include an offer that output the same issue more than once.   | |
| AMMContext & | ammContext | 
| std::optional< uint256 > | domainID | 
| beast::Journal const | j | 
Context needed to build Strand Steps and for error checking.
| ripple::StrandContext::StrandContext | ( | ReadView const & | view_, | 
| std::vector< std::unique_ptr< Step > > const & | strand_, | ||
| AccountID const & | strandSrc_, | ||
| AccountID const & | strandDst_, | ||
| Issue const & | strandDeliver_, | ||
| std::optional< Quality > const & | limitQuality_, | ||
| bool | isLast_, | ||
| bool | ownerPaysTransferFee_, | ||
| OfferCrossing | offerCrossing_, | ||
| bool | isDefaultPath_, | ||
| std::array< boost::container::flat_set< Issue >, 2 > & | seenDirectIssues_, | ||
| boost::container::flat_set< Issue > & | seenBookOuts_, | ||
| AMMContext & | ammContext_, | ||
| std::optional< uint256 > const & | domainID, | ||
| beast::Journal | j_ | ||
| ) | 
StrandContext constructor.
Journal for logging
| seenDirectIssues_ | For detecting currency loops | 
| seenBookOuts_ | For detecting book loops | 
Definition at line 590 of file PaySteps.cpp.
| ReadView const& ripple::StrandContext::view | 
| AccountID const ripple::StrandContext::strandSrc | 
| AccountID const ripple::StrandContext::strandDst | 
| Issue const ripple::StrandContext::strandDeliver | 
| std::optional<Quality> const ripple::StrandContext::limitQuality | 
| bool const ripple::StrandContext::isFirst | 
| bool const ripple::StrandContext::isLast = false | 
| bool const ripple::StrandContext::ownerPaysTransferFee | 
| OfferCrossing const ripple::StrandContext::offerCrossing | 
| bool const ripple::StrandContext::isDefaultPath | 
| size_t const ripple::StrandContext::strandSize | 
| Step const* const ripple::StrandContext::prevStep = nullptr | 
| std::array<boost::container::flat_set<Issue>, 2>& ripple::StrandContext::seenDirectIssues | 
A strand may not include the same account node more than once in the same currency.
In a direct step, an account will show up at most twice: once as a src and once as a dst (hence the two element array). The strandSrc and strandDst will only show up once each.
| boost::container::flat_set<Issue>& ripple::StrandContext::seenBookOuts | 
| AMMContext& ripple::StrandContext::ammContext | 
| std::optional<uint256> ripple::StrandContext::domainID | 
| beast::Journal const ripple::StrandContext::j |