MevShield

#30

MEV protection mechanisms

Part of Consensus & Finality: Block production, finality, and chain security

Filter by:
announce_next_key call v361 → v411 #0

Announces the ML-KEM public key that will become the active encryption key in the following block.

Modifies: NextKey, KeyHashByBlock
●●●●○○ Active usage
ValidationMEVSecurity
AuthorKeys storage v391 → v411 Changed in v411

Per-block author public keys used to encrypt MEV-shielded extrinsics.

BadEncKeyLen error v391 → v411 #0

The announced ML‑KEM encapsulation key length is invalid.

CounterForPendingExtrinsics storage v401 → v411

Counter for the related counted storage map

CurrentKey storage v361 → v411 Changed in v411

The currently active ML-KEM-768 public key for encrypting MEV-protected transactions.

ValidationMEVSecurity
EncryptedSubmitted event v361 → v411 #0

Emitted when an encrypted transaction wrapper is accepted into the MEV protection queue.

Emitted by: submit_encrypted Modifies: Submissions
●●●○○○ Active usage
ValidationMEVSecurity
ExtrinsicDecodeFailed event v401 → v411 #2

Extrinsic decode failed during on_initialize.

ExtrinsicDispatched event v401 → v411 #4

Extrinsic was successfully dispatched during on_initialize.

ExtrinsicDispatchFailed event v401 → v411 #3

Extrinsic dispatch failed during on_initialize.

ExtrinsicExpired event v401 → v411 #5

Extrinsic expired (exceeded max block lifetime).

ExtrinsicLifetime storage v401 → v411

Configurable extrinsic lifetime (max block difference between submission and execution).

ExtrinsicLifetimeSet event v401 → v411 #9

Extrinsic lifetime was updated.

ExtrinsicPostponed event v401 → v411 #6

Extrinsic postponed due to weight limit.

ExtrinsicStored event v401 → v411 #1

Encrypted extrinsic was stored for later execution.

ExtrinsicWeightExceeded event v401 → v411 #11

Extrinsic exceeded the per-extrinsic weight limit and was removed.

HasMigrationRun storage v391 → v411 Changed in v411

Per-migration boolean flag tracking which MevShield runtime migrations have completed.

MaxExtrinsicWeight storage v401 → v411

Configurable maximum weight for a single extrinsic dispatched during on_initialize.

MaxExtrinsicWeightSet event v401 → v411 #10

Maximum per-extrinsic weight was updated.

MaxPendingExtrinsicsLimit storage v401 → v411

Configurable maximum number of pending extrinsics.

MaxPendingExtrinsicsNumberSet event v401 → v411 #7

Maximum pending extrinsics limit was updated.

NextKey storage v361 → v411 Changed in v411

The ML-KEM-768 public key that will become CurrentKey in the following block.

Modified by: announce_next_key
●●●●○○ Medium usage
ValidationMEVSecurity
NextKeyExpiresAt storage v391 → v411

Block number at which `NextKey` is no longer valid (exclusive upper bound).

NextPendingExtrinsicIndex storage v401 → v411

Next index to use when inserting a pending extrinsic (unique auto-increment).

OnInitializeWeight storage v401 → v411

Configurable maximum weight for on_initialize processing.

OnInitializeWeightSet event v401 → v411 #8

Maximum on_initialize weight was updated.

PendingExtrinsics storage v401 → v411 Changed in v411

Per-block buffer of encrypted MEV-shielded extrinsics awaiting decryption.

PendingKey storage v391 → v411 Changed in v411

Next block author's key, staged here before promoting to `CurrentKey`.

PendingKeyExpiresAt storage v391 → v411

Block number at which `PendingKey` is no longer valid (exclusive upper bound).

set_max_extrinsic_weight call v401 → v411 #6

Set the maximum weight allowed for a single extrinsic during on_initialize processing.

set_max_pending_extrinsics_number call v401 → v411 #3

Set the maximum number of pending extrinsics allowed in the queue.

set_on_initialize_weight call v401 → v411 #4

Set the maximum weight allowed for on_initialize processing.

set_stored_extrinsic_lifetime call v401 → v411 #5

Set the extrinsic lifetime (max blocks between submission and execution).

store_encrypted call v401 → v411 #2

Store an encrypted extrinsic for later execution in on_initialize.

submit_encrypted call v361 → v411 #1

Submits an encrypted transaction wrapper for MEV-protected execution.

Emits: EncryptedSubmitted Modifies: Submissions
●●●●○○ Active usage
SystemMEVSecurity
TooManyPendingExtrinsics error v401 → v411 #2

Too many pending extrinsics in storage.

Unreachable error v391 → v411 #1

Unreachable.

WeightExceedsAbsoluteMax error v401 → v411 #3

Weight exceeds the absolute maximum (half of total block weight).

Related Pallets