mirror of
https://github.com/Xahau/xahaud.git
synced 2026-06-02 08:16:42 +00:00
allow deletable accounts but make importsequence on accountroot a blocker
This commit is contained in:
@@ -36,9 +36,6 @@ namespace ripple {
|
||||
NotTEC
|
||||
DeleteAccount::preflight(PreflightContext const& ctx)
|
||||
{
|
||||
if (ctx.rules.enabled(featureXahauGenesis))
|
||||
return temDISABLED;
|
||||
|
||||
if (!ctx.rules.enabled(featureDeletableAccounts))
|
||||
return temDISABLED;
|
||||
|
||||
@@ -204,6 +201,10 @@ DeleteAccount::preclaim(PreclaimContext const& ctx)
|
||||
if (!sleDst)
|
||||
return tecNO_DST;
|
||||
|
||||
// accounts created via Import are blocked from deletion
|
||||
if (sleDst->isFieldPresent(sfImportSequence))
|
||||
return tecHAS_OBLIGATIONS;
|
||||
|
||||
if ((*sleDst)[sfFlags] & lsfRequireDestTag && !ctx.tx[~sfDestinationTag])
|
||||
return tecDST_TAG_NEEDED;
|
||||
|
||||
|
||||
@@ -180,8 +180,6 @@ GenesisMint::doApply()
|
||||
// Create the account.
|
||||
std::uint32_t const seqno{
|
||||
view().rules().enabled(featureDeletableAccounts)
|
||||
// RH NOTE: this condition is impossible, but left for completeness and consistency with other
|
||||
// code, and defensively against future changes.
|
||||
? view().seq()
|
||||
: 1};
|
||||
|
||||
|
||||
@@ -429,7 +429,7 @@ REGISTER_FIX (fixTakerDryOfferRemoval, Supported::yes, VoteBehavior::De
|
||||
REGISTER_FIX (fixMasterKeyAsRegularKey, Supported::yes, VoteBehavior::DefaultYes);
|
||||
REGISTER_FIX (fixCheckThreading, Supported::yes, VoteBehavior::DefaultYes);
|
||||
REGISTER_FIX (fixPayChanRecipientOwnerDir, Supported::yes, VoteBehavior::DefaultYes);
|
||||
REGISTER_FEATURE(DeletableAccounts, Supported::yes, VoteBehavior::DefaultYes);
|
||||
REGISTER_FEATURE(DeletableAccounts, Supported::yes, VoteBehavior::DefaultNo);
|
||||
// fixQualityUpperBound should be activated before FlowCross
|
||||
REGISTER_FIX (fixQualityUpperBound, Supported::yes, VoteBehavior::DefaultYes);
|
||||
REGISTER_FEATURE(RequireFullyCanonicalSig, Supported::yes, VoteBehavior::DefaultYes);
|
||||
|
||||
@@ -54,10 +54,6 @@ public:
|
||||
bool
|
||||
enabled(uint256 const& feature) const
|
||||
{
|
||||
if (feature == featureDeletableAccounts &&
|
||||
(presets_.count(featureXahauGenesis) > 0 || set_.count(featureXahauGenesis)))
|
||||
return false;
|
||||
|
||||
if (presets_.count(feature) > 0)
|
||||
return true;
|
||||
return set_.count(feature) > 0;
|
||||
|
||||
@@ -942,7 +942,7 @@ public:
|
||||
|
||||
using namespace test::jtx;
|
||||
auto const sa = supported_amendments();
|
||||
testWithFeatures(sa - featureXahauGenesis);
|
||||
testWithFeatures(sa);
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
@@ -5206,7 +5206,7 @@ class Offer_manual_test : public Offer_test
|
||||
run() override
|
||||
{
|
||||
using namespace jtx;
|
||||
FeatureBitset const all{supported_amendments()};
|
||||
FeatureBitset const all{supported_amendments() - featureXahauGenesis};
|
||||
FeatureBitset const flowCross{featureFlowCross};
|
||||
FeatureBitset const f1513{fix1513};
|
||||
FeatureBitset const immediateOfferKilled{featureImmediateOfferKilled};
|
||||
|
||||
Reference in New Issue
Block a user