AccountItem::pointer Offer::makeItem (const uint160& , SerializedLedgerEntry::ref ledgerEntry) { if (!ledgerEntry || ledgerEntry->getType () != ltOFFER) return (AccountItem::pointer ()); Offer* offer = new Offer (ledgerEntry); return (AccountItem::pointer (offer)); }
AccountItem::pointer RippleState::makeItem(const uint160& accountID, SerializedLedgerEntry::ref ledgerEntry) { if (!ledgerEntry || ledgerEntry->getType() != ltRIPPLE_STATE) return(AccountItem::pointer()); RippleState* rs=new RippleState(ledgerEntry); rs->setViewAccount(accountID); return(AccountItem::pointer(rs)); }
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; }