Rework Ledger index calculation.

This commit is contained in:
Arthur Britto
2012-05-31 20:26:14 -07:00
parent e10505d2a7
commit a0009f7c6f
8 changed files with 66 additions and 47 deletions

View File

@@ -1,6 +1,16 @@
#include "Ledger.h"
uint256 Ledger::getAccountRootIndex(const uint160& uAccountID)
{
Serializer s;
s.add8(spaceAccount);
s.add160(uAccountID);
return s.getSHA512Half();
}
uint256 Ledger::getRippleStateIndex(const NewcoinAddress& naA, const NewcoinAddress& naB, const uint160& uCurrency)
{
uint160 uAID = naA.getAccountID();
@@ -8,6 +18,7 @@ uint256 Ledger::getRippleStateIndex(const NewcoinAddress& naA, const NewcoinAddr
bool bAltB = uAID < uBID;
Serializer s;
s.add8(spaceRipple);
s.add160(bAltB ? uAID : uBID);
s.add160(bAltB ? uBID : uAID);
s.add160(uCurrency);
@@ -15,6 +26,26 @@ uint256 Ledger::getRippleStateIndex(const NewcoinAddress& naA, const NewcoinAddr
return s.getSHA512Half();
}
uint256 Ledger::getRippleDirIndex(const uint160& uAccountID)
{
Serializer s;
s.add8(spaceRippleDir);
s.add160(uAccountID);
return s.getSHA512Half();
}
uint256 Ledger::getGeneratorIndex(const uint160& uGeneratorID)
{
Serializer s;
s.add8(spaceGenerator);
s.add160(uGeneratorID);
return s.getSHA512Half();
}
uint160 Ledger::getOfferBase(const uint160& currencyIn, const uint160& accountIn,
const uint160& currencyOut, const uint160& accountOut)
{