RewardResult

Type Alias RewardResult 

Source
pub type RewardResult<T> = Result<T, RewardError>;
Expand description

Result type alias for reward operations.

§Examples

use chie_shared::{RewardResult, RewardError};

fn distribute_reward(provider_id: &str, amount: u64) -> RewardResult<u64> {
    if amount > 1_000_000 {
        return Err(RewardError::InvalidRewardAmount(amount));
    }
    Ok(amount)
}

// Combine multiple operations
fn process_rewards(providers: &[&str], amount: u64) -> RewardResult<u64> {
    let mut total = 0;
    for provider in providers {
        total += distribute_reward(provider, amount)?;
    }
    Ok(total)
}

assert_eq!(distribute_reward("peer1", 100).unwrap(), 100);
assert_eq!(process_rewards(&["peer1", "peer2"], 100).unwrap(), 200);
assert!(distribute_reward("peer1", 2_000_000).is_err());

Aliased Type§

pub enum RewardResult<T> {
    Ok(T),
    Err(RewardError),
}

Variants§

§1.0.0

Ok(T)

Contains the success value

§1.0.0

Err(RewardError)

Contains the error value