署名のverifyはtrue or falseで返したいが、、、
pub async fn verify_signature(signedtransaction: &kernel::SignedTransaction) -> bool {
// 省略
return verifying_key.verify(posted_serialized.as_bytes(), &signature).is_ok()
}
偽のpublic keyを送ってきた可能性もあるため、Result型で返却しないといけない。
pub async fn verify_signature(signedtransaction: &SignedTransaction) -> Result<bool, Box<dyn std::error::Error>>{
// 省略
Ok(verifying_key.verify(posted_serialized.as_bytes(), &signature).is_ok())
}
なるほど、こういうのは、UnitTestを書いてテストしないと気づかない…