Skip to content

Commit

Permalink
nicer error
Browse files Browse the repository at this point in the history
  • Loading branch information
codabrink committed Oct 2, 2024
1 parent 6cdd0cd commit bac6571
Showing 1 changed file with 18 additions and 16 deletions.
34 changes: 18 additions & 16 deletions mls_validation_service/src/handlers.rs
Original file line number Diff line number Diff line change
Expand Up @@ -202,24 +202,26 @@ async fn verify_smart_contract_wallet_signatures(
signatures: Vec<UnverifiedSmartContractWalletSignature>,
scw_verifier: &dyn SmartContractSignatureVerifier,
) -> Result<Response<VerifySmartContractWalletSignaturesResponse>, Status> {
let responses: Vec<_> = signatures
.into_iter()
.filter_map(|request| {
let signature = request.scw_signature?;

let response = scw_verifier.is_valid_signature(
signature
.account_id
.try_into()
.expect("TODO: handle nicely in a bit"),
request.hash.try_into().expect("Hash should be 32 bytes"),
let mut responses = vec![];
for request in signatures {
let Some(signature) = request.scw_signature else {
continue;
};
let account_id = signature.account_id.try_into().map_err(|_e| {
GrpcServerError::Deserialization(DeserializationError::InvalidAccountId)
})?;

responses.push(
scw_verifier.is_valid_signature(
account_id,
request.hash.try_into().map_err(|_| {
GrpcServerError::Deserialization(DeserializationError::InvalidHash)
})?,
signature.signature.into(),
Some(BlockNumber::Number(U64::from(signature.block_number))),
);

Some(response)
})
.collect();
),
);
}

let responses: Vec<_> = try_join_all(responses)
.await
Expand Down

0 comments on commit bac6571

Please sign in to comment.