remove XRP_LEDGER_EARLIEST_FEES, return defaultAmendmentTime to 5 days, other fixes

This commit is contained in:
Richard Holland
2023-09-24 09:49:09 +00:00
parent 401a666f4d
commit 2aae0b667c
9 changed files with 24 additions and 51 deletions

View File

@@ -1113,9 +1113,7 @@ finishLoadByIndexOrHash(
if (!ledger)
return;
assert(
ledger->info().seq < XRP_LEDGER_EARLIEST_FEES ||
ledger->read(keylet::fees()));
assert(ledger->read(keylet::fees()));
ledger->setImmutable();
JLOG(j.trace()) << "Loaded ledger: " << to_string(ledger->info().hash);

View File

@@ -75,9 +75,7 @@ buildLedgerImpl(
built->unshare();
// Accept ledger
assert(
built->info().seq < XRP_LEDGER_EARLIEST_FEES ||
built->read(keylet::fees()));
assert(built->read(keylet::fees()));
built->setAccepted(closeTime, closeResolution, closeTimeCorrect);
return built;

View File

@@ -155,9 +155,7 @@ InboundLedger::init(ScopedLockType& collectionLock)
JLOG(journal_.debug()) << "Acquiring ledger we already have in "
<< " local store. " << hash_;
assert(
mLedger->info().seq < XRP_LEDGER_EARLIEST_FEES ||
mLedger->read(keylet::fees()));
assert(mLedger->read(keylet::fees()));
mLedger->setImmutable();
if (mReason == Reason::HISTORY || mReason == Reason::SHARD)
@@ -419,9 +417,7 @@ InboundLedger::tryDB(NodeStore::Database& srcDB)
{
JLOG(journal_.debug()) << "Had everything locally";
complete_ = true;
assert(
mLedger->info().seq < XRP_LEDGER_EARLIEST_FEES ||
mLedger->read(keylet::fees()));
assert(mLedger->read(keylet::fees()));
mLedger->setImmutable();
}
}
@@ -519,9 +515,7 @@ InboundLedger::done()
if (complete_ && !failed_ && mLedger)
{
assert(
mLedger->info().seq < XRP_LEDGER_EARLIEST_FEES ||
mLedger->read(keylet::fees()));
assert(mLedger->read(keylet::fees()));
mLedger->setImmutable();
switch (mReason)
{

View File

@@ -1721,9 +1721,7 @@ ApplicationImp::startGenesisLedger()
auto const next =
std::make_shared<Ledger>(*genesis, timeKeeper().closeTime());
next->updateSkipList();
assert(
next->info().seq < XRP_LEDGER_EARLIEST_FEES ||
next->read(keylet::fees()));
assert(next->read(keylet::fees()));
next->setImmutable();
openLedger_.emplace(next, cachedSLEs_, logs_->journal("OpenLedger"));
m_ledgerMaster->storeLedger(next);
@@ -1742,9 +1740,7 @@ ApplicationImp::getLastFullLedger()
if (!ledger)
return ledger;
assert(
ledger->info().seq < XRP_LEDGER_EARLIEST_FEES ||
ledger->read(keylet::fees()));
assert(ledger->read(keylet::fees()));
ledger->setImmutable();
if (getLedgerMaster().haveLedger(seq))
@@ -1896,9 +1892,7 @@ ApplicationImp::loadLedgerFromFile(std::string const& name)
loadLedger->stateMap().flushDirty(hotACCOUNT_NODE);
assert(
loadLedger->info().seq < XRP_LEDGER_EARLIEST_FEES ||
loadLedger->read(keylet::fees()));
assert(loadLedger->read(keylet::fees()));
loadLedger->setAccepted(
closeTime, closeTimeResolution, !closeTimeEstimated);
@@ -2026,9 +2020,7 @@ ApplicationImp::loadLedgerFromJson(std::string const& jsonValue)
loadLedger->stateMap().flushDirty(hotACCOUNT_NODE);
assert(
loadLedger->info().seq < XRP_LEDGER_EARLIEST_FEES ||
loadLedger->read(keylet::fees()));
assert(loadLedger->read(keylet::fees()));
loadLedger->setAccepted(
closeTime, closeTimeResolution, !closeTimeEstimated);

View File

@@ -189,9 +189,7 @@ ReportingETL::flushLedger(std::shared_ptr<Ledger>& ledger)
auto& txHash = ledger->info().txHash;
auto& ledgerHash = ledger->info().hash;
assert(
ledger->info().seq < XRP_LEDGER_EARLIEST_FEES ||
ledger->read(keylet::fees()));
assert(ledger->read(keylet::fees()));
ledger->setImmutable(false);
auto start = std::chrono::system_clock::now();

View File

@@ -137,8 +137,8 @@ SetTrust::preclaim(PreclaimContext const& ctx)
if (!sleDst)
return tecNO_DST;
auto const dstFlags = sleDst->getFlags();
if (dstFlags & lsfDisallowIncomingTrustline)
if ((sleDst->getFlags() & lsfDisallowIncomingTrustline) &&
!ctx.view.exists(keylet::line(id, uDstAccountID, currency)))
return tecNO_PERMISSION;
}

View File

@@ -688,9 +688,7 @@ Shard::finalize(bool writeSQLite, std::optional<uint256> const& referenceHash)
ledger->stateMap().setLedgerSeq(ledgerSeq);
ledger->txMap().setLedgerSeq(ledgerSeq);
assert(
ledger->info().seq < XRP_LEDGER_EARLIEST_FEES ||
ledger->read(keylet::fees()));
assert(ledger->read(keylet::fees()));
ledger->setImmutable();
if (!ledger->stateMap().fetchRoot(
SHAMapHash{ledger->info().accountHash}, nullptr))

View File

@@ -68,10 +68,6 @@ systemCurrencyCode()
/** The XRP ledger network's earliest allowed sequence */
static constexpr std::uint32_t XRP_LEDGER_EARLIEST_SEQ{1U};
/** The XRP Ledger mainnet's earliest ledger with a FeeSettings object. Only
* used in asserts and tests. */
static constexpr std::uint32_t XRP_LEDGER_EARLIEST_FEES{1u};
/** The number of ledgers in a shard */
static constexpr std::uint32_t DEFAULT_LEDGERS_PER_SHARD{16384u};
@@ -85,8 +81,7 @@ constexpr std::ratio<204, 256> preFixAmendmentMajorityCalcThreshold;
constexpr std::ratio<80, 100> postFixAmendmentMajorityCalcThreshold;
/** The minimum amount of time an amendment must hold a majority */
constexpr std::chrono::seconds const defaultAmendmentMajorityTime = std::chrono::seconds{16};
//days{5};
constexpr std::chrono::seconds const defaultAmendmentMajorityTime = std::chrono::days{5};
} // namespace ripple

View File

@@ -411,6 +411,7 @@ name.
// All known amendments must be registered either here or below with the
// "retired" amendments
REGISTER_FEATURE(OwnerPaysFee, Supported::no, VoteBehavior::DefaultNo);
REGISTER_FIX (fixTrustLinesToSelf, Supported::no, VoteBehavior::DefaultNo);
REGISTER_FEATURE(Flow, Supported::yes, VoteBehavior::DefaultYes);
REGISTER_FEATURE(FlowCross, Supported::yes, VoteBehavior::DefaultYes);
REGISTER_FIX (fix1513, Supported::yes, VoteBehavior::DefaultYes);
@@ -441,14 +442,13 @@ REGISTER_FEATURE(TicketBatch, Supported::yes, VoteBehavior::De
REGISTER_FEATURE(FlowSortStrands, Supported::yes, VoteBehavior::DefaultYes);
REGISTER_FIX (fixSTAmountCanonicalize, Supported::yes, VoteBehavior::DefaultYes);
REGISTER_FIX (fixRmSmallIncreasedQOffers, Supported::yes, VoteBehavior::DefaultYes);
REGISTER_FEATURE(CheckCashMakesTrustLine, Supported::yes, VoteBehavior::DefaultNo);
REGISTER_FEATURE(ExpandedSignerList, Supported::yes, VoteBehavior::DefaultNo);
REGISTER_FEATURE(CheckCashMakesTrustLine, Supported::yes, VoteBehavior::DefaultYes);
REGISTER_FEATURE(ExpandedSignerList, Supported::yes, VoteBehavior::DefaultYes);
REGISTER_FEATURE(NonFungibleTokensV1_1, Supported::yes, VoteBehavior::DefaultNo);
REGISTER_FIX (fixTrustLinesToSelf, Supported::yes, VoteBehavior::DefaultNo);
REGISTER_FIX (fixRemoveNFTokenAutoTrustLine, Supported::yes, VoteBehavior::DefaultYes);
REGISTER_FEATURE(ImmediateOfferKilled, Supported::yes, VoteBehavior::DefaultNo);
REGISTER_FEATURE(DisallowIncoming, Supported::yes, VoteBehavior::DefaultNo);
REGISTER_FEATURE(XRPFees, Supported::yes, VoteBehavior::DefaultNo);
REGISTER_FIX (fixRemoveNFTokenAutoTrustLine, Supported::yes, VoteBehavior::DefaultNo);
REGISTER_FEATURE(ImmediateOfferKilled, Supported::yes, VoteBehavior::DefaultYes);
REGISTER_FEATURE(DisallowIncoming, Supported::yes, VoteBehavior::DefaultYes);
REGISTER_FEATURE(XRPFees, Supported::yes, VoteBehavior::DefaultYes);
REGISTER_FIX (fixUniversalNumber, Supported::yes, VoteBehavior::DefaultNo);
REGISTER_FIX (fixNonFungibleTokensV1_2, Supported::yes, VoteBehavior::DefaultNo);
REGISTER_FIX (fixNFTokenRemint, Supported::yes, VoteBehavior::DefaultNo);
@@ -456,9 +456,9 @@ REGISTER_FEATURE(Hooks, Supported::yes, VoteBehavior::De
REGISTER_FEATURE(BalanceRewards, Supported::yes, VoteBehavior::DefaultYes);
REGISTER_FEATURE(PaychanAndEscrowForTokens, Supported::yes, VoteBehavior::DefaultYes);
REGISTER_FEATURE(URIToken, Supported::yes, VoteBehavior::DefaultYes);
REGISTER_FEATURE(Import, Supported::yes, VoteBehavior::DefaultNo);
REGISTER_FEATURE(XahauGenesis, Supported::yes, VoteBehavior::DefaultNo);
REGISTER_FEATURE(HooksUpdate1, Supported::yes, VoteBehavior::DefaultNo);
REGISTER_FEATURE(Import, Supported::yes, VoteBehavior::DefaultYes);
REGISTER_FEATURE(XahauGenesis, Supported::yes, VoteBehavior::DefaultYes);
REGISTER_FEATURE(HooksUpdate1, Supported::yes, VoteBehavior::DefaultYes);
// The following amendments are obsolete, but must remain supported