mirror of
https://github.com/XRPLF/rippled.git
synced 2025-12-06 17:27:55 +00:00
Bugfixes.
This commit is contained in:
@@ -129,17 +129,23 @@ void Application::run()
|
||||
Log(lsINFO) << "Root master seed: " << rootSeedMaster.humanSeed();
|
||||
Log(lsINFO) << "Root account: " << rootAddress.humanAccountID();
|
||||
|
||||
Ledger::pointer firstLedger = boost::make_shared<Ledger>(rootAddress, SYSTEM_CURRENCY_START);
|
||||
assert(!!firstLedger->getAccountState(rootAddress));
|
||||
firstLedger->updateHash();
|
||||
firstLedger->setClosed();
|
||||
firstLedger->setAccepted();
|
||||
mMasterLedger.pushLedger(firstLedger);
|
||||
{
|
||||
Ledger::pointer ledger = boost::make_shared<Ledger>(rootAddress, SYSTEM_CURRENCY_START);
|
||||
assert(!!ledger->getAccountState(rootAddress));
|
||||
ledger->updateHash();
|
||||
ledger->setClosed();
|
||||
ledger->setAccepted();
|
||||
mMasterLedger.pushLedger(ledger);
|
||||
|
||||
Ledger::pointer secondLedger = boost::make_shared<Ledger>(true, boost::ref(*firstLedger));
|
||||
mMasterLedger.pushLedger(secondLedger);
|
||||
assert(!!secondLedger->getAccountState(rootAddress));
|
||||
// temporary
|
||||
for (int i = 0; i < 2; ++i)
|
||||
{
|
||||
ledger = boost::make_shared<Ledger>(true, boost::ref(*ledger));
|
||||
ledger->setClosed();
|
||||
ledger->setAccepted();
|
||||
mMasterLedger.pushLedger(ledger);
|
||||
assert(!!secondLedger->getAccountState(rootAddress));
|
||||
}
|
||||
}
|
||||
|
||||
mNetOps.setStateTimer();
|
||||
|
||||
|
||||
@@ -59,13 +59,23 @@ Ledger::Ledger(Ledger& ledger, bool isMutable) : mTotCoins(ledger.mTotCoins), mL
|
||||
|
||||
Ledger::Ledger(bool dummy, Ledger& prevLedger) :
|
||||
mTotCoins(prevLedger.mTotCoins), mLedgerSeq(prevLedger.mLedgerSeq + 1),
|
||||
mCloseTime(0), mParentCloseTime(prevLedger.mCloseTime), mCloseResolution(prevLedger.mCloseResolution),
|
||||
mParentCloseTime(prevLedger.mCloseTime), mCloseResolution(prevLedger.mCloseResolution),
|
||||
mCloseFlags(0), mClosed(false), mValidHash(false), mAccepted(false), mImmutable(false),
|
||||
mTransactionMap(new SHAMap()), mAccountStateMap(prevLedger.mAccountStateMap->snapShot(true))
|
||||
{ // Create a new ledger that follows this one
|
||||
prevLedger.updateHash();
|
||||
mParentHash = prevLedger.getHash();
|
||||
assert(mParentHash.isNonZero());
|
||||
|
||||
mCloseResolution = ContinuousLedgerTiming::getNextLedgerTimeResolution(prevLedger.mCloseResolution,
|
||||
prevLedger.getCloseAgree(), mLedgerSeq);
|
||||
if (prevLedger.mCloseTime == 0)
|
||||
{
|
||||
mCloseTime = theApp->getOPs().getNetworkTimeNC();
|
||||
mCloseTime -= (mCloseTime % mCloseResolution);
|
||||
}
|
||||
else
|
||||
mCloseTime = prevLedger.mCloseTime + mCloseResolution;
|
||||
}
|
||||
|
||||
Ledger::Ledger(const std::vector<unsigned char>& rawLedger) :
|
||||
@@ -142,7 +152,7 @@ void Ledger::setAccepted(uint32 closeTime, int closeResolution, bool correctClos
|
||||
|
||||
void Ledger::setAccepted()
|
||||
{ // used when we acquired the ledger
|
||||
assert(mClosed && !mAccepted && (mCloseResolution != 0));
|
||||
assert(mClosed && !mAccepted && (mCloseResolution != 0) && (mCloseResolution != 0));
|
||||
updateHash();
|
||||
mAccepted = true;
|
||||
mImmutable = true;
|
||||
|
||||
@@ -310,7 +310,7 @@ void NetworkOPs::checkState(const boost::system::error_code& result)
|
||||
(theApp->getMasterLedger().getCurrentLedger()->getCloseTimeNC() + 4))
|
||||
setMode(omFULL);
|
||||
else
|
||||
Log(lsWARNING) << "Too late to go to full, will try in consensus window";
|
||||
Log(lsINFO) << "Will try to go to FULL in consensus window";
|
||||
}
|
||||
|
||||
if (mMode == omFULL)
|
||||
|
||||
Reference in New Issue
Block a user