#![no_std]
#![forbid(unsafe_code)]
use eth_valkyoth_primitives::ChainId;
#[derive(Clone, Copy, Debug, Eq, PartialEq)]
pub enum VerifyError {
WrongChain,
InvalidSignature,
InvalidProof,
}
pub fn require_chain(expected: ChainId, actual: ChainId) -> Result<(), VerifyError> {
if expected == actual {
Ok(())
} else {
Err(VerifyError::WrongChain)
}
}
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn rejects_wrong_chain() {
assert_eq!(
require_chain(ChainId::new(1), ChainId::new(2)),
Err(VerifyError::WrongChain)
);
}
}