|
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 584 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 |