Remove all IField/ITField functions. They are now obsolete.

Use the correponding STObject functions.
This commit is contained in:
JoelKatz
2012-10-01 15:21:22 -07:00
parent 841a404114
commit 79c35f2689
21 changed files with 289 additions and 364 deletions

View File

@@ -17,7 +17,7 @@ AccountState::AccountState(const NewcoinAddress& naAccountID) : mAccountID(naAcc
mLedgerEntry = boost::make_shared<SerializedLedgerEntry>(ltACCOUNT_ROOT); mLedgerEntry = boost::make_shared<SerializedLedgerEntry>(ltACCOUNT_ROOT);
mLedgerEntry->setIndex(Ledger::getAccountRootIndex(naAccountID)); mLedgerEntry->setIndex(Ledger::getAccountRootIndex(naAccountID));
mLedgerEntry->setIFieldAccount(sfAccount, naAccountID.getAccountID()); mLedgerEntry->setValueFieldAccount(sfAccount, naAccountID.getAccountID());
mValid = true; mValid = true;
} }
@@ -48,8 +48,8 @@ void AccountState::addJson(Json::Value& val)
if (mValid) if (mValid)
{ {
if (mLedgerEntry->getIFieldPresent(sfEmailHash)) if (mLedgerEntry->isFieldPresent(sfEmailHash))
val["UrlGravatar"] = createGravatarUrl(mLedgerEntry->getIFieldH128(sfEmailHash)); val["UrlGravatar"] = createGravatarUrl(mLedgerEntry->getValueFieldH128(sfEmailHash));
} }
else else
{ {

View File

@@ -33,16 +33,16 @@ public:
bool bHaveAuthorizedKey() bool bHaveAuthorizedKey()
{ {
return mLedgerEntry->getIFieldPresent(sfAuthorizedKey); return mLedgerEntry->isFieldPresent(sfAuthorizedKey);
} }
NewcoinAddress getAuthorizedKey() NewcoinAddress getAuthorizedKey()
{ {
return mLedgerEntry->getIValueFieldAccount(sfAuthorizedKey); return mLedgerEntry->getValueFieldAccount(sfAuthorizedKey);
} }
STAmount getBalance() const { return mLedgerEntry->getIValueFieldAmount(sfBalance); } STAmount getBalance() const { return mLedgerEntry->getValueFieldAmount(sfBalance); }
uint32 getSeq() const { return mLedgerEntry->getIFieldU32(sfSequence); } uint32 getSeq() const { return mLedgerEntry->getValueFieldU32(sfSequence); }
SerializedLedgerEntry::pointer getSLE() { return mLedgerEntry; } SerializedLedgerEntry::pointer getSLE() { return mLedgerEntry; }
const SerializedLedgerEntry& peekSLE() const { return *mLedgerEntry; } const SerializedLedgerEntry& peekSLE() const { return *mLedgerEntry; }

View File

@@ -27,8 +27,8 @@ Ledger::Ledger(const NewcoinAddress& masterID, uint64 startAmount) : mTotCoins(s
{ {
// special case: put coins in root account // special case: put coins in root account
AccountState::pointer startAccount = boost::make_shared<AccountState>(masterID); AccountState::pointer startAccount = boost::make_shared<AccountState>(masterID);
startAccount->peekSLE().setIFieldAmount(sfBalance, startAmount); startAccount->peekSLE().setValueFieldAmount(sfBalance, startAmount);
startAccount->peekSLE().setIFieldU32(sfSequence, 1); startAccount->peekSLE().setValueFieldU32(sfSequence, 1);
writeBack(lepCREATE, startAccount->getSLE()); writeBack(lepCREATE, startAccount->getSLE());
#if 0 #if 0
std::cerr << "Root account:"; std::cerr << "Root account:";

View File

@@ -383,28 +383,28 @@ void LedgerEntrySet::calcRawMeta(Serializer& s)
assert(origNode); assert(origNode);
threadOwners(origNode, mLedger, newMod); threadOwners(origNode, mLedger, newMod);
if (origNode->getIFieldPresent(sfAmount)) if (origNode->isFieldPresent(sfAmount))
{ // node has an amount, covers ripple state nodes { // node has an amount, covers ripple state nodes
STAmount amount = origNode->getIValueFieldAmount(sfAmount); STAmount amount = origNode->getValueFieldAmount(sfAmount);
if (amount.isNonZero()) if (amount.isNonZero())
metaNode.addAmount(TMSPrevBalance, amount); metaNode.addAmount(TMSPrevBalance, amount);
amount = curNode->getIValueFieldAmount(sfAmount); amount = curNode->getValueFieldAmount(sfAmount);
if (amount.isNonZero()) if (amount.isNonZero())
metaNode.addAmount(TMSFinalBalance, amount); metaNode.addAmount(TMSFinalBalance, amount);
if (origNode->getType() == ltRIPPLE_STATE) if (origNode->getType() == ltRIPPLE_STATE)
{ {
metaNode.addAccount(TMSLowID, NewcoinAddress::createAccountID(origNode->getIValueFieldAmount(sfLowLimit).getIssuer())); metaNode.addAccount(TMSLowID, NewcoinAddress::createAccountID(origNode->getValueFieldAmount(sfLowLimit).getIssuer()));
metaNode.addAccount(TMSHighID, NewcoinAddress::createAccountID(origNode->getIValueFieldAmount(sfHighLimit).getIssuer())); metaNode.addAccount(TMSHighID, NewcoinAddress::createAccountID(origNode->getValueFieldAmount(sfHighLimit).getIssuer()));
} }
} }
if (origNode->getType() == ltOFFER) if (origNode->getType() == ltOFFER)
{ // check for non-zero balances { // check for non-zero balances
STAmount amount = origNode->getIValueFieldAmount(sfTakerPays); STAmount amount = origNode->getValueFieldAmount(sfTakerPays);
if (amount.isNonZero()) if (amount.isNonZero())
metaNode.addAmount(TMSFinalTakerPays, amount); metaNode.addAmount(TMSFinalTakerPays, amount);
amount = origNode->getIValueFieldAmount(sfTakerGets); amount = origNode->getValueFieldAmount(sfTakerGets);
if (amount.isNonZero()) if (amount.isNonZero())
metaNode.addAmount(TMSFinalTakerGets, amount); metaNode.addAmount(TMSFinalTakerGets, amount);
} }
@@ -429,20 +429,20 @@ void LedgerEntrySet::calcRawMeta(Serializer& s)
if (nType == TMNModifiedNode) if (nType == TMNModifiedNode)
{ {
assert(origNode); assert(origNode);
if (origNode->getIFieldPresent(sfAmount)) if (origNode->isFieldPresent(sfAmount))
{ // node has an amount, covers account root nodes and ripple nodes { // node has an amount, covers account root nodes and ripple nodes
STAmount amount = origNode->getIValueFieldAmount(sfAmount); STAmount amount = origNode->getValueFieldAmount(sfAmount);
if (amount != curNode->getIValueFieldAmount(sfAmount)) if (amount != curNode->getValueFieldAmount(sfAmount))
metaNode.addAmount(TMSPrevBalance, amount); metaNode.addAmount(TMSPrevBalance, amount);
} }
if (origNode->getType() == ltOFFER) if (origNode->getType() == ltOFFER)
{ {
STAmount amount = origNode->getIValueFieldAmount(sfTakerPays); STAmount amount = origNode->getValueFieldAmount(sfTakerPays);
if (amount != curNode->getIValueFieldAmount(sfTakerPays)) if (amount != curNode->getValueFieldAmount(sfTakerPays))
metaNode.addAmount(TMSPrevTakerPays, amount); metaNode.addAmount(TMSPrevTakerPays, amount);
amount = origNode->getIValueFieldAmount(sfTakerGets); amount = origNode->getValueFieldAmount(sfTakerGets);
if (amount != curNode->getIValueFieldAmount(sfTakerGets)) if (amount != curNode->getValueFieldAmount(sfTakerGets))
metaNode.addAmount(TMSPrevTakerGets, amount); metaNode.addAmount(TMSPrevTakerGets, amount);
} }
@@ -485,7 +485,7 @@ TER LedgerEntrySet::dirAdd(
} }
else else
{ {
uNodeDir = sleRoot->getIFieldU64(sfIndexPrevious); // Get index to last directory node. uNodeDir = sleRoot->getValueFieldU64(sfIndexPrevious); // Get index to last directory node.
if (uNodeDir) if (uNodeDir)
{ {
@@ -500,7 +500,7 @@ TER LedgerEntrySet::dirAdd(
sleNode = sleRoot; sleNode = sleRoot;
} }
svIndexes = sleNode->getIFieldV256(sfIndexes); svIndexes = sleNode->getValueFieldV256(sfIndexes);
if (DIR_NODE_MAX != svIndexes.peekValue().size()) if (DIR_NODE_MAX != svIndexes.peekValue().size())
{ {
@@ -519,7 +519,7 @@ TER LedgerEntrySet::dirAdd(
{ {
// Previous node is root node. // Previous node is root node.
sleRoot->setIFieldU64(sfIndexNext, uNodeDir); sleRoot->setValueFieldU64(sfIndexNext, uNodeDir);
} }
else else
{ {
@@ -527,14 +527,14 @@ TER LedgerEntrySet::dirAdd(
SLE::pointer slePrevious = entryCache(ltDIR_NODE, Ledger::getDirNodeIndex(uRootIndex, uNodeDir-1)); SLE::pointer slePrevious = entryCache(ltDIR_NODE, Ledger::getDirNodeIndex(uRootIndex, uNodeDir-1));
slePrevious->setIFieldU64(sfIndexNext, uNodeDir); slePrevious->setValueFieldU64(sfIndexNext, uNodeDir);
entryModify(slePrevious); entryModify(slePrevious);
sleNode->setIFieldU64(sfIndexPrevious, uNodeDir-1); sleNode->setValueFieldU64(sfIndexPrevious, uNodeDir-1);
} }
// Have root point to new node. // Have root point to new node.
sleRoot->setIFieldU64(sfIndexPrevious, uNodeDir); sleRoot->setValueFieldU64(sfIndexPrevious, uNodeDir);
entryModify(sleRoot); entryModify(sleRoot);
// Create the new node. // Create the new node.
@@ -544,7 +544,7 @@ TER LedgerEntrySet::dirAdd(
} }
svIndexes.peekValue().push_back(uLedgerIndex); // Append entry. svIndexes.peekValue().push_back(uLedgerIndex); // Append entry.
sleNode->setIFieldV256(sfIndexes, svIndexes); // Save entry. sleNode->setValueFieldV256(sfIndexes, svIndexes); // Save entry.
Log(lsINFO) << "dirAdd: creating: root: " << uRootIndex.ToString(); Log(lsINFO) << "dirAdd: creating: root: " << uRootIndex.ToString();
Log(lsINFO) << "dirAdd: appending: Entry: " << uLedgerIndex.ToString(); Log(lsINFO) << "dirAdd: appending: Entry: " << uLedgerIndex.ToString();
@@ -574,7 +574,7 @@ TER LedgerEntrySet::dirDelete(
return tefBAD_LEDGER; return tefBAD_LEDGER;
} }
STVector256 svIndexes = sleNode->getIFieldV256(sfIndexes); STVector256 svIndexes = sleNode->getValueFieldV256(sfIndexes);
std::vector<uint256>& vuiIndexes = svIndexes.peekValue(); std::vector<uint256>& vuiIndexes = svIndexes.peekValue();
std::vector<uint256>::iterator it; std::vector<uint256>::iterator it;
@@ -608,14 +608,14 @@ TER LedgerEntrySet::dirDelete(
vuiIndexes.clear(); vuiIndexes.clear();
} }
sleNode->setIFieldV256(sfIndexes, svIndexes); sleNode->setValueFieldV256(sfIndexes, svIndexes);
entryModify(sleNode); entryModify(sleNode);
if (vuiIndexes.empty()) if (vuiIndexes.empty())
{ {
// May be able to delete nodes. // May be able to delete nodes.
uint64 uNodePrevious = sleNode->getIFieldU64(sfIndexPrevious); uint64 uNodePrevious = sleNode->getValueFieldU64(sfIndexPrevious);
uint64 uNodeNext = sleNode->getIFieldU64(sfIndexNext); uint64 uNodeNext = sleNode->getValueFieldU64(sfIndexNext);
if (!uNodeCur) if (!uNodeCur)
{ {
@@ -646,7 +646,7 @@ TER LedgerEntrySet::dirDelete(
assert(sleLast); assert(sleLast);
if (sleLast->getIFieldV256(sfIndexes).peekValue().empty()) if (sleLast->getValueFieldV256(sfIndexes).peekValue().empty())
{ {
// Both nodes are empty. // Both nodes are empty.
@@ -690,11 +690,11 @@ TER LedgerEntrySet::dirDelete(
} }
// Fix previous to point to its new next. // Fix previous to point to its new next.
slePrevious->setIFieldU64(sfIndexNext, uNodeNext); slePrevious->setValueFieldU64(sfIndexNext, uNodeNext);
entryModify(slePrevious); entryModify(slePrevious);
// Fix next to point to its new previous. // Fix next to point to its new previous.
sleNext->setIFieldU64(sfIndexPrevious, uNodePrevious); sleNext->setValueFieldU64(sfIndexPrevious, uNodePrevious);
entryModify(sleNext); entryModify(sleNext);
} }
// Last node. // Last node.
@@ -712,7 +712,7 @@ TER LedgerEntrySet::dirDelete(
assert(sleRoot); assert(sleRoot);
if (sleRoot->getIFieldV256(sfIndexes).peekValue().empty()) if (sleRoot->getValueFieldV256(sfIndexes).peekValue().empty())
{ {
// Both nodes are empty. // Both nodes are empty.
@@ -755,12 +755,12 @@ bool LedgerEntrySet::dirNext(
unsigned int& uDirEntry, // <-> next entry unsigned int& uDirEntry, // <-> next entry
uint256& uEntryIndex) // <-- The entry, if available. Otherwise, zero. uint256& uEntryIndex) // <-- The entry, if available. Otherwise, zero.
{ {
STVector256 svIndexes = sleNode->getIFieldV256(sfIndexes); STVector256 svIndexes = sleNode->getValueFieldV256(sfIndexes);
std::vector<uint256>& vuiIndexes = svIndexes.peekValue(); std::vector<uint256>& vuiIndexes = svIndexes.peekValue();
if (uDirEntry == vuiIndexes.size()) if (uDirEntry == vuiIndexes.size())
{ {
uint64 uNodeNext = sleNode->getIFieldU64(sfIndexNext); uint64 uNodeNext = sleNode->getValueFieldU64(sfIndexNext);
if (!uNodeNext) if (!uNodeNext)
{ {
@@ -785,13 +785,13 @@ Log(lsINFO) << boost::str(boost::format("dirNext: uDirEntry=%d uEntryIndex=%s")
TER LedgerEntrySet::offerDelete(const SLE::pointer& sleOffer, const uint256& uOfferIndex, const uint160& uOwnerID) TER LedgerEntrySet::offerDelete(const SLE::pointer& sleOffer, const uint256& uOfferIndex, const uint160& uOwnerID)
{ {
uint64 uOwnerNode = sleOffer->getIFieldU64(sfOwnerNode); uint64 uOwnerNode = sleOffer->getValueFieldU64(sfOwnerNode);
TER terResult = dirDelete(false, uOwnerNode, Ledger::getOwnerDirIndex(uOwnerID), uOfferIndex, false); TER terResult = dirDelete(false, uOwnerNode, Ledger::getOwnerDirIndex(uOwnerID), uOfferIndex, false);
if (tesSUCCESS == terResult) if (tesSUCCESS == terResult)
{ {
uint256 uDirectory = sleOffer->getIFieldH256(sfBookDirectory); uint256 uDirectory = sleOffer->getValueFieldH256(sfBookDirectory);
uint64 uBookNode = sleOffer->getIFieldU64(sfBookNode); uint64 uBookNode = sleOffer->getValueFieldU64(sfBookNode);
terResult = dirDelete(false, uBookNode, uDirectory, uOfferIndex, true); terResult = dirDelete(false, uBookNode, uDirectory, uOfferIndex, true);
} }
@@ -804,7 +804,7 @@ TER LedgerEntrySet::offerDelete(const SLE::pointer& sleOffer, const uint256& uOf
TER LedgerEntrySet::offerDelete(const uint256& uOfferIndex) TER LedgerEntrySet::offerDelete(const uint256& uOfferIndex)
{ {
SLE::pointer sleOffer = entryCache(ltOFFER, uOfferIndex); SLE::pointer sleOffer = entryCache(ltOFFER, uOfferIndex);
const uint160 uOwnerID = sleOffer->getIValueFieldAccount(sfAccount).getAccountID(); const uint160 uOwnerID = sleOffer->getValueFieldAccount(sfAccount).getAccountID();
return offerDelete(sleOffer, uOfferIndex, uOwnerID); return offerDelete(sleOffer, uOfferIndex, uOwnerID);
} }
@@ -818,7 +818,7 @@ STAmount LedgerEntrySet::rippleOwed(const uint160& uToAccountID, const uint160&
if (sleRippleState) if (sleRippleState)
{ {
saBalance = sleRippleState->getIValueFieldAmount(sfBalance); saBalance = sleRippleState->getValueFieldAmount(sfBalance);
if (uToAccountID < uFromAccountID) if (uToAccountID < uFromAccountID)
saBalance.negate(); saBalance.negate();
saBalance.setIssuer(uToAccountID); saBalance.setIssuer(uToAccountID);
@@ -849,7 +849,7 @@ STAmount LedgerEntrySet::rippleLimit(const uint160& uToAccountID, const uint160&
assert(sleRippleState); assert(sleRippleState);
if (sleRippleState) if (sleRippleState)
{ {
saLimit = sleRippleState->getIValueFieldAmount(uToAccountID < uFromAccountID ? sfLowLimit : sfHighLimit); saLimit = sleRippleState->getValueFieldAmount(uToAccountID < uFromAccountID ? sfLowLimit : sfHighLimit);
saLimit.setIssuer(uToAccountID); saLimit.setIssuer(uToAccountID);
} }
@@ -861,8 +861,8 @@ uint32 LedgerEntrySet::rippleTransferRate(const uint160& uIssuerID)
{ {
SLE::pointer sleAccount = entryCache(ltACCOUNT_ROOT, Ledger::getAccountRootIndex(uIssuerID)); SLE::pointer sleAccount = entryCache(ltACCOUNT_ROOT, Ledger::getAccountRootIndex(uIssuerID));
uint32 uQuality = sleAccount && sleAccount->getIFieldPresent(sfTransferRate) uint32 uQuality = sleAccount && sleAccount->isFieldPresent(sfTransferRate)
? sleAccount->getIFieldU32(sfTransferRate) ? sleAccount->getValueFieldU32(sfTransferRate)
: QUALITY_ONE; : QUALITY_ONE;
Log(lsINFO) << boost::str(boost::format("rippleTransferRate: uIssuerID=%s account_exists=%d transfer_rate=%f") Log(lsINFO) << boost::str(boost::format("rippleTransferRate: uIssuerID=%s account_exists=%d transfer_rate=%f")
@@ -893,8 +893,8 @@ uint32 LedgerEntrySet::rippleQualityIn(const uint160& uToAccountID, const uint16
{ {
SField::ref sfField = uToAccountID < uFromAccountID ? sfLow: sfHigh; SField::ref sfField = uToAccountID < uFromAccountID ? sfLow: sfHigh;
uQuality = sleRippleState->getIFieldPresent(sfField) uQuality = sleRippleState->isFieldPresent(sfField)
? sleRippleState->getIFieldU32(sfField) ? sleRippleState->getValueFieldU32(sfField)
: QUALITY_ONE; : QUALITY_ONE;
if (!uQuality) if (!uQuality)
@@ -924,7 +924,7 @@ STAmount LedgerEntrySet::rippleHolds(const uint160& uAccountID, const uint160& u
if (sleRippleState) if (sleRippleState)
{ {
saBalance = sleRippleState->getIValueFieldAmount(sfBalance); saBalance = sleRippleState->getValueFieldAmount(sfBalance);
if (uAccountID > uIssuerID) if (uAccountID > uIssuerID)
saBalance.negate(); // Put balance in uAccountID terms. saBalance.negate(); // Put balance in uAccountID terms.
@@ -942,7 +942,7 @@ STAmount LedgerEntrySet::accountHolds(const uint160& uAccountID, const uint160&
{ {
SLE::pointer sleAccount = entryCache(ltACCOUNT_ROOT, Ledger::getAccountRootIndex(uAccountID)); SLE::pointer sleAccount = entryCache(ltACCOUNT_ROOT, Ledger::getAccountRootIndex(uAccountID));
saAmount = sleAccount->getIValueFieldAmount(sfBalance); saAmount = sleAccount->getValueFieldAmount(sfBalance);
} }
else else
{ {
@@ -1031,13 +1031,13 @@ void LedgerEntrySet::rippleCredit(const uint160& uSenderID, const uint160& uRece
if (!bFlipped) if (!bFlipped)
saBalance.negate(); saBalance.negate();
sleRippleState->setIFieldAmount(sfBalance, saBalance); sleRippleState->setValueFieldAmount(sfBalance, saBalance);
sleRippleState->setIFieldAmount(bFlipped ? sfHighLimit : sfLowLimit, STAmount(uCurrencyID, uSenderID)); sleRippleState->setValueFieldAmount(bFlipped ? sfHighLimit : sfLowLimit, STAmount(uCurrencyID, uSenderID));
sleRippleState->setIFieldAmount(bFlipped ? sfLowLimit : sfHighLimit, STAmount(uCurrencyID, uReceiverID)); sleRippleState->setValueFieldAmount(bFlipped ? sfLowLimit : sfHighLimit, STAmount(uCurrencyID, uReceiverID));
} }
else else
{ {
STAmount saBalance = sleRippleState->getIValueFieldAmount(sfBalance); STAmount saBalance = sleRippleState->getValueFieldAmount(sfBalance);
if (!bFlipped) if (!bFlipped)
saBalance.negate(); // Put balance in low terms. saBalance.negate(); // Put balance in low terms.
@@ -1047,7 +1047,7 @@ void LedgerEntrySet::rippleCredit(const uint160& uSenderID, const uint160& uRece
if (!bFlipped) if (!bFlipped)
saBalance.negate(); saBalance.negate();
sleRippleState->setIFieldAmount(sfBalance, saBalance); sleRippleState->setValueFieldAmount(sfBalance, saBalance);
entryModify(sleRippleState); entryModify(sleRippleState);
} }
@@ -1106,28 +1106,28 @@ void LedgerEntrySet::accountSend(const uint160& uSenderID, const uint160& uRecei
Log(lsINFO) << boost::str(boost::format("accountSend> %s (%s) -> %s (%s) : %s") Log(lsINFO) << boost::str(boost::format("accountSend> %s (%s) -> %s (%s) : %s")
% NewcoinAddress::createHumanAccountID(uSenderID) % NewcoinAddress::createHumanAccountID(uSenderID)
% (sleSender ? (sleSender->getIValueFieldAmount(sfBalance)).getFullText() : "-") % (sleSender ? (sleSender->getValueFieldAmount(sfBalance)).getFullText() : "-")
% NewcoinAddress::createHumanAccountID(uReceiverID) % NewcoinAddress::createHumanAccountID(uReceiverID)
% (sleReceiver ? (sleReceiver->getIValueFieldAmount(sfBalance)).getFullText() : "-") % (sleReceiver ? (sleReceiver->getValueFieldAmount(sfBalance)).getFullText() : "-")
% saAmount.getFullText()); % saAmount.getFullText());
if (sleSender) if (sleSender)
{ {
sleSender->setIFieldAmount(sfBalance, sleSender->getIValueFieldAmount(sfBalance) - saAmount); sleSender->setValueFieldAmount(sfBalance, sleSender->getValueFieldAmount(sfBalance) - saAmount);
entryModify(sleSender); entryModify(sleSender);
} }
if (sleReceiver) if (sleReceiver)
{ {
sleReceiver->setIFieldAmount(sfBalance, sleReceiver->getIValueFieldAmount(sfBalance) + saAmount); sleReceiver->setValueFieldAmount(sfBalance, sleReceiver->getValueFieldAmount(sfBalance) + saAmount);
entryModify(sleReceiver); entryModify(sleReceiver);
} }
Log(lsINFO) << boost::str(boost::format("accountSend< %s (%s) -> %s (%s) : %s") Log(lsINFO) << boost::str(boost::format("accountSend< %s (%s) -> %s (%s) : %s")
% NewcoinAddress::createHumanAccountID(uSenderID) % NewcoinAddress::createHumanAccountID(uSenderID)
% (sleSender ? (sleSender->getIValueFieldAmount(sfBalance)).getFullText() : "-") % (sleSender ? (sleSender->getValueFieldAmount(sfBalance)).getFullText() : "-")
% NewcoinAddress::createHumanAccountID(uReceiverID) % NewcoinAddress::createHumanAccountID(uReceiverID)
% (sleReceiver ? (sleReceiver->getIValueFieldAmount(sfBalance)).getFullText() : "-") % (sleReceiver ? (sleReceiver->getValueFieldAmount(sfBalance)).getFullText() : "-")
% saAmount.getFullText()); % saAmount.getFullText());
} }
else else

View File

@@ -245,12 +245,12 @@ STVector256 NetworkOPs::getDirNodeInfo(
{ {
Log(lsDEBUG) << "getDirNodeInfo: node index: " << uNodeIndex.ToString(); Log(lsDEBUG) << "getDirNodeInfo: node index: " << uNodeIndex.ToString();
Log(lsTRACE) << "getDirNodeInfo: first: " << strHex(sleNode->getIFieldU64(sfIndexPrevious)); Log(lsTRACE) << "getDirNodeInfo: first: " << strHex(sleNode->getValueFieldU64(sfIndexPrevious));
Log(lsTRACE) << "getDirNodeInfo: last: " << strHex(sleNode->getIFieldU64(sfIndexNext)); Log(lsTRACE) << "getDirNodeInfo: last: " << strHex(sleNode->getValueFieldU64(sfIndexNext));
uNodePrevious = sleNode->getIFieldU64(sfIndexPrevious); uNodePrevious = sleNode->getValueFieldU64(sfIndexPrevious);
uNodeNext = sleNode->getIFieldU64(sfIndexNext); uNodeNext = sleNode->getValueFieldU64(sfIndexNext);
svIndexes = sleNode->getIFieldV256(sfIndexes); svIndexes = sleNode->getValueFieldV256(sfIndexes);
Log(lsTRACE) << "getDirNodeInfo: first: " << strHex(uNodePrevious); Log(lsTRACE) << "getDirNodeInfo: first: " << strHex(uNodePrevious);
Log(lsTRACE) << "getDirNodeInfo: last: " << strHex(uNodeNext); Log(lsTRACE) << "getDirNodeInfo: last: " << strHex(uNodeNext);
@@ -299,7 +299,7 @@ Json::Value NetworkOPs::getOwnerInfo(Ledger::pointer lpLedger, const NewcoinAddr
do do
{ {
STVector256 svIndexes = sleNode->getIFieldV256(sfIndexes); STVector256 svIndexes = sleNode->getValueFieldV256(sfIndexes);
const std::vector<uint256>& vuiIndexes = svIndexes.peekValue(); const std::vector<uint256>& vuiIndexes = svIndexes.peekValue();
BOOST_FOREACH(const uint256& uDirEntry, vuiIndexes) BOOST_FOREACH(const uint256& uDirEntry, vuiIndexes)
@@ -332,7 +332,7 @@ Json::Value NetworkOPs::getOwnerInfo(Ledger::pointer lpLedger, const NewcoinAddr
} }
} }
uNodeDir = sleNode->getIFieldU64(sfIndexNext); uNodeDir = sleNode->getValueFieldU64(sfIndexNext);
if (uNodeDir) if (uNodeDir)
{ {
lspNode = lepNONE; lspNode = lepNONE;

View File

@@ -8,19 +8,19 @@ NicknameState::NicknameState(SerializedLedgerEntry::pointer ledgerEntry) :
bool NicknameState::haveMinimumOffer() const bool NicknameState::haveMinimumOffer() const
{ {
return mLedgerEntry->getIFieldPresent(sfMinimumOffer); return mLedgerEntry->isFieldPresent(sfMinimumOffer);
} }
STAmount NicknameState::getMinimumOffer() const STAmount NicknameState::getMinimumOffer() const
{ {
return mLedgerEntry->getIFieldPresent(sfMinimumOffer) return mLedgerEntry->isFieldPresent(sfMinimumOffer)
? mLedgerEntry->getIValueFieldAmount(sfMinimumOffer) ? mLedgerEntry->getValueFieldAmount(sfMinimumOffer)
: STAmount(); : STAmount();
} }
NewcoinAddress NicknameState::getAccountID() const NewcoinAddress NicknameState::getAccountID() const
{ {
return mLedgerEntry->getIValueFieldAccount(sfAccount); return mLedgerEntry->getValueFieldAccount(sfAccount);
} }
void NicknameState::addJson(Json::Value& val) void NicknameState::addJson(Json::Value& val)

View File

@@ -10,8 +10,8 @@ OrderBook::pointer OrderBook::newOrderBook(SerializedLedgerEntry::pointer ledger
OrderBook::OrderBook(SerializedLedgerEntry::pointer ledgerEntry) OrderBook::OrderBook(SerializedLedgerEntry::pointer ledgerEntry)
{ {
const STAmount saTakerGets = ledgerEntry->getIValueFieldAmount(sfTakerGets); const STAmount saTakerGets = ledgerEntry->getValueFieldAmount(sfTakerGets);
const STAmount saTakerPays = ledgerEntry->getIValueFieldAmount(sfTakerPays); const STAmount saTakerPays = ledgerEntry->getValueFieldAmount(sfTakerPays);
mCurrencyIn = saTakerGets.getCurrency(); mCurrencyIn = saTakerGets.getCurrency();
mCurrencyOut = saTakerPays.getCurrency(); mCurrencyOut = saTakerPays.getCurrency();

View File

@@ -252,7 +252,7 @@ Json::Value RPCServer::getMasterGenerator(const uint256& uLedger, const NewcoinA
return RPCError(rpcNO_ACCOUNT); return RPCError(rpcNO_ACCOUNT);
} }
std::vector<unsigned char> vucCipher = sleGen->getIFieldVL(sfGenerator); std::vector<unsigned char> vucCipher = sleGen->getValueFieldVL(sfGenerator);
std::vector<unsigned char> vucMasterGenerator = na0Private.accountPrivateDecrypt(na0Public, vucCipher); std::vector<unsigned char> vucMasterGenerator = na0Private.accountPrivateDecrypt(na0Public, vucCipher);
if (vucMasterGenerator.empty()) if (vucMasterGenerator.empty())
{ {
@@ -402,7 +402,7 @@ Json::Value RPCServer::accountFromString(const uint256& uLedger, NewcoinAddress&
else else
{ {
// Found master public key. // Found master public key.
std::vector<unsigned char> vucCipher = sleGen->getIFieldVL(sfGenerator); std::vector<unsigned char> vucCipher = sleGen->getValueFieldVL(sfGenerator);
std::vector<unsigned char> vucMasterGenerator = naRegular0Private.accountPrivateDecrypt(naRegular0Public, vucCipher); std::vector<unsigned char> vucMasterGenerator = naRegular0Private.accountPrivateDecrypt(naRegular0Public, vucCipher);
if (vucMasterGenerator.empty()) if (vucMasterGenerator.empty())
{ {

View File

@@ -116,8 +116,8 @@ TER RippleCalc::calcNodeAdvance(
{ {
if (bFundsDirty) if (bFundsDirty)
{ {
saTakerPays = sleOffer->getIValueFieldAmount(sfTakerPays); saTakerPays = sleOffer->getValueFieldAmount(sfTakerPays);
saTakerGets = sleOffer->getIValueFieldAmount(sfTakerGets); saTakerGets = sleOffer->getValueFieldAmount(sfTakerGets);
saOfferFunds = lesActive.accountFunds(uOfrOwnerID, saTakerGets); // Funds left. saOfferFunds = lesActive.accountFunds(uOfrOwnerID, saTakerGets); // Funds left.
bFundsDirty = false; bFundsDirty = false;
@@ -153,13 +153,13 @@ TER RippleCalc::calcNodeAdvance(
{ {
// Got a new offer. // Got a new offer.
sleOffer = lesActive.entryCache(ltOFFER, uOfferIndex); sleOffer = lesActive.entryCache(ltOFFER, uOfferIndex);
uOfrOwnerID = sleOffer->getIValueFieldAccount(sfAccount).getAccountID(); uOfrOwnerID = sleOffer->getValueFieldAccount(sfAccount).getAccountID();
const aciSource asLine = boost::make_tuple(uOfrOwnerID, uCurCurrencyID, uCurIssuerID); const aciSource asLine = boost::make_tuple(uOfrOwnerID, uCurCurrencyID, uCurIssuerID);
Log(lsINFO) << boost::str(boost::format("calcNodeAdvance: uOfrOwnerID=%s") % NewcoinAddress::createHumanAccountID(uOfrOwnerID)); Log(lsINFO) << boost::str(boost::format("calcNodeAdvance: uOfrOwnerID=%s") % NewcoinAddress::createHumanAccountID(uOfrOwnerID));
if (sleOffer->getIFieldPresent(sfExpiration) && sleOffer->getIFieldU32(sfExpiration) <= lesActive.getLedger()->getParentCloseTimeNC()) if (sleOffer->isFieldPresent(sfExpiration) && sleOffer->getValueFieldU32(sfExpiration) <= lesActive.getLedger()->getParentCloseTimeNC())
{ {
// Offer is expired. // Offer is expired.
Log(lsINFO) << "calcNodeAdvance: expired offer"; Log(lsINFO) << "calcNodeAdvance: expired offer";
@@ -207,8 +207,8 @@ TER RippleCalc::calcNodeAdvance(
continue; continue;
} }
saTakerPays = sleOffer->getIValueFieldAmount(sfTakerPays); saTakerPays = sleOffer->getValueFieldAmount(sfTakerPays);
saTakerGets = sleOffer->getIValueFieldAmount(sfTakerGets); saTakerGets = sleOffer->getValueFieldAmount(sfTakerGets);
saOfferFunds = lesActive.accountFunds(uOfrOwnerID, saTakerGets); // Funds left. saOfferFunds = lesActive.accountFunds(uOfrOwnerID, saTakerGets); // Funds left.
@@ -430,8 +430,8 @@ TER RippleCalc::calcNodeDeliverRev(
lesActive.accountSend(uOfrOwnerID, uCurIssuerID, saOutPass); lesActive.accountSend(uOfrOwnerID, uCurIssuerID, saOutPass);
// Adjust offer // Adjust offer
sleOffer->setIFieldAmount(sfTakerGets, saTakerGets - saOutPass); sleOffer->setValueFieldAmount(sfTakerGets, saTakerGets - saOutPass);
sleOffer->setIFieldAmount(sfTakerPays, saTakerPays - saInPassAct); sleOffer->setValueFieldAmount(sfTakerPays, saTakerPays - saInPassAct);
lesActive.entryModify(sleOffer); lesActive.entryModify(sleOffer);
@@ -580,8 +580,8 @@ TER RippleCalc::calcNodeDeliverFwd(
lesActive.accountSend(uInAccountID, uOfrOwnerID, saInPassAct); lesActive.accountSend(uInAccountID, uOfrOwnerID, saInPassAct);
// Adjust offer // Adjust offer
sleOffer->setIFieldAmount(sfTakerGets, saTakerGets - saOutPassAct); sleOffer->setValueFieldAmount(sfTakerGets, saTakerGets - saOutPassAct);
sleOffer->setIFieldAmount(sfTakerPays, saTakerPays - saInPassAct); sleOffer->setValueFieldAmount(sfTakerPays, saTakerPays - saInPassAct);
lesActive.entryModify(sleOffer); lesActive.entryModify(sleOffer);
@@ -2092,11 +2092,11 @@ void TransactionEngine::calcOfferBridgeNext(
SLE::pointer sleOffer = entryCache(ltOFFER, uOfferIndex); SLE::pointer sleOffer = entryCache(ltOFFER, uOfferIndex);
uint160 uOfferOwnerID = sleOffer->getIValueFieldAccount(sfAccount).getAccountID(); uint160 uOfferOwnerID = sleOffer->getValueFieldAccount(sfAccount).getAccountID();
STAmount saOfferPays = sleOffer->getIValueFieldAmount(sfTakerGets); STAmount saOfferPays = sleOffer->getValueFieldAmount(sfTakerGets);
STAmount saOfferGets = sleOffer->getIValueFieldAmount(sfTakerPays); STAmount saOfferGets = sleOffer->getValueFieldAmount(sfTakerPays);
if (sleOffer->getIFieldPresent(sfExpiration) && sleOffer->getIFieldU32(sfExpiration) <= mLedger->getParentCloseTimeNC()) if (sleOffer->isFieldPresent(sfExpiration) && sleOffer->getValueFieldU32(sfExpiration) <= mLedger->getParentCloseTimeNC())
{ {
// Offer is expired. // Offer is expired.
Log(lsINFO) << "calcOfferFirst: encountered expired offer"; Log(lsINFO) << "calcOfferFirst: encountered expired offer";

View File

@@ -25,7 +25,7 @@ void RippleLines::fillLines(const uint160& accountID, Ledger::pointer ledger)
SLE::pointer rippleDir=ledger->getDirNode(lspNode, currentIndex); SLE::pointer rippleDir=ledger->getDirNode(lspNode, currentIndex);
if (!rippleDir) return; if (!rippleDir) return;
STVector256 svOwnerNodes = rippleDir->getIFieldV256(sfIndexes); STVector256 svOwnerNodes = rippleDir->getValueFieldV256(sfIndexes);
BOOST_FOREACH(uint256& uNode, svOwnerNodes.peekValue()) BOOST_FOREACH(uint256& uNode, svOwnerNodes.peekValue())
{ {
SLE::pointer sleCur = ledger->getSLE(uNode); SLE::pointer sleCur = ledger->getSLE(uNode);
@@ -45,7 +45,7 @@ void RippleLines::fillLines(const uint160& accountID, Ledger::pointer ledger)
} }
} }
uint64 uNodeNext = rippleDir->getIFieldU64(sfIndexNext); uint64 uNodeNext = rippleDir->getValueFieldU64(sfIndexNext);
if (!uNodeNext) return; if (!uNodeNext) return;
currentIndex = Ledger::getDirNodeIndex(rootIndex, uNodeNext); currentIndex = Ledger::getDirNodeIndex(rootIndex, uNodeNext);

View File

@@ -7,19 +7,19 @@ RippleState::RippleState(SerializedLedgerEntry::pointer ledgerEntry) :
{ {
if (!mLedgerEntry || mLedgerEntry->getType() != ltRIPPLE_STATE) return; if (!mLedgerEntry || mLedgerEntry->getType() != ltRIPPLE_STATE) return;
mLowLimit = mLedgerEntry->getIValueFieldAmount(sfLowLimit); mLowLimit = mLedgerEntry->getValueFieldAmount(sfLowLimit);
mHighLimit = mLedgerEntry->getIValueFieldAmount(sfHighLimit); mHighLimit = mLedgerEntry->getValueFieldAmount(sfHighLimit);
mLowID = NewcoinAddress::createAccountID(mLowLimit.getIssuer()); mLowID = NewcoinAddress::createAccountID(mLowLimit.getIssuer());
mHighID = NewcoinAddress::createAccountID(mHighLimit.getIssuer()); mHighID = NewcoinAddress::createAccountID(mHighLimit.getIssuer());
mLowQualityIn = mLedgerEntry->getIFieldU32(sfLowQualityIn); mLowQualityIn = mLedgerEntry->getValueFieldU32(sfLowQualityIn);
mLowQualityOut = mLedgerEntry->getIFieldU32(sfLowQualityOut); mLowQualityOut = mLedgerEntry->getValueFieldU32(sfLowQualityOut);
mHighQualityIn = mLedgerEntry->getIFieldU32(sfHighQualityIn); mHighQualityIn = mLedgerEntry->getValueFieldU32(sfHighQualityIn);
mHighQualityOut = mLedgerEntry->getIFieldU32(sfHighQualityOut); mHighQualityOut = mLedgerEntry->getValueFieldU32(sfHighQualityOut);
mBalance = mLedgerEntry->getIValueFieldAmount(sfBalance); mBalance = mLedgerEntry->getValueFieldAmount(sfBalance);
mValid = true; mValid = true;
} }

View File

@@ -124,12 +124,12 @@ NewcoinAddress SerializedLedgerEntry::getOwner()
NewcoinAddress SerializedLedgerEntry::getFirstOwner() NewcoinAddress SerializedLedgerEntry::getFirstOwner()
{ {
return NewcoinAddress::createAccountID(getIValueFieldAmount(sfLowLimit).getIssuer()); return NewcoinAddress::createAccountID(getValueFieldAmount(sfLowLimit).getIssuer());
} }
NewcoinAddress SerializedLedgerEntry::getSecondOwner() NewcoinAddress SerializedLedgerEntry::getSecondOwner()
{ {
return NewcoinAddress::createAccountID(getIValueFieldAmount(sfHighLimit).getIssuer()); return NewcoinAddress::createAccountID(getValueFieldAmount(sfHighLimit).getIssuer());
} }
std::vector<uint256> SerializedLedgerEntry::getOwners() std::vector<uint256> SerializedLedgerEntry::getOwners()

View File

@@ -46,50 +46,6 @@ public:
uint32 getThreadedLedger(); uint32 getThreadedLedger();
bool thread(const uint256& txID, uint32 ledgerSeq, uint256& prevTxID, uint32& prevLedgerID); bool thread(const uint256& txID, uint32 ledgerSeq, uint256& prevTxID, uint32& prevLedgerID);
std::vector<uint256> getOwners(); // nodes notified if this node is deleted std::vector<uint256> getOwners(); // nodes notified if this node is deleted
// CAUTION: All these functions are now obsolete and will be removed after
// the new serialization code is merged.
int getIFieldIndex(SField::ref field) const { return getFieldIndex(field); }
int getIFieldCount() const { return getCount(); }
const SerializedType& peekIField(SField::ref field) const { return peekAtField(field); }
SerializedType& getIField(SField::ref field) { return getField(field); }
SField::ref getIFieldSType(int index) { return getFieldSType(index); }
std::string getIFieldString(SField::ref field) const { return getFieldString(field); }
unsigned char getIFieldU8(SField::ref field) const { return getValueFieldU8(field); }
uint16 getIFieldU16(SField::ref field) const { return getValueFieldU16(field); }
uint32 getIFieldU32(SField::ref field) const { return getValueFieldU32(field); }
uint64 getIFieldU64(SField::ref field) const { return getValueFieldU64(field); }
uint128 getIFieldH128(SField::ref field) const { return getValueFieldH128(field); }
uint160 getIFieldH160(SField::ref field) const { return getValueFieldH160(field); }
uint256 getIFieldH256(SField::ref field) const { return getValueFieldH256(field); }
std::vector<unsigned char> getIFieldVL(SField::ref field) const { return getValueFieldVL(field); }
std::vector<TaggedListItem> getIFieldTL(SField::ref field) const { return getValueFieldTL(field); }
NewcoinAddress getIValueFieldAccount(SField::ref field) const { return getValueFieldAccount(field); }
STAmount getIValueFieldAmount(SField::ref field) const { return getValueFieldAmount(field); }
STVector256 getIFieldV256(SField::ref field) { return getValueFieldV256(field); }
void setIFieldU8(SField::ref field, unsigned char v) { return setValueFieldU8(field, v); }
void setIFieldU16(SField::ref field, uint16 v) { return setValueFieldU16(field, v); }
void setIFieldU32(SField::ref field, uint32 v) { return setValueFieldU32(field, v); }
void setIFieldU64(SField::ref field, uint64 v) { return setValueFieldU64(field, v); }
void setIFieldH128(SField::ref field, const uint128& v) { return setValueFieldH128(field, v); }
void setIFieldH160(SField::ref field, const uint160& v) { return setValueFieldH160(field, v); }
void setIFieldH256(SField::ref field, const uint256& v) { return setValueFieldH256(field, v); }
void setIFieldVL(SField::ref field, const std::vector<unsigned char>& v)
{ return setValueFieldVL(field, v); }
void setIFieldTL(SField::ref field, const std::vector<TaggedListItem>& v)
{ return setValueFieldTL(field, v); }
void setIFieldAccount(SField::ref field, const uint160& account)
{ return setValueFieldAccount(field, account); }
void setIFieldAccount(SField::ref field, const NewcoinAddress& account)
{ return setValueFieldAccount(field, account); }
void setIFieldAmount(SField::ref field, const STAmount& amount)
{ return setValueFieldAmount(field, amount); }
void setIFieldV256(SField::ref field, const STVector256& v) { return setValueFieldV256(field, v); }
bool getIFieldPresent(SField::ref field) const { return isFieldPresent(field); }
void makeIFieldPresent(SField::ref field) { makeFieldPresent(field); }
void makeIFieldAbsent(SField::ref field) { return makeFieldAbsent(field); }
// CAUTION: All the above functions are obsolete
}; };
typedef SerializedLedgerEntry SLE; typedef SerializedLedgerEntry SLE;

View File

@@ -545,6 +545,28 @@ NewcoinAddress STObject::getValueFieldAccount(SField::ref field) const
return cf->getValueNCA(); return cf->getValueNCA();
} }
uint160 STObject::getValueFieldAccount160(SField::ref field) const
{
uint160 a;
const SerializedType* rf = peekAtPField(field);
if (!rf)
{
#ifdef DEBUG
std::cerr << "Account field not found" << std::endl;
std::cerr << getFullText() << std::endl;
#endif
throw std::runtime_error("Field not found");
}
SerializedTypeID id = rf->getSType();
if (id != STI_NOTPRESENT)
{
const STAccount* cf = dynamic_cast<const STAccount *>(rf);
if (!cf) throw std::runtime_error("Wrong field type");
cf->getValueH160(a);
}
return a;
}
std::vector<unsigned char> STObject::getValueFieldVL(SField::ref field) const std::vector<unsigned char> STObject::getValueFieldVL(SField::ref field) const
{ {
const SerializedType* rf = peekAtPField(field); const SerializedType* rf = peekAtPField(field);

View File

@@ -103,6 +103,7 @@ public:
uint160 getValueFieldH160(SField::ref field) const; uint160 getValueFieldH160(SField::ref field) const;
uint256 getValueFieldH256(SField::ref field) const; uint256 getValueFieldH256(SField::ref field) const;
NewcoinAddress getValueFieldAccount(SField::ref field) const; NewcoinAddress getValueFieldAccount(SField::ref field) const;
uint160 getValueFieldAccount160(SField::ref field) const;
std::vector<unsigned char> getValueFieldVL(SField::ref field) const; std::vector<unsigned char> getValueFieldVL(SField::ref field) const;
std::vector<TaggedListItem> getValueFieldTL(SField::ref field) const; std::vector<TaggedListItem> getValueFieldTL(SField::ref field) const;
STAmount getValueFieldAmount(SField::ref field) const; STAmount getValueFieldAmount(SField::ref field) const;

View File

@@ -131,15 +131,6 @@ void SerializedTransaction::setSourceAccount(const NewcoinAddress& naSource)
setValueFieldAccount(sfAccount, naSource); setValueFieldAccount(sfAccount, naSource);
} }
uint160 SerializedTransaction::getITFieldAccount(SField::ref field) const
{
uint160 r;
const STAccount* ac = dynamic_cast<const STAccount*>(peekAtPField(field));
if (ac)
ac->getValueH160(r);
return r;
}
Json::Value SerializedTransaction::getJson(int options) const Json::Value SerializedTransaction::getJson(int options) const
{ {
Json::Value ret = STObject::getJson(0); Json::Value ret = STObject::getJson(0);

View File

@@ -55,51 +55,6 @@ public:
uint32 getSequence() const { return getValueFieldU32(sfSequence); } uint32 getSequence() const { return getValueFieldU32(sfSequence); }
void setSequence(uint32 seq) { return setValueFieldU32(sfSequence, seq); } void setSequence(uint32 seq) { return setValueFieldU32(sfSequence, seq); }
// inner transaction field functions (OBSOLETE - use STObject functions)
int getITFieldIndex(SField::ref field) const { return getFieldIndex(field); }
const SerializedType& peekITField(SField::ref field) const { return peekAtField(field); }
SerializedType& getITField(SField::ref field) { return getField(field); }
// inner transaction field value functions (OBSOLETE - use STObject functions)
std::string getITFieldString(SField::ref field) const { return getFieldString(field); }
unsigned char getITFieldU8(SField::ref field) const { return getValueFieldU8(field); }
uint16 getITFieldU16(SField::ref field) const { return getValueFieldU16(field); }
uint32 getITFieldU32(SField::ref field) const { return getValueFieldU32(field); }
uint64 getITFieldU64(SField::ref field) const { return getValueFieldU64(field); }
uint128 getITFieldH128(SField::ref field) const { return getValueFieldH128(field); }
uint160 getITFieldH160(SField::ref field) const { return getValueFieldH160(field); }
uint160 getITFieldAccount(SField::ref field) const;
uint256 getITFieldH256(SField::ref field) const { return getValueFieldH256(field); }
std::vector<unsigned char> getITFieldVL(SField::ref field) const { return getValueFieldVL(field); }
std::vector<TaggedListItem> getITFieldTL(SField::ref field) const { return getValueFieldTL(field); }
STAmount getITFieldAmount(SField::ref field) const { return getValueFieldAmount(field); }
STPathSet getITFieldPathSet(SField::ref field) const { return getValueFieldPathSet(field); }
void setITFieldU8(SField::ref field, unsigned char v) { return setValueFieldU8(field, v); }
void setITFieldU16(SField::ref field, uint16 v) { return setValueFieldU16(field, v); }
void setITFieldU32(SField::ref field, uint32 v) { return setValueFieldU32(field, v); }
void setITFieldU64(SField::ref field, uint32 v) { return setValueFieldU64(field, v); }
void setITFieldH128(SField::ref field, const uint128& v) { return setValueFieldH128(field, v); }
void setITFieldH160(SField::ref field, const uint160& v) { return setValueFieldH160(field, v); }
void setITFieldH256(SField::ref field, const uint256& v) { return setValueFieldH256(field, v); }
void setITFieldVL(SField::ref field, const std::vector<unsigned char>& v)
{ return setValueFieldVL(field, v); }
void setITFieldTL(SField::ref field, const std::vector<TaggedListItem>& v)
{ return setValueFieldTL(field, v); }
void setITFieldAccount(SField::ref field, const uint160& v)
{ return setValueFieldAccount(field, v); }
void setITFieldAccount(SField::ref field, const NewcoinAddress& v)
{ return setValueFieldAccount(field, v); }
void setITFieldAmount(SField::ref field, const STAmount& v)
{ return setValueFieldAmount(field, v); }
void setITFieldPathSet(SField::ref field, const STPathSet& v)
{ return setValueFieldPathSet(field, v); }
// optional field functions (OBSOLETE - use STObject functions)
bool getITFieldPresent(SField::ref field) const { return isFieldPresent(field); }
void makeITFieldPresent(SField::ref field) { makeFieldPresent(field); }
void makeITFieldAbsent(SField::ref field) { makeFieldAbsent(field); }
std::vector<NewcoinAddress> getAffectedAccounts() const; std::vector<NewcoinAddress> getAffectedAccounts() const;
uint256 getTransactionID() const; uint256 getTransactionID() const;

View File

@@ -78,8 +78,8 @@ Transaction::Transaction(
if (uSourceTag) if (uSourceTag)
{ {
mTransaction->makeITFieldPresent(sfSourceTag); mTransaction->makeFieldPresent(sfSourceTag);
mTransaction->setITFieldU32(sfSourceTag, uSourceTag); mTransaction->setValueFieldU32(sfSourceTag, uSourceTag);
} }
} }
@@ -127,24 +127,24 @@ Transaction::pointer Transaction::setAccountSet(
) )
{ {
if (!bEmailHash) if (!bEmailHash)
mTransaction->setITFieldH128(sfEmailHash, uEmailHash); mTransaction->setValueFieldH128(sfEmailHash, uEmailHash);
if (!bWalletLocator) if (!bWalletLocator)
mTransaction->setITFieldH256(sfWalletLocator, uWalletLocator); mTransaction->setValueFieldH256(sfWalletLocator, uWalletLocator);
if (naMessagePublic.isValid()) if (naMessagePublic.isValid())
mTransaction->setITFieldVL(sfMessageKey, naMessagePublic.getAccountPublic()); mTransaction->setValueFieldVL(sfMessageKey, naMessagePublic.getAccountPublic());
if (bDomain) if (bDomain)
mTransaction->setITFieldVL(sfDomain, vucDomain); mTransaction->setValueFieldVL(sfDomain, vucDomain);
if (bTransferRate) if (bTransferRate)
mTransaction->setITFieldU32(sfTransferRate, uTransferRate); mTransaction->setValueFieldU32(sfTransferRate, uTransferRate);
if (bPublish) if (bPublish)
{ {
mTransaction->setITFieldH256(sfPublishHash, uPublishHash); mTransaction->setValueFieldH256(sfPublishHash, uPublishHash);
mTransaction->setITFieldU32(sfPublishSize, uPublishSize); mTransaction->setValueFieldU32(sfPublishSize, uPublishSize);
} }
sign(naPrivateKey); sign(naPrivateKey);
@@ -188,9 +188,9 @@ Transaction::pointer Transaction::setClaim(
const std::vector<unsigned char>& vucPubKey, const std::vector<unsigned char>& vucPubKey,
const std::vector<unsigned char>& vucSignature) const std::vector<unsigned char>& vucSignature)
{ {
mTransaction->setITFieldVL(sfGenerator, vucGenerator); mTransaction->setValueFieldVL(sfGenerator, vucGenerator);
mTransaction->setITFieldVL(sfPublicKey, vucPubKey); mTransaction->setValueFieldVL(sfPublicKey, vucPubKey);
mTransaction->setITFieldVL(sfSignature, vucSignature); mTransaction->setValueFieldVL(sfSignature, vucSignature);
sign(naPrivateKey); sign(naPrivateKey);
@@ -222,9 +222,9 @@ Transaction::pointer Transaction::setCreate(
const NewcoinAddress& naCreateAccountID, const NewcoinAddress& naCreateAccountID,
const STAmount& saFund) const STAmount& saFund)
{ {
mTransaction->setITFieldU32(sfFlags, tfCreateAccount); mTransaction->setValueFieldU32(sfFlags, tfCreateAccount);
mTransaction->setITFieldAccount(sfDestination, naCreateAccountID); mTransaction->setValueFieldAccount(sfDestination, naCreateAccountID);
mTransaction->setITFieldAmount(sfAmount, saFund); mTransaction->setValueFieldAmount(sfAmount, saFund);
sign(naPrivateKey); sign(naPrivateKey);
@@ -257,13 +257,13 @@ Transaction::pointer Transaction::setCreditSet(
bool bQualityOut, bool bQualityOut,
uint32 uQualityOut) uint32 uQualityOut)
{ {
mTransaction->setITFieldAmount(sfLimitAmount, saLimitAmount); mTransaction->setValueFieldAmount(sfLimitAmount, saLimitAmount);
if (bQualityIn) if (bQualityIn)
mTransaction->setITFieldU32(sfQualityIn, uQualityIn); mTransaction->setValueFieldU32(sfQualityIn, uQualityIn);
if (bQualityOut) if (bQualityOut)
mTransaction->setITFieldU32(sfQualityOut, uQualityOut); mTransaction->setValueFieldU32(sfQualityOut, uQualityOut);
sign(naPrivateKey); sign(naPrivateKey);
@@ -301,14 +301,14 @@ Transaction::pointer Transaction::setNicknameSet(
const STAmount& saMinimumOffer, const STAmount& saMinimumOffer,
const std::vector<unsigned char>& vucSignature) const std::vector<unsigned char>& vucSignature)
{ {
mTransaction->setITFieldH256(sfNickname, uNickname); mTransaction->setValueFieldH256(sfNickname, uNickname);
// XXX Make sure field is present even for 0! // XXX Make sure field is present even for 0!
if (bSetOffer) if (bSetOffer)
mTransaction->setITFieldAmount(sfMinimumOffer, saMinimumOffer); mTransaction->setValueFieldAmount(sfMinimumOffer, saMinimumOffer);
if (!vucSignature.empty()) if (!vucSignature.empty())
mTransaction->setITFieldVL(sfSignature, vucSignature); mTransaction->setValueFieldVL(sfSignature, vucSignature);
sign(naPrivateKey); sign(naPrivateKey);
@@ -345,13 +345,13 @@ Transaction::pointer Transaction::setOfferCreate(
uint32 uExpiration) uint32 uExpiration)
{ {
if (bPassive) if (bPassive)
mTransaction->setITFieldU32(sfFlags, tfPassive); mTransaction->setValueFieldU32(sfFlags, tfPassive);
mTransaction->setITFieldAmount(sfTakerPays, saTakerPays); mTransaction->setValueFieldAmount(sfTakerPays, saTakerPays);
mTransaction->setITFieldAmount(sfTakerGets, saTakerGets); mTransaction->setValueFieldAmount(sfTakerGets, saTakerGets);
if (uExpiration) if (uExpiration)
mTransaction->setITFieldU32(sfExpiration, uExpiration); mTransaction->setValueFieldU32(sfExpiration, uExpiration);
sign(naPrivateKey); sign(naPrivateKey);
@@ -382,7 +382,7 @@ Transaction::pointer Transaction::setOfferCancel(
const NewcoinAddress& naPrivateKey, const NewcoinAddress& naPrivateKey,
uint32 uSequence) uint32 uSequence)
{ {
mTransaction->setITFieldU32(sfOfferSequence, uSequence); mTransaction->setValueFieldU32(sfOfferSequence, uSequence);
sign(naPrivateKey); sign(naPrivateKey);
@@ -410,7 +410,7 @@ Transaction::pointer Transaction::setPasswordFund(
const NewcoinAddress& naPrivateKey, const NewcoinAddress& naPrivateKey,
const NewcoinAddress& naDstAccountID) const NewcoinAddress& naDstAccountID)
{ {
mTransaction->setITFieldAccount(sfDestination, naDstAccountID); mTransaction->setValueFieldAccount(sfDestination, naDstAccountID);
sign(naPrivateKey); sign(naPrivateKey);
@@ -441,10 +441,10 @@ Transaction::pointer Transaction::setPasswordSet(
const std::vector<unsigned char>& vucPubKey, const std::vector<unsigned char>& vucPubKey,
const std::vector<unsigned char>& vucSignature) const std::vector<unsigned char>& vucSignature)
{ {
mTransaction->setITFieldAccount(sfAuthorizedKey, naAuthKeyID); mTransaction->setValueFieldAccount(sfAuthorizedKey, naAuthKeyID);
mTransaction->setITFieldVL(sfGenerator, vucGenerator); mTransaction->setValueFieldVL(sfGenerator, vucGenerator);
mTransaction->setITFieldVL(sfPublicKey, vucPubKey); mTransaction->setValueFieldVL(sfPublicKey, vucPubKey);
mTransaction->setITFieldVL(sfSignature, vucSignature); mTransaction->setValueFieldVL(sfSignature, vucSignature);
sign(naPrivateKey); sign(naPrivateKey);
@@ -481,17 +481,17 @@ Transaction::pointer Transaction::setPayment(
const bool bPartial, const bool bPartial,
const bool bLimit) const bool bLimit)
{ {
mTransaction->setITFieldAccount(sfDestination, naDstAccountID); mTransaction->setValueFieldAccount(sfDestination, naDstAccountID);
mTransaction->setITFieldAmount(sfAmount, saAmount); mTransaction->setValueFieldAmount(sfAmount, saAmount);
if (saAmount != saSendMax || saAmount.getCurrency() != saSendMax.getCurrency()) if (saAmount != saSendMax || saAmount.getCurrency() != saSendMax.getCurrency())
{ {
mTransaction->setITFieldAmount(sfSendMax, saSendMax); mTransaction->setValueFieldAmount(sfSendMax, saSendMax);
} }
if (spsPaths.getPathCount()) if (spsPaths.getPathCount())
{ {
mTransaction->setITFieldPathSet(sfPaths, spsPaths); mTransaction->setValueFieldPathSet(sfPaths, spsPaths);
} }
sign(naPrivateKey); sign(naPrivateKey);
@@ -528,10 +528,10 @@ Transaction::pointer Transaction::setWalletAdd(
const NewcoinAddress& naNewPubKey, const NewcoinAddress& naNewPubKey,
const std::vector<unsigned char>& vucSignature) const std::vector<unsigned char>& vucSignature)
{ {
mTransaction->setITFieldAmount(sfAmount, saAmount); mTransaction->setValueFieldAmount(sfAmount, saAmount);
mTransaction->setITFieldAccount(sfAuthorizedKey, naAuthKeyID); mTransaction->setValueFieldAccount(sfAuthorizedKey, naAuthKeyID);
mTransaction->setITFieldVL(sfPublicKey, naNewPubKey.getAccountPublic()); mTransaction->setValueFieldVL(sfPublicKey, naNewPubKey.getAccountPublic());
mTransaction->setITFieldVL(sfSignature, vucSignature); mTransaction->setValueFieldVL(sfSignature, vucSignature);
sign(naPrivateKey); sign(naPrivateKey);

View File

@@ -274,10 +274,10 @@ public:
const uint256& getID() const { return mTransactionID; } const uint256& getID() const { return mTransactionID; }
const NewcoinAddress& getFromAccount() const { return mAccountFrom; } const NewcoinAddress& getFromAccount() const { return mAccountFrom; }
STAmount getAmount() const { return mTransaction->getITFieldU64(sfAmount); } STAmount getAmount() const { return mTransaction->getValueFieldU64(sfAmount); }
STAmount getFee() const { return mTransaction->getTransactionFee(); } STAmount getFee() const { return mTransaction->getTransactionFee(); }
uint32 getFromAccountSeq() const { return mTransaction->getSequence(); } uint32 getFromAccountSeq() const { return mTransaction->getSequence(); }
uint32 getIdent() const { return mTransaction->getITFieldU32(sfSourceTag); } uint32 getIdent() const { return mTransaction->getValueFieldU32(sfSourceTag); }
std::vector<unsigned char> getSignature() const { return mTransaction->getSignature(); } std::vector<unsigned char> getSignature() const { return mTransaction->getSignature(); }
uint32 getLedger() const { return mInLedger; } uint32 getLedger() const { return mInLedger; }
TransStatus getStatus() const { return mStatus; } TransStatus getStatus() const { return mStatus; }

View File

@@ -29,9 +29,9 @@ TER TransactionEngine::setAuthorized(const SerializedTransaction& txn, bool bMus
// Otherwise, people could deny access to generators. // Otherwise, people could deny access to generators.
// //
std::vector<unsigned char> vucCipher = txn.getITFieldVL(sfGenerator); std::vector<unsigned char> vucCipher = txn.getValueFieldVL(sfGenerator);
std::vector<unsigned char> vucPubKey = txn.getITFieldVL(sfPublicKey); std::vector<unsigned char> vucPubKey = txn.getValueFieldVL(sfPublicKey);
std::vector<unsigned char> vucSignature = txn.getITFieldVL(sfSignature); std::vector<unsigned char> vucSignature = txn.getValueFieldVL(sfSignature);
NewcoinAddress naAccountPublic = NewcoinAddress::createAccountPublic(vucPubKey); NewcoinAddress naAccountPublic = NewcoinAddress::createAccountPublic(vucPubKey);
if (!naAccountPublic.accountPublicVerify(Serializer::getSHA512Half(vucCipher), vucSignature)) if (!naAccountPublic.accountPublicVerify(Serializer::getSHA512Half(vucCipher), vucSignature))
@@ -52,7 +52,7 @@ TER TransactionEngine::setAuthorized(const SerializedTransaction& txn, bool bMus
sleGen = entryCreate(ltGENERATOR_MAP, Ledger::getGeneratorIndex(hGeneratorID)); sleGen = entryCreate(ltGENERATOR_MAP, Ledger::getGeneratorIndex(hGeneratorID));
sleGen->setIFieldVL(sfGenerator, vucCipher); sleGen->setValueFieldVL(sfGenerator, vucCipher);
} }
else if (bMustSetGenerator) else if (bMustSetGenerator)
{ {
@@ -66,9 +66,9 @@ TER TransactionEngine::setAuthorized(const SerializedTransaction& txn, bool bMus
// Set the public key needed to use the account. // Set the public key needed to use the account.
uint160 uAuthKeyID = bMustSetGenerator uint160 uAuthKeyID = bMustSetGenerator
? hGeneratorID // Claim ? hGeneratorID // Claim
: txn.getITFieldAccount(sfAuthorizedKey); // PasswordSet : txn.getValueFieldAccount160(sfAuthorizedKey); // PasswordSet
mTxnAccount->setIFieldAccount(sfAuthorizedKey, uAuthKeyID); mTxnAccount->setValueFieldAccount(sfAuthorizedKey, uAuthKeyID);
return tesSUCCESS; return tesSUCCESS;
} }
@@ -81,21 +81,21 @@ TER TransactionEngine::doAccountSet(const SerializedTransaction& txn)
// EmailHash // EmailHash
// //
if (txn.getITFieldPresent(sfEmailHash)) if (txn.isFieldPresent(sfEmailHash))
{ {
uint128 uHash = txn.getITFieldH128(sfEmailHash); uint128 uHash = txn.getValueFieldH128(sfEmailHash);
if (!uHash) if (!uHash)
{ {
Log(lsINFO) << "doAccountSet: unset email hash"; Log(lsINFO) << "doAccountSet: unset email hash";
mTxnAccount->makeIFieldAbsent(sfEmailHash); mTxnAccount->makeFieldAbsent(sfEmailHash);
} }
else else
{ {
Log(lsINFO) << "doAccountSet: set email hash"; Log(lsINFO) << "doAccountSet: set email hash";
mTxnAccount->setIFieldH128(sfEmailHash, uHash); mTxnAccount->setValueFieldH128(sfEmailHash, uHash);
} }
} }
@@ -103,21 +103,21 @@ TER TransactionEngine::doAccountSet(const SerializedTransaction& txn)
// WalletLocator // WalletLocator
// //
if (txn.getITFieldPresent(sfWalletLocator)) if (txn.isFieldPresent(sfWalletLocator))
{ {
uint256 uHash = txn.getITFieldH256(sfWalletLocator); uint256 uHash = txn.getValueFieldH256(sfWalletLocator);
if (!uHash) if (!uHash)
{ {
Log(lsINFO) << "doAccountSet: unset wallet locator"; Log(lsINFO) << "doAccountSet: unset wallet locator";
mTxnAccount->makeIFieldAbsent(sfEmailHash); mTxnAccount->makeFieldAbsent(sfEmailHash);
} }
else else
{ {
Log(lsINFO) << "doAccountSet: set wallet locator"; Log(lsINFO) << "doAccountSet: set wallet locator";
mTxnAccount->setIFieldH256(sfWalletLocator, uHash); mTxnAccount->setValueFieldH256(sfWalletLocator, uHash);
} }
} }
@@ -125,7 +125,7 @@ TER TransactionEngine::doAccountSet(const SerializedTransaction& txn)
// MessageKey // MessageKey
// //
if (!txn.getITFieldPresent(sfMessageKey)) if (!txn.isFieldPresent(sfMessageKey))
{ {
nothing(); nothing();
} }
@@ -133,28 +133,28 @@ TER TransactionEngine::doAccountSet(const SerializedTransaction& txn)
{ {
Log(lsINFO) << "doAccountSet: set message key"; Log(lsINFO) << "doAccountSet: set message key";
mTxnAccount->setIFieldVL(sfMessageKey, txn.getITFieldVL(sfMessageKey)); mTxnAccount->setValueFieldVL(sfMessageKey, txn.getValueFieldVL(sfMessageKey));
} }
// //
// Domain // Domain
// //
if (txn.getITFieldPresent(sfDomain)) if (txn.isFieldPresent(sfDomain))
{ {
std::vector<unsigned char> vucDomain = txn.getITFieldVL(sfDomain); std::vector<unsigned char> vucDomain = txn.getValueFieldVL(sfDomain);
if (vucDomain.empty()) if (vucDomain.empty())
{ {
Log(lsINFO) << "doAccountSet: unset domain"; Log(lsINFO) << "doAccountSet: unset domain";
mTxnAccount->makeIFieldAbsent(sfDomain); mTxnAccount->makeFieldAbsent(sfDomain);
} }
else else
{ {
Log(lsINFO) << "doAccountSet: set domain"; Log(lsINFO) << "doAccountSet: set domain";
mTxnAccount->setIFieldVL(sfDomain, vucDomain); mTxnAccount->setValueFieldVL(sfDomain, vucDomain);
} }
} }
@@ -162,21 +162,21 @@ TER TransactionEngine::doAccountSet(const SerializedTransaction& txn)
// TransferRate // TransferRate
// //
if (txn.getITFieldPresent(sfTransferRate)) if (txn.isFieldPresent(sfTransferRate))
{ {
uint32 uRate = txn.getITFieldU32(sfTransferRate); uint32 uRate = txn.getValueFieldU32(sfTransferRate);
if (!uRate || uRate == QUALITY_ONE) if (!uRate || uRate == QUALITY_ONE)
{ {
Log(lsINFO) << "doAccountSet: unset transfer rate"; Log(lsINFO) << "doAccountSet: unset transfer rate";
mTxnAccount->makeIFieldAbsent(sfTransferRate); mTxnAccount->makeFieldAbsent(sfTransferRate);
} }
else if (uRate > QUALITY_ONE) else if (uRate > QUALITY_ONE)
{ {
Log(lsINFO) << "doAccountSet: set transfer rate"; Log(lsINFO) << "doAccountSet: set transfer rate";
mTxnAccount->setIFieldU32(sfTransferRate, uRate); mTxnAccount->setValueFieldU32(sfTransferRate, uRate);
} }
else else
{ {
@@ -190,8 +190,8 @@ TER TransactionEngine::doAccountSet(const SerializedTransaction& txn)
// PublishHash && PublishSize // PublishHash && PublishSize
// //
bool bPublishHash = txn.getITFieldPresent(sfPublishHash); bool bPublishHash = txn.isFieldPresent(sfPublishHash);
bool bPublishSize = txn.getITFieldPresent(sfPublishSize); bool bPublishSize = txn.isFieldPresent(sfPublishSize);
if (bPublishHash ^ bPublishSize) if (bPublishHash ^ bPublishSize)
{ {
@@ -201,22 +201,22 @@ TER TransactionEngine::doAccountSet(const SerializedTransaction& txn)
} }
else if (bPublishHash && bPublishSize) else if (bPublishHash && bPublishSize)
{ {
uint256 uHash = txn.getITFieldH256(sfPublishHash); uint256 uHash = txn.getValueFieldH256(sfPublishHash);
uint32 uSize = txn.getITFieldU32(sfPublishSize); uint32 uSize = txn.getValueFieldU32(sfPublishSize);
if (!uHash) if (!uHash)
{ {
Log(lsINFO) << "doAccountSet: unset publish"; Log(lsINFO) << "doAccountSet: unset publish";
mTxnAccount->makeIFieldAbsent(sfPublishHash); mTxnAccount->makeFieldAbsent(sfPublishHash);
mTxnAccount->makeIFieldAbsent(sfPublishSize); mTxnAccount->makeFieldAbsent(sfPublishSize);
} }
else else
{ {
Log(lsINFO) << "doAccountSet: set publish"; Log(lsINFO) << "doAccountSet: set publish";
mTxnAccount->setIFieldH256(sfPublishHash, uHash); mTxnAccount->setValueFieldH256(sfPublishHash, uHash);
mTxnAccount->setIFieldU32(sfPublishSize, uSize); mTxnAccount->setValueFieldU32(sfPublishSize, uSize);
} }
} }
@@ -241,11 +241,11 @@ TER TransactionEngine::doCreditSet(const SerializedTransaction& txn)
TER terResult = tesSUCCESS; TER terResult = tesSUCCESS;
Log(lsINFO) << "doCreditSet>"; Log(lsINFO) << "doCreditSet>";
const STAmount saLimitAmount = txn.getITFieldAmount(sfLimitAmount); const STAmount saLimitAmount = txn.getValueFieldAmount(sfLimitAmount);
const bool bQualityIn = txn.getITFieldPresent(sfQualityIn); const bool bQualityIn = txn.isFieldPresent(sfQualityIn);
const uint32 uQualityIn = bQualityIn ? txn.getITFieldU32(sfQualityIn) : 0; const uint32 uQualityIn = bQualityIn ? txn.getValueFieldU32(sfQualityIn) : 0;
const bool bQualityOut = txn.getITFieldPresent(sfQualityOut); const bool bQualityOut = txn.isFieldPresent(sfQualityOut);
const uint32 uQualityOut = bQualityIn ? txn.getITFieldU32(sfQualityOut) : 0; const uint32 uQualityOut = bQualityIn ? txn.getValueFieldU32(sfQualityOut) : 0;
const uint160 uCurrencyID = saLimitAmount.getCurrency(); const uint160 uCurrencyID = saLimitAmount.getCurrency();
uint160 uDstAccountID = saLimitAmount.getIssuer(); uint160 uDstAccountID = saLimitAmount.getIssuer();
const bool bFlipped = mTxnAccountID > uDstAccountID; // true, iff current is not lowest. const bool bFlipped = mTxnAccountID > uDstAccountID; // true, iff current is not lowest.
@@ -285,12 +285,12 @@ TER TransactionEngine::doCreditSet(const SerializedTransaction& txn)
if (!saLimitAmount) if (!saLimitAmount)
{ {
// Zeroing line. // Zeroing line.
uint160 uLowID = sleRippleState->getIValueFieldAmount(sfLowLimit).getIssuer(); uint160 uLowID = sleRippleState->getValueFieldAmount(sfLowLimit).getIssuer();
uint160 uHighID = sleRippleState->getIValueFieldAmount(sfHighLimit).getIssuer(); uint160 uHighID = sleRippleState->getValueFieldAmount(sfHighLimit).getIssuer();
bool bLow = uLowID == uSrcAccountID; bool bLow = uLowID == uSrcAccountID;
bool bHigh = uLowID == uDstAccountID; bool bHigh = uLowID == uDstAccountID;
bool bBalanceZero = !sleRippleState->getIValueFieldAmount(sfBalance); bool bBalanceZero = !sleRippleState->getValueFieldAmount(sfBalance);
STAmount saDstLimit = sleRippleState->getIValueFieldAmount(bSendLow ? sfLowLimit : sfHighLimit); STAmount saDstLimit = sleRippleState->getValueFieldAmount(bSendLow ? sfLowLimit : sfHighLimit);
bool bDstLimitZero = !saDstLimit; bool bDstLimitZero = !saDstLimit;
assert(bLow || bHigh); assert(bLow || bHigh);
@@ -307,7 +307,7 @@ TER TransactionEngine::doCreditSet(const SerializedTransaction& txn)
if (!bDelIndex) if (!bDelIndex)
{ {
sleRippleState->setIFieldAmount(bFlipped ? sfHighLimit: sfLowLimit, saLimitAllow); sleRippleState->setValueFieldAmount(bFlipped ? sfHighLimit: sfLowLimit, saLimitAllow);
if (!bQualityIn) if (!bQualityIn)
{ {
@@ -315,11 +315,11 @@ TER TransactionEngine::doCreditSet(const SerializedTransaction& txn)
} }
else if (uQualityIn) else if (uQualityIn)
{ {
sleRippleState->setIFieldU32(bFlipped ? sfLowQualityIn : sfHighQualityIn, uQualityIn); sleRippleState->setValueFieldU32(bFlipped ? sfLowQualityIn : sfHighQualityIn, uQualityIn);
} }
else else
{ {
sleRippleState->makeIFieldAbsent(bFlipped ? sfLowQualityIn : sfHighQualityIn); sleRippleState->makeFieldAbsent(bFlipped ? sfLowQualityIn : sfHighQualityIn);
} }
if (!bQualityOut) if (!bQualityOut)
@@ -328,11 +328,11 @@ TER TransactionEngine::doCreditSet(const SerializedTransaction& txn)
} }
else if (uQualityOut) else if (uQualityOut)
{ {
sleRippleState->setIFieldU32(bFlipped ? sfLowQualityOut : sfHighQualityOut, uQualityOut); sleRippleState->setValueFieldU32(bFlipped ? sfLowQualityOut : sfHighQualityOut, uQualityOut);
} }
else else
{ {
sleRippleState->makeIFieldAbsent(bFlipped ? sfLowQualityOut : sfHighQualityOut); sleRippleState->makeFieldAbsent(bFlipped ? sfLowQualityOut : sfHighQualityOut);
} }
entryModify(sleRippleState); entryModify(sleRippleState);
@@ -354,14 +354,14 @@ TER TransactionEngine::doCreditSet(const SerializedTransaction& txn)
Log(lsINFO) << "doCreditSet: Creating ripple line: " << sleRippleState->getIndex().ToString(); Log(lsINFO) << "doCreditSet: Creating ripple line: " << sleRippleState->getIndex().ToString();
sleRippleState->setIFieldAmount(sfBalance, STAmount(uCurrencyID, ACCOUNT_ONE)); // Zero balance in currency. sleRippleState->setValueFieldAmount(sfBalance, STAmount(uCurrencyID, ACCOUNT_ONE)); // Zero balance in currency.
sleRippleState->setIFieldAmount(bFlipped ? sfHighLimit : sfLowLimit, saLimitAllow); sleRippleState->setValueFieldAmount(bFlipped ? sfHighLimit : sfLowLimit, saLimitAllow);
sleRippleState->setIFieldAmount(bFlipped ? sfLowLimit : sfHighLimit, STAmount(uCurrencyID, uDstAccountID)); sleRippleState->setValueFieldAmount(bFlipped ? sfLowLimit : sfHighLimit, STAmount(uCurrencyID, uDstAccountID));
if (uQualityIn) if (uQualityIn)
sleRippleState->setIFieldU32(bFlipped ? sfHighQualityIn : sfLowQualityIn, uQualityIn); sleRippleState->setValueFieldU32(bFlipped ? sfHighQualityIn : sfLowQualityIn, uQualityIn);
if (uQualityOut) if (uQualityOut)
sleRippleState->setIFieldU32(bFlipped ? sfHighQualityOut : sfLowQualityOut, uQualityOut); sleRippleState->setValueFieldU32(bFlipped ? sfHighQualityOut : sfLowQualityOut, uQualityOut);
uint64 uSrcRef; // Ignored, dirs never delete. uint64 uSrcRef; // Ignored, dirs never delete.
@@ -380,24 +380,24 @@ TER TransactionEngine::doNicknameSet(const SerializedTransaction& txn)
{ {
std::cerr << "doNicknameSet>" << std::endl; std::cerr << "doNicknameSet>" << std::endl;
const uint256 uNickname = txn.getITFieldH256(sfNickname); const uint256 uNickname = txn.getValueFieldH256(sfNickname);
const bool bMinOffer = txn.getITFieldPresent(sfMinimumOffer); const bool bMinOffer = txn.isFieldPresent(sfMinimumOffer);
const STAmount saMinOffer = bMinOffer ? txn.getITFieldAmount(sfAmount) : STAmount(); const STAmount saMinOffer = bMinOffer ? txn.getValueFieldAmount(sfAmount) : STAmount();
SLE::pointer sleNickname = entryCache(ltNICKNAME, uNickname); SLE::pointer sleNickname = entryCache(ltNICKNAME, uNickname);
if (sleNickname) if (sleNickname)
{ {
// Edit old entry. // Edit old entry.
sleNickname->setIFieldAccount(sfAccount, mTxnAccountID); sleNickname->setValueFieldAccount(sfAccount, mTxnAccountID);
if (bMinOffer && saMinOffer) if (bMinOffer && saMinOffer)
{ {
sleNickname->setIFieldAmount(sfMinimumOffer, saMinOffer); sleNickname->setValueFieldAmount(sfMinimumOffer, saMinOffer);
} }
else else
{ {
sleNickname->makeIFieldAbsent(sfMinimumOffer); sleNickname->makeFieldAbsent(sfMinimumOffer);
} }
entryModify(sleNickname); entryModify(sleNickname);
@@ -411,10 +411,10 @@ TER TransactionEngine::doNicknameSet(const SerializedTransaction& txn)
std::cerr << "doNicknameSet: Creating nickname node: " << sleNickname->getIndex().ToString() << std::endl; std::cerr << "doNicknameSet: Creating nickname node: " << sleNickname->getIndex().ToString() << std::endl;
sleNickname->setIFieldAccount(sfAccount, mTxnAccountID); sleNickname->setValueFieldAccount(sfAccount, mTxnAccountID);
if (bMinOffer && saMinOffer) if (bMinOffer && saMinOffer)
sleNickname->setIFieldAmount(sfMinimumOffer, saMinOffer); sleNickname->setValueFieldAmount(sfMinimumOffer, saMinOffer);
} }
std::cerr << "doNicknameSet<" << std::endl; std::cerr << "doNicknameSet<" << std::endl;
@@ -426,7 +426,7 @@ TER TransactionEngine::doPasswordFund(const SerializedTransaction& txn)
{ {
std::cerr << "doPasswordFund>" << std::endl; std::cerr << "doPasswordFund>" << std::endl;
const uint160 uDstAccountID = txn.getITFieldAccount(sfDestination); const uint160 uDstAccountID = txn.getValueFieldAccount160(sfDestination);
SLE::pointer sleDst = mTxnAccountID == uDstAccountID SLE::pointer sleDst = mTxnAccountID == uDstAccountID
? mTxnAccount ? mTxnAccount
: entryCache(ltACCOUNT_ROOT, Ledger::getAccountRootIndex(uDstAccountID)); : entryCache(ltACCOUNT_ROOT, Ledger::getAccountRootIndex(uDstAccountID));
@@ -486,11 +486,11 @@ TER TransactionEngine::doPayment(const SerializedTransaction& txn, const Transac
const bool bPartialPayment = isSetBit(uTxFlags, tfPartialPayment); const bool bPartialPayment = isSetBit(uTxFlags, tfPartialPayment);
const bool bLimitQuality = isSetBit(uTxFlags, tfLimitQuality); const bool bLimitQuality = isSetBit(uTxFlags, tfLimitQuality);
const bool bNoRippleDirect = isSetBit(uTxFlags, tfNoRippleDirect); const bool bNoRippleDirect = isSetBit(uTxFlags, tfNoRippleDirect);
const bool bPaths = txn.getITFieldPresent(sfPaths); const bool bPaths = txn.isFieldPresent(sfPaths);
const bool bMax = txn.getITFieldPresent(sfSendMax); const bool bMax = txn.isFieldPresent(sfSendMax);
const uint160 uDstAccountID = txn.getITFieldAccount(sfDestination); const uint160 uDstAccountID = txn.getValueFieldAccount160(sfDestination);
const STAmount saDstAmount = txn.getITFieldAmount(sfAmount); const STAmount saDstAmount = txn.getValueFieldAmount(sfAmount);
const STAmount saMaxAmount = bMax ? txn.getITFieldAmount(sfSendMax) : saDstAmount; const STAmount saMaxAmount = bMax ? txn.getValueFieldAmount(sfSendMax) : saDstAmount;
const uint160 uSrcCurrency = saMaxAmount.getCurrency(); const uint160 uSrcCurrency = saMaxAmount.getCurrency();
const uint160 uDstCurrency = saDstAmount.getCurrency(); const uint160 uDstCurrency = saDstAmount.getCurrency();
@@ -550,8 +550,8 @@ TER TransactionEngine::doPayment(const SerializedTransaction& txn, const Transac
// Create the account. // Create the account.
sleDst = entryCreate(ltACCOUNT_ROOT, Ledger::getAccountRootIndex(uDstAccountID)); sleDst = entryCreate(ltACCOUNT_ROOT, Ledger::getAccountRootIndex(uDstAccountID));
sleDst->setIFieldAccount(sfAccount, uDstAccountID); sleDst->setValueFieldAccount(sfAccount, uDstAccountID);
sleDst->setIFieldU32(sfSequence, 1); sleDst->setValueFieldU32(sfSequence, 1);
} }
else else
{ {
@@ -566,7 +566,7 @@ TER TransactionEngine::doPayment(const SerializedTransaction& txn, const Transac
{ {
// Ripple payment // Ripple payment
STPathSet spsPaths = txn.getITFieldPathSet(sfPaths); STPathSet spsPaths = txn.getValueFieldPathSet(sfPaths);
STAmount saMaxAmountAct; STAmount saMaxAmountAct;
STAmount saDstAmountAct; STAmount saDstAmountAct;
@@ -589,7 +589,7 @@ TER TransactionEngine::doPayment(const SerializedTransaction& txn, const Transac
{ {
// Direct XNS payment. // Direct XNS payment.
STAmount saSrcXNSBalance = mTxnAccount->getIValueFieldAmount(sfBalance); STAmount saSrcXNSBalance = mTxnAccount->getValueFieldAmount(sfBalance);
if (saSrcXNSBalance < saDstAmount) if (saSrcXNSBalance < saDstAmount)
{ {
@@ -600,8 +600,8 @@ TER TransactionEngine::doPayment(const SerializedTransaction& txn, const Transac
} }
else else
{ {
mTxnAccount->setIFieldAmount(sfBalance, saSrcXNSBalance - saDstAmount); mTxnAccount->setValueFieldAmount(sfBalance, saSrcXNSBalance - saDstAmount);
sleDst->setIFieldAmount(sfBalance, sleDst->getIValueFieldAmount(sfBalance) + saDstAmount); sleDst->setValueFieldAmount(sfBalance, sleDst->getValueFieldAmount(sfBalance) + saDstAmount);
terResult = tesSUCCESS; terResult = tesSUCCESS;
} }
@@ -626,9 +626,9 @@ TER TransactionEngine::doWalletAdd(const SerializedTransaction& txn)
{ {
std::cerr << "WalletAdd>" << std::endl; std::cerr << "WalletAdd>" << std::endl;
const std::vector<unsigned char> vucPubKey = txn.getITFieldVL(sfPublicKey); const std::vector<unsigned char> vucPubKey = txn.getValueFieldVL(sfPublicKey);
const std::vector<unsigned char> vucSignature = txn.getITFieldVL(sfSignature); const std::vector<unsigned char> vucSignature = txn.getValueFieldVL(sfSignature);
const uint160 uAuthKeyID = txn.getITFieldAccount(sfAuthorizedKey); const uint160 uAuthKeyID = txn.getValueFieldAccount160(sfAuthorizedKey);
const NewcoinAddress naMasterPubKey = NewcoinAddress::createAccountPublic(vucPubKey); const NewcoinAddress naMasterPubKey = NewcoinAddress::createAccountPublic(vucPubKey);
const uint160 uDstAccountID = naMasterPubKey.getAccountID(); const uint160 uDstAccountID = naMasterPubKey.getAccountID();
@@ -648,8 +648,8 @@ TER TransactionEngine::doWalletAdd(const SerializedTransaction& txn)
return tefCREATED; return tefCREATED;
} }
STAmount saAmount = txn.getITFieldAmount(sfAmount); STAmount saAmount = txn.getValueFieldAmount(sfAmount);
STAmount saSrcBalance = mTxnAccount->getIValueFieldAmount(sfBalance); STAmount saSrcBalance = mTxnAccount->getValueFieldAmount(sfBalance);
if (saSrcBalance < saAmount) if (saSrcBalance < saAmount)
{ {
@@ -663,15 +663,15 @@ TER TransactionEngine::doWalletAdd(const SerializedTransaction& txn)
} }
// Deduct initial balance from source account. // Deduct initial balance from source account.
mTxnAccount->setIFieldAmount(sfBalance, saSrcBalance-saAmount); mTxnAccount->setValueFieldAmount(sfBalance, saSrcBalance-saAmount);
// Create the account. // Create the account.
sleDst = entryCreate(ltACCOUNT_ROOT, Ledger::getAccountRootIndex(uDstAccountID)); sleDst = entryCreate(ltACCOUNT_ROOT, Ledger::getAccountRootIndex(uDstAccountID));
sleDst->setIFieldAccount(sfAccount, uDstAccountID); sleDst->setValueFieldAccount(sfAccount, uDstAccountID);
sleDst->setIFieldU32(sfSequence, 1); sleDst->setValueFieldU32(sfSequence, 1);
sleDst->setIFieldAmount(sfBalance, saAmount); sleDst->setValueFieldAmount(sfBalance, saAmount);
sleDst->setIFieldAccount(sfAuthorizedKey, uAuthKeyID); sleDst->setValueFieldAccount(sfAuthorizedKey, uAuthKeyID);
std::cerr << "WalletAdd<" << std::endl; std::cerr << "WalletAdd<" << std::endl;
@@ -770,11 +770,11 @@ TER TransactionEngine::takeOffers(
Log(lsINFO) << "takeOffers: considering offer : " << sleOffer->getJson(0); Log(lsINFO) << "takeOffers: considering offer : " << sleOffer->getJson(0);
const uint160 uOfferOwnerID = sleOffer->getIValueFieldAccount(sfAccount).getAccountID(); const uint160 uOfferOwnerID = sleOffer->getValueFieldAccount(sfAccount).getAccountID();
STAmount saOfferPays = sleOffer->getIValueFieldAmount(sfTakerGets); STAmount saOfferPays = sleOffer->getValueFieldAmount(sfTakerGets);
STAmount saOfferGets = sleOffer->getIValueFieldAmount(sfTakerPays); STAmount saOfferGets = sleOffer->getValueFieldAmount(sfTakerPays);
if (sleOffer->getIFieldPresent(sfExpiration) && sleOffer->getIFieldU32(sfExpiration) <= mLedger->getParentCloseTimeNC()) if (sleOffer->isFieldPresent(sfExpiration) && sleOffer->getValueFieldU32(sfExpiration) <= mLedger->getParentCloseTimeNC())
{ {
// Offer is expired. Expired offers are considered unfunded. Delete it. // Offer is expired. Expired offers are considered unfunded. Delete it.
Log(lsINFO) << "takeOffers: encountered expired offer"; Log(lsINFO) << "takeOffers: encountered expired offer";
@@ -849,10 +849,10 @@ TER TransactionEngine::takeOffers(
// Adjust offer // Adjust offer
// Offer owner will pay less. Subtract what taker just got. // Offer owner will pay less. Subtract what taker just got.
sleOffer->setIFieldAmount(sfTakerGets, saOfferPays -= saSubTakerGot); sleOffer->setValueFieldAmount(sfTakerGets, saOfferPays -= saSubTakerGot);
// Offer owner will get less. Subtract what owner just paid. // Offer owner will get less. Subtract what owner just paid.
sleOffer->setIFieldAmount(sfTakerPays, saOfferGets -= saSubTakerPaid); sleOffer->setValueFieldAmount(sfTakerPays, saOfferGets -= saSubTakerPaid);
entryModify(sleOffer); entryModify(sleOffer);
@@ -919,8 +919,8 @@ TER TransactionEngine::doOfferCreate(const SerializedTransaction& txn)
Log(lsWARNING) << "doOfferCreate> " << txn.getJson(0); Log(lsWARNING) << "doOfferCreate> " << txn.getJson(0);
const uint32 txFlags = txn.getFlags(); const uint32 txFlags = txn.getFlags();
const bool bPassive = isSetBit(txFlags, tfPassive); const bool bPassive = isSetBit(txFlags, tfPassive);
STAmount saTakerPays = txn.getITFieldAmount(sfTakerPays); STAmount saTakerPays = txn.getValueFieldAmount(sfTakerPays);
STAmount saTakerGets = txn.getITFieldAmount(sfTakerGets); STAmount saTakerGets = txn.getValueFieldAmount(sfTakerGets);
Log(lsINFO) << boost::str(boost::format("doOfferCreate: saTakerPays=%s saTakerGets=%s") Log(lsINFO) << boost::str(boost::format("doOfferCreate: saTakerPays=%s saTakerGets=%s")
% saTakerPays.getFullText() % saTakerPays.getFullText()
@@ -928,8 +928,8 @@ Log(lsINFO) << boost::str(boost::format("doOfferCreate: saTakerPays=%s saTakerGe
const uint160 uPaysIssuerID = saTakerPays.getIssuer(); const uint160 uPaysIssuerID = saTakerPays.getIssuer();
const uint160 uGetsIssuerID = saTakerGets.getIssuer(); const uint160 uGetsIssuerID = saTakerGets.getIssuer();
const uint32 uExpiration = txn.getITFieldU32(sfExpiration); const uint32 uExpiration = txn.getValueFieldU32(sfExpiration);
const bool bHaveExpiration = txn.getITFieldPresent(sfExpiration); const bool bHaveExpiration = txn.isFieldPresent(sfExpiration);
const uint32 uSequence = txn.getSequence(); const uint32 uSequence = txn.getSequence();
const uint256 uLedgerIndex = Ledger::getOfferIndex(mTxnAccountID, uSequence); const uint256 uLedgerIndex = Ledger::getOfferIndex(mTxnAccountID, uSequence);
@@ -1090,16 +1090,16 @@ Log(lsINFO) << boost::str(boost::format("doOfferCreate: saTakerPays=%s saTakerGe
Log(lsWARNING) << "doOfferCreate: uPaysCurrency=" << saTakerPays.getHumanCurrency(); Log(lsWARNING) << "doOfferCreate: uPaysCurrency=" << saTakerPays.getHumanCurrency();
Log(lsWARNING) << "doOfferCreate: uGetsCurrency=" << saTakerGets.getHumanCurrency(); Log(lsWARNING) << "doOfferCreate: uGetsCurrency=" << saTakerGets.getHumanCurrency();
sleOffer->setIFieldAccount(sfAccount, mTxnAccountID); sleOffer->setValueFieldAccount(sfAccount, mTxnAccountID);
sleOffer->setIFieldU32(sfSequence, uSequence); sleOffer->setValueFieldU32(sfSequence, uSequence);
sleOffer->setIFieldH256(sfBookDirectory, uDirectory); sleOffer->setValueFieldH256(sfBookDirectory, uDirectory);
sleOffer->setIFieldAmount(sfTakerPays, saTakerPays); sleOffer->setValueFieldAmount(sfTakerPays, saTakerPays);
sleOffer->setIFieldAmount(sfTakerGets, saTakerGets); sleOffer->setValueFieldAmount(sfTakerGets, saTakerGets);
sleOffer->setIFieldU64(sfOwnerNode, uOwnerNode); sleOffer->setValueFieldU64(sfOwnerNode, uOwnerNode);
sleOffer->setIFieldU64(sfBookNode, uBookNode); sleOffer->setValueFieldU64(sfBookNode, uBookNode);
if (uExpiration) if (uExpiration)
sleOffer->setIFieldU32(sfExpiration, uExpiration); sleOffer->setValueFieldU32(sfExpiration, uExpiration);
if (bPassive) if (bPassive)
sleOffer->setFlag(lsfPassive); sleOffer->setFlag(lsfPassive);
@@ -1114,7 +1114,7 @@ Log(lsINFO) << boost::str(boost::format("doOfferCreate: saTakerPays=%s saTakerGe
TER TransactionEngine::doOfferCancel(const SerializedTransaction& txn) TER TransactionEngine::doOfferCancel(const SerializedTransaction& txn)
{ {
TER terResult; TER terResult;
const uint32 uSequence = txn.getITFieldU32(sfOfferSequence); const uint32 uSequence = txn.getValueFieldU32(sfOfferSequence);
const uint256 uOfferIndex = Ledger::getOfferIndex(mTxnAccountID, uSequence); const uint256 uOfferIndex = Ledger::getOfferIndex(mTxnAccountID, uSequence);
SLE::pointer sleOffer = entryCache(ltOFFER, uOfferIndex); SLE::pointer sleOffer = entryCache(ltOFFER, uOfferIndex);
@@ -1141,14 +1141,14 @@ TER TransactionEngine::doContractAdd(const SerializedTransaction& txn)
{ {
Log(lsWARNING) << "doContractAdd> " << txn.getJson(0); Log(lsWARNING) << "doContractAdd> " << txn.getJson(0);
const uint32 expiration = txn.getITFieldU32(sfExpiration); const uint32 expiration = txn.getValueFieldU32(sfExpiration);
// const uint32 bondAmount = txn.getITFieldU32(sfBondAmount); // const uint32 bondAmount = txn.getValueFieldU32(sfBondAmount);
// const uint32 stampEscrow = txn.getITFieldU32(sfStampEscrow); // const uint32 stampEscrow = txn.getValueFieldU32(sfStampEscrow);
STAmount rippleEscrow = txn.getITFieldAmount(sfRippleEscrow); STAmount rippleEscrow = txn.getValueFieldAmount(sfRippleEscrow);
std::vector<unsigned char> createCode = txn.getITFieldVL(sfCreateCode); std::vector<unsigned char> createCode = txn.getValueFieldVL(sfCreateCode);
std::vector<unsigned char> fundCode = txn.getITFieldVL(sfFundCode); std::vector<unsigned char> fundCode = txn.getValueFieldVL(sfFundCode);
std::vector<unsigned char> removeCode = txn.getITFieldVL(sfRemoveCode); std::vector<unsigned char> removeCode = txn.getValueFieldVL(sfRemoveCode);
std::vector<unsigned char> expireCode = txn.getITFieldVL(sfExpireCode); std::vector<unsigned char> expireCode = txn.getValueFieldVL(sfExpireCode);
// make sure // make sure
// expiration hasn't passed // expiration hasn't passed

View File

@@ -136,7 +136,7 @@ TER TransactionEngine::applyTransaction(const SerializedTransaction& txn, Transa
case ttNICKNAME_SET: case ttNICKNAME_SET:
{ {
SLE::pointer sleNickname = entryCache(ltNICKNAME, txn.getITFieldH256(sfNickname)); SLE::pointer sleNickname = entryCache(ltNICKNAME, txn.getValueFieldH256(sfNickname));
if (!sleNickname) if (!sleNickname)
saCost = theConfig.FEE_NICKNAME_CREATE; saCost = theConfig.FEE_NICKNAME_CREATE;
@@ -222,8 +222,8 @@ TER TransactionEngine::applyTransaction(const SerializedTransaction& txn, Transa
} }
else else
{ {
saSrcBalance = mTxnAccount->getIValueFieldAmount(sfBalance); saSrcBalance = mTxnAccount->getValueFieldAmount(sfBalance);
bHaveAuthKey = mTxnAccount->getIFieldPresent(sfAuthorizedKey); bHaveAuthKey = mTxnAccount->isFieldPresent(sfAuthorizedKey);
} }
// Check if account claimed. // Check if account claimed.
@@ -279,7 +279,7 @@ TER TransactionEngine::applyTransaction(const SerializedTransaction& txn, Transa
default: default:
// Verify the transaction's signing public key is the key authorized for signing. // Verify the transaction's signing public key is the key authorized for signing.
if (bHaveAuthKey && naSigningPubKey.getAccountID() == mTxnAccount->getIValueFieldAccount(sfAuthorizedKey).getAccountID()) if (bHaveAuthKey && naSigningPubKey.getAccountID() == mTxnAccount->getValueFieldAccount(sfAuthorizedKey).getAccountID())
{ {
// Authorized to continue. // Authorized to continue.
nothing(); nothing();
@@ -322,7 +322,7 @@ TER TransactionEngine::applyTransaction(const SerializedTransaction& txn, Transa
} }
else else
{ {
mTxnAccount->setIFieldAmount(sfBalance, saSrcBalance - saPaid); mTxnAccount->setValueFieldAmount(sfBalance, saSrcBalance - saPaid);
} }
// Validate sequence // Validate sequence
@@ -332,7 +332,7 @@ TER TransactionEngine::applyTransaction(const SerializedTransaction& txn, Transa
} }
else if (saCost) else if (saCost)
{ {
uint32 a_seq = mTxnAccount->getIFieldU32(sfSequence); uint32 a_seq = mTxnAccount->getValueFieldU32(sfSequence);
Log(lsTRACE) << "Aseq=" << a_seq << ", Tseq=" << t_seq; Log(lsTRACE) << "Aseq=" << a_seq << ", Tseq=" << t_seq;
@@ -359,7 +359,7 @@ TER TransactionEngine::applyTransaction(const SerializedTransaction& txn, Transa
} }
else else
{ {
mTxnAccount->setIFieldU32(sfSequence, t_seq + 1); mTxnAccount->setValueFieldU32(sfSequence, t_seq + 1);
} }
} }
else else