CIP: Versioned Gas Scheduler Variables

This post is to discuss the CIP on Versioned Gas Scheduler Variables. More context here.

1 Like

Hey! Iā€™m from Lumina team. We started implementing versioned consts from appconsts and we encounter some issues while incorporating them in our celestia-types crate.

These are the issues:

  • SubtreeRootThreshold is used when Blob.Commitment is computed, however AppVersion is only present in ExtendedHeader. So if a user requests a Blob, they need first to request ExtendedHeader, then Blob and then pass the AppVersion in order to get the Commitment. In celestia-node you workaround this by having a fixed version of constants, which we believe it is going to be an issue later on.
  • ExtendedDataSquare has a theoretical MAX_EXTENDED_SQUARE_WIDTH, which is SquareSizeUpperBound * 2. We use this value to validate EDS, but now this check can not be really done. We are unsure what to do about it. In order to keep this check then we need to apply restrictions on type-level and force user to give us the ExtendedHeader on validation.