pub trait Executors<T, Balance>where
    T: Config,{
    // Required methods
    fn active_set() -> Vec<<T as Config>::AccountId, Global>;
    fn reserve_bond(
        executor: &<T as Config>::AccountId,
        amount: Balance
    ) -> Result<Balance, DispatchError>;
    fn unreserve_bond(
        executor: &<T as Config>::AccountId,
        amount: Balance
    ) -> Balance;
    fn slash_bond(
        executor: &<T as Config>::AccountId,
        amount: Balance
    ) -> Balance;
    fn increase_bond(
        executor: &<T as Config>::AccountId,
        amount: Balance
    ) -> Balance;
    fn collateral_bond(executor: &<T as Config>::AccountId) -> Balance;
    fn total_nominated_stake(executor: &<T as Config>::AccountId) -> Balance;
    fn stakes(
        staker: &<T as Config>::AccountId
    ) -> Vec<NominatedStake<<T as Config>::AccountId, Balance>, Global>;
    fn stakes_per_executor(
        executor: &<T as Config>::AccountId
    ) -> Vec<NominatedStake<<T as Config>::AccountId, Balance>, Global>;
    fn recalculate_executors_stakes();
}

Required Methods§

fn active_set() -> Vec<<T as Config>::AccountId, Global>

fn reserve_bond( executor: &<T as Config>::AccountId, amount: Balance ) -> Result<Balance, DispatchError>

fn unreserve_bond( executor: &<T as Config>::AccountId, amount: Balance ) -> Balance

fn slash_bond(executor: &<T as Config>::AccountId, amount: Balance) -> Balance

fn increase_bond( executor: &<T as Config>::AccountId, amount: Balance ) -> Balance

fn collateral_bond(executor: &<T as Config>::AccountId) -> Balance

fn total_nominated_stake(executor: &<T as Config>::AccountId) -> Balance

fn stakes( staker: &<T as Config>::AccountId ) -> Vec<NominatedStake<<T as Config>::AccountId, Balance>, Global>

fn stakes_per_executor( executor: &<T as Config>::AccountId ) -> Vec<NominatedStake<<T as Config>::AccountId, Balance>, Global>

fn recalculate_executors_stakes()

Implementors§

§

impl<T, Balance> Executors<T, Balance> for ExecutorsMock<T>where T: Config, Balance: Zero,