pub trait Staking: Module<ExecT = StakingMsg, QueryT = StakingQuery, SudoT = StakingSudo> {
// Required method
fn process_queue<ExecC, QueryC: CustomQuery>(
&self,
api: &dyn Api,
storage: &mut dyn Storage,
router: &dyn CosmosRouter<ExecC = ExecC, QueryC = QueryC>,
block: &BlockInfo,
) -> AnyResult<AppResponse>;
}Required Methods§
Sourcefn process_queue<ExecC, QueryC: CustomQuery>(
&self,
api: &dyn Api,
storage: &mut dyn Storage,
router: &dyn CosmosRouter<ExecC = ExecC, QueryC = QueryC>,
block: &BlockInfo,
) -> AnyResult<AppResponse>
fn process_queue<ExecC, QueryC: CustomQuery>( &self, api: &dyn Api, storage: &mut dyn Storage, router: &dyn CosmosRouter<ExecC = ExecC, QueryC = QueryC>, block: &BlockInfo, ) -> AnyResult<AppResponse>
This is called from the end blocker (update_block / set_block) to process the
staking queue.
Needed because unbonding has a waiting time.
If you’re implementing a dummy staking module, this can be a no-op.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.