pub enum RewardError {
ContentNotRegistered(String),
InvalidProof,
DatabaseError(String),
CalculationFailed(String),
InsufficientBalance,
CreatorNotFound(String),
InvalidRewardAmount(u64),
DistributionFailed(String),
}Expand description
Reward calculation errors.
§Examples
use chie_shared::RewardError;
// Content registration check
fn calculate_reward(content_cid: &str, registered: bool) -> Result<u64, RewardError> {
if !registered {
return Err(RewardError::ContentNotRegistered(content_cid.to_string()));
}
Ok(100) // 100 points
}
// Balance check
fn withdraw_points(amount: u64, balance: u64) -> Result<u64, RewardError> {
if amount > balance {
Err(RewardError::InsufficientBalance)
} else {
Ok(balance - amount)
}
}
// Reward amount validation
fn validate_reward(amount: u64) -> Result<u64, RewardError> {
if amount > 1_000_000 {
Err(RewardError::InvalidRewardAmount(amount))
} else {
Ok(amount)
}
}
assert_eq!(calculate_reward("QmTest", true).unwrap(), 100);
assert!(calculate_reward("QmTest", false).is_err());
assert_eq!(withdraw_points(50, 100).unwrap(), 50);
assert!(withdraw_points(150, 100).is_err());
assert!(validate_reward(500).is_ok());
assert!(validate_reward(2_000_000).is_err());Variants§
ContentNotRegistered(String)
InvalidProof
DatabaseError(String)
CalculationFailed(String)
InsufficientBalance
CreatorNotFound(String)
InvalidRewardAmount(u64)
DistributionFailed(String)
Trait Implementations§
Source§impl Debug for RewardError
impl Debug for RewardError
Source§impl Display for RewardError
impl Display for RewardError
Source§impl Error for RewardError
impl Error for RewardError
1.30.0 · Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
Returns the lower-level source of this error, if any. Read more
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
👎Deprecated since 1.42.0: use the Display impl or to_string()
Auto Trait Implementations§
impl Freeze for RewardError
impl RefUnwindSafe for RewardError
impl Send for RewardError
impl Sync for RewardError
impl Unpin for RewardError
impl UnwindSafe for RewardError
Blanket Implementations§
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