pub struct StakeKeeper { /* private fields */ }Implementations§
Source§impl StakeKeeper
impl StakeKeeper
pub fn new() -> Self
Sourcepub fn setup(
&self,
storage: &mut dyn Storage,
staking_info: StakingInfo,
) -> AnyResult<()>
pub fn setup( &self, storage: &mut dyn Storage, staking_info: StakingInfo, ) -> AnyResult<()>
Provides some general parameters to the stake keeper
Trait Implementations§
Source§impl Default for StakeKeeper
impl Default for StakeKeeper
Source§impl Module for StakeKeeper
impl Module for StakeKeeper
type ExecT = StakingMsg
type QueryT = StakingQuery
type SudoT = StakingSudo
Source§fn execute<ExecC, QueryC: CustomQuery>(
&self,
api: &dyn Api,
storage: &mut dyn Storage,
router: &dyn CosmosRouter<ExecC = ExecC, QueryC = QueryC>,
block: &BlockInfo,
sender: Addr,
msg: StakingMsg,
) -> AnyResult<AppResponse>
fn execute<ExecC, QueryC: CustomQuery>( &self, api: &dyn Api, storage: &mut dyn Storage, router: &dyn CosmosRouter<ExecC = ExecC, QueryC = QueryC>, block: &BlockInfo, sender: Addr, msg: StakingMsg, ) -> AnyResult<AppResponse>
Runs any ExecT message,
which can be called by any external actor or smart contract.
Source§fn sudo<ExecC, QueryC: CustomQuery>(
&self,
api: &dyn Api,
storage: &mut dyn Storage,
router: &dyn CosmosRouter<ExecC = ExecC, QueryC = QueryC>,
block: &BlockInfo,
msg: StakingSudo,
) -> AnyResult<AppResponse>
fn sudo<ExecC, QueryC: CustomQuery>( &self, api: &dyn Api, storage: &mut dyn Storage, router: &dyn CosmosRouter<ExecC = ExecC, QueryC = QueryC>, block: &BlockInfo, msg: StakingSudo, ) -> AnyResult<AppResponse>
Runs privileged actions, like minting tokens, or governance proposals.
This allows modules to have full access to these privileged actions,
that cannot be triggered by smart contracts. Read more
Source§impl Staking for StakeKeeper
impl Staking for StakeKeeper
Source§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>
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.Auto Trait Implementations§
impl Freeze for StakeKeeper
impl RefUnwindSafe for StakeKeeper
impl Send for StakeKeeper
impl Sync for StakeKeeper
impl Unpin for StakeKeeper
impl UnwindSafe for StakeKeeper
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<F, W, T, D> Deserialize<With<T, W>, D> for F
impl<F, W, T, D> Deserialize<With<T, W>, D> for F
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::RequestSource§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
Source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Gets the layout of the type.
Source§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<T> Upcastable for T
impl<T> Upcastable for T
Source§fn upcast_any_ref(&self) -> &(dyn Any + 'static)
fn upcast_any_ref(&self) -> &(dyn Any + 'static)
upcast ref
Source§fn upcast_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn upcast_any_mut(&mut self) -> &mut (dyn Any + 'static)
upcast mut ref