pub trait UpgradeExecutionContext: UpgradeValidationContext {
    // Required methods
    fn schedule_upgrade(&mut self, plan: Plan) -> Result<(), UpgradeClientError>;
    fn clear_upgrade_plan(
        &mut self,
        plan_height: u64
    ) -> Result<(), UpgradeClientError>;
    fn store_upgraded_client_state(
        &mut self,
        upgrade_path: UpgradeClientPath,
        client_state: Self::AnyClientState
    ) -> Result<(), UpgradeClientError>;
    fn store_upgraded_consensus_state(
        &mut self,
        upgrade_path: UpgradeClientPath,
        consensus_state: Self::AnyConsensusState
    ) -> Result<(), UpgradeClientError>;
}
Expand description

Helper context to execute client upgrades, providing methods to schedule an upgrade and store related upgraded client and consensus states.

Required Methods§

source

fn schedule_upgrade(&mut self, plan: Plan) -> Result<(), UpgradeClientError>

Schedules an upgrade based on the specified plan. If there is another Plan it should be overwritten.

source

fn clear_upgrade_plan( &mut self, plan_height: u64 ) -> Result<(), UpgradeClientError>

Clears the upgrade plan at the specified height.

source

fn store_upgraded_client_state( &mut self, upgrade_path: UpgradeClientPath, client_state: Self::AnyClientState ) -> Result<(), UpgradeClientError>

Stores the upgraded client state at the specified upgrade path.

source

fn store_upgraded_consensus_state( &mut self, upgrade_path: UpgradeClientPath, consensus_state: Self::AnyConsensusState ) -> Result<(), UpgradeClientError>

Stores the upgraded consensus state at the specified upgrade path.

Object Safety§

This trait is not object safe.

Implementors§