Today, I attempted to submit a preimage, start an external proposal and initiate referenda.

Check the preimage here: https://crab.subscan.io/referenda/4?tab=proposal_preimage.

The outcome of my efforts can be found at https://crab.subscan.io/block/170147?tab=event&event=170147-0. However, I encountered an error which stated that the inherent responsible for providing validation data did not run during this block (ValidationDataNotAvailable).

/// The inherent which supplies the validation data did not run this block

I am curious if the priority of scheduled extrinsics is higher than that of inherent extrinsics. It appears that the scheduled referenda were applied before set_validation_data.

What would be the best approach in such a scenario? If the preimage is a ParachainSystem::authorize_upgrade instead of a batch call, sending ParachainSystem::enact_authorized_upgrade separately will result in high transaction fees.

  • You already answered this yourself? substrate.stackexchange.com/questions/6285/…
    – bkchr
    Apr 3, 2023 at 19:42
  • But enact this myself would cause a lot of tx fee (the wasm is large). It looks like we don’t have any other ways to avoid that…
    – AurevoirXavier
    Apr 4, 2023 at 2:02
  • 1
    enact_authorized_upgrade currently has a static weight? So, that doesn't change with the size of the wasm file?
    – bkchr
    Apr 4, 2023 at 19:59

1 Answer 1


Yep. Thanks to @bkchr.

The enact_authorized_upgrade currently has a static weight. It won't cost too much.

I believe we can request funding for runtime upgrades from the treasury, regardless of the cost. The treasury will support us, whether it is a significant or minor expense.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.