use thiserror::Error;
#[derive(Clone, Copy, Debug, Eq, Error, Hash, PartialEq)]
pub enum TranscodeContractError {
#[error(
"transcoder consumed {read} units but only {available} were available"
)]
OverRead {
read: usize,
available: usize,
},
#[error(
"transcoder wrote {written} units but only {available} output slots were available"
)]
OverWritten {
written: usize,
available: usize,
},
#[error(
"transcoder progress overflow: index {index} plus advanced {advanced}"
)]
ProgressIndexOverflow {
index: usize,
advanced: usize,
},
#[error("transcoder reported status index {reported}, expected {expected}")]
StatusIndexMismatch {
reported: usize,
expected: usize,
},
#[error(
"transcoder reported required {required} with available {available}"
)]
SatisfiedNeed {
required: usize,
available: usize,
},
}