@@ -308,70 +308,20 @@ foreachFeature(FeatureBitset bs, F&& f)
308
308
f (bitsetIndexToFeature (i));
309
309
}
310
310
311
- extern uint256 const featureOwnerPaysFee;
312
- extern uint256 const featureFlow;
313
- extern uint256 const featureFlowCross;
314
- extern uint256 const featureCryptoConditionsSuite;
315
- extern uint256 const fix1513;
316
- extern uint256 const featureDepositAuth;
317
- extern uint256 const featureChecks;
318
- extern uint256 const fix1571;
319
- extern uint256 const fix1543;
320
- extern uint256 const fix1623;
321
- extern uint256 const featureDepositPreauth;
322
- extern uint256 const fix1515;
323
- extern uint256 const fix1578;
324
- extern uint256 const featureMultiSignReserve;
325
- extern uint256 const fixTakerDryOfferRemoval;
326
- extern uint256 const fixMasterKeyAsRegularKey;
327
- extern uint256 const fixCheckThreading;
328
- extern uint256 const fixPayChanRecipientOwnerDir;
329
- extern uint256 const featureDeletableAccounts;
330
- extern uint256 const fixQualityUpperBound;
331
- extern uint256 const featureRequireFullyCanonicalSig;
332
- extern uint256 const fix1781;
333
- extern uint256 const featureHardenedValidations;
334
- extern uint256 const fixAmendmentMajorityCalc;
335
- extern uint256 const featureNegativeUNL;
336
- extern uint256 const featureTicketBatch;
337
- extern uint256 const featureFlowSortStrands;
338
- extern uint256 const fixSTAmountCanonicalize;
339
- extern uint256 const fixRmSmallIncreasedQOffers;
340
- extern uint256 const featureCheckCashMakesTrustLine;
341
- extern uint256 const featureNonFungibleTokensV1;
342
- extern uint256 const featureExpandedSignerList;
343
- extern uint256 const fixNFTokenDirV1;
344
- extern uint256 const fixNFTokenNegOffer;
345
- extern uint256 const featureNonFungibleTokensV1_1;
346
- extern uint256 const fixTrustLinesToSelf;
347
- extern uint256 const fixRemoveNFTokenAutoTrustLine;
348
- extern uint256 const featureImmediateOfferKilled;
349
- extern uint256 const featureDisallowIncoming;
350
- extern uint256 const featureXRPFees;
351
- extern uint256 const featureAMM;
352
- extern uint256 const fixUniversalNumber;
353
- extern uint256 const fixNonFungibleTokensV1_2;
354
- extern uint256 const fixNFTokenRemint;
355
- extern uint256 const fixReducedOffersV1;
356
- extern uint256 const featureClawback;
357
- extern uint256 const featureXChainBridge;
358
- extern uint256 const fixDisallowIncomingV1;
359
- extern uint256 const featureDID;
360
- extern uint256 const fixFillOrKill;
361
- extern uint256 const fixNFTokenReserve;
362
- extern uint256 const fixInnerObjTemplate;
363
- extern uint256 const fixAMMOverflowOffer;
364
- extern uint256 const featurePriceOracle;
365
- extern uint256 const fixEmptyDID;
366
- extern uint256 const fixXChainRewardRounding;
367
- extern uint256 const fixPreviousTxnID;
368
- extern uint256 const fixAMMv1_1;
369
- extern uint256 const featureNFTokenMintOffer;
370
- extern uint256 const fixReducedOffersV2;
371
- extern uint256 const fixEnforceNFTokenTrustline;
372
- extern uint256 const fixInnerObjTemplate2;
373
- extern uint256 const featureInvariantsV1_1;
374
- extern uint256 const fixNFTokenPageLinks;
311
+ #pragma push_macro("XRPL_FEATURE")
312
+ #undef XRPL_FEATURE
313
+ #pragma push_macro("XRPL_FIX")
314
+ #undef XRPL_FIX
315
+
316
+ #define XRPL_FEATURE (name, supported, vote ) extern uint256 const feature##name;
317
+ #define XRPL_FIX (name, supported, vote ) extern uint256 const fix##name;
318
+
319
+ #include < xrpl/protocol/detail/features.macro>
320
+
321
+ #undef XRPL_FIX
322
+ #pragma pop_macro("XRPL_FIX")
323
+ #undef XRPL_FEATURE
324
+ #pragma pop_macro("XRPL_FEATURE")
375
325
376
326
} // namespace ripple
377
327
0 commit comments