Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Adds events to the
paraspallet to enable external parties (like exchanges, indexers, and infrastructure providers) to monitor parachain runtime upgrades without constantly polling storage.Closes #10074
Problem
Currently, when a parachain schedules a runtime upgrade, no event is emitted for external parties to listen to. This makes it difficult for exchanges and other infrastructure providers to:
Changes
New Events Added:
CodeUpgradeScheduledAt(ParaId, BlockNumber)- Emitted when a code upgrade is scheduledUpgradeGoAheadSignalSet(ParaId)- Emitted when the go-ahead signal is setUpgradeRestrictionSignalSet(ParaId)- Emitted when upgrade restrictions are appliedUpgradeRestrictionSignalRemoved(ParaId)- Emitted when upgrade restrictions are removedFutureCodeUpgradeRemoved(ParaId)- Emitted when a future upgrade is cancelled or appliedEvent Emission Points:
proceed_with_upgrade()- EmitsCodeUpgradeScheduledAtprocess_scheduled_upgrade_changes()- EmitsUpgradeGoAheadSignalSetprocess_scheduled_upgrade_cooldowns()- EmitsUpgradeRestrictionSignalRemovednote_new_head()- EmitsFutureCodeUpgradeRemovedschedule_code_upgrade()- EmitsUpgradeRestrictionSignalSetenact_pvf_rejected()- EmitsUpgradeGoAheadSignalSetandFutureCodeUpgradeRemovedTesting
Added comprehensive tests covering:
Performance Impact
Events have minimal performance impact:
Checklist