Skip to content

Commit 1c65365

Browse files
committed
Make secp256k1_verify handle / return wrapped boolean
1 parent edf4ce4 commit 1c65365

File tree

1 file changed

+11
-8
lines changed

1 file changed

+11
-8
lines changed

packages/std/src/imports.rs

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -187,7 +187,7 @@ impl Api for ExternalApi {
187187
message_hash: &[u8],
188188
signature: &[u8],
189189
public_key: &[u8],
190-
) -> StdResult<()> {
190+
) -> StdResult<bool> {
191191
let hash_send = build_region(message_hash);
192192
let hash_send_ptr = &*hash_send as *const Region as u32;
193193
let sig_send = build_region(signature);
@@ -196,14 +196,17 @@ impl Api for ExternalApi {
196196
let pubkey_send_ptr = &*pubkey_send as *const Region as u32;
197197

198198
let result = unsafe { verify_secp256k1(hash_send_ptr, sig_send_ptr, pubkey_send_ptr) };
199-
if result != 0 {
200-
let error = unsafe { consume_string_region_written_by_vm(result as *mut Region) };
201-
return Err(StdError::generic_err(format!(
202-
"secp256k1_verify error: {}",
203-
error
204-
)));
199+
match result {
200+
true => Ok(true),
201+
false => Ok(false),
202+
ptr => {
203+
let error = unsafe { consume_string_region_written_by_vm(ptr as *mut Region) };
204+
return Err(StdError::generic_err(format!(
205+
"secp256k1_verify error: {}",
206+
error
207+
)));
208+
}
205209
}
206-
Ok(())
207210
}
208211

209212
fn debug(&self, message: &str) {

0 commit comments

Comments
 (0)