RippleState::RippleState (SerializedLedgerEntry::ref ledgerEntry) : AccountItem (ledgerEntry),
    mValid (false),
    mViewLowest (true),

    mLowLimit (ledgerEntry->getFieldAmount (sfLowLimit)),
    mHighLimit (ledgerEntry->getFieldAmount (sfHighLimit)),

    mLowID (mLowLimit.getIssuer ()),
    mHighID (mHighLimit.getIssuer ()),

    mBalance (ledgerEntry->getFieldAmount (sfBalance))
{
    mFlags          = mLedgerEntry->getFieldU32 (sfFlags);

    mLowQualityIn   = mLedgerEntry->getFieldU32 (sfLowQualityIn);
    mLowQualityOut  = mLedgerEntry->getFieldU32 (sfLowQualityOut);

    mHighQualityIn  = mLedgerEntry->getFieldU32 (sfHighQualityIn);
    mHighQualityOut = mLedgerEntry->getFieldU32 (sfHighQualityOut);

    mValid      = true;
}