Skip to content

Commit accf545

Browse files
committed
Adapt crypto-verify contract ed25519 support to VerificationError
1 parent b0e3630 commit accf545

File tree

2 files changed

+19
-10
lines changed

2 files changed

+19
-10
lines changed

contracts/crypto-verify/src/contract.rs

Lines changed: 15 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -76,9 +76,11 @@ pub fn query_verify_tendermint(
7676
public_key: &[u8],
7777
) -> StdResult<VerifyResponse> {
7878
// Verification
79-
let verifies = deps.api.ed25519_verify(message, signature, public_key);
80-
81-
Ok(VerifyResponse { verifies })
79+
let result = deps.api.ed25519_verify(message, signature, public_key);
80+
match result {
81+
Ok(verifies) => Ok(VerifyResponse { verifies }),
82+
Err(err) => Err(err.into()),
83+
}
8284
}
8385

8486
pub fn query_list_verifications(deps: Deps) -> StdResult<ListVerificationsResponse> {
@@ -164,8 +166,7 @@ mod tests {
164166
}
165167

166168
#[test]
167-
#[should_panic(expected = "empty")]
168-
fn cosmos_signature_verify_panics() {
169+
fn cosmos_signature_verify_errors() {
169170
let deps = setup();
170171

171172
let message = hex::decode(SECP256K1_MESSAGE_HEX).unwrap();
@@ -177,7 +178,15 @@ mod tests {
177178
signature: Binary(signature),
178179
public_key: Binary(public_key),
179180
};
180-
query(deps.as_ref(), mock_env(), verify_msg).unwrap();
181+
182+
let res = query(deps.as_ref(), mock_env(), verify_msg);
183+
assert!(res.is_err());
184+
assert_eq!(
185+
res.unwrap_err(),
186+
StdError::VerificationErr {
187+
source: VerificationError::PublicKeyErr
188+
}
189+
)
181190
}
182191

183192
#[test]

contracts/crypto-verify/tests/integration.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -99,8 +99,7 @@ fn cosmos_signature_verify_fails() {
9999
}
100100

101101
#[test]
102-
#[should_panic(expected = "empty")]
103-
fn cosmos_signature_verify_panics() {
102+
fn cosmos_signature_verify_errors() {
104103
let mut deps = setup();
105104

106105
let message = hex::decode(SECP256K1_MESSAGE_HEX).unwrap();
@@ -112,7 +111,8 @@ fn cosmos_signature_verify_panics() {
112111
signature: Binary(signature),
113112
public_key: Binary(public_key),
114113
};
115-
let _ = query(&mut deps, mock_env(), verify_msg).unwrap();
114+
let res = query(&mut deps, mock_env(), verify_msg);
115+
assert_eq!(res.unwrap_err(), "Verification error: Public key error")
116116
}
117117

118118
#[test]
@@ -158,7 +158,7 @@ fn tendermint_signature_verify_fails() {
158158
}
159159

160160
#[test]
161-
fn tendermint_signature_verify_errs() {
161+
fn tendermint_signature_verify_errors() {
162162
let mut deps = setup();
163163

164164
let message = hex::decode(ED25519_MESSAGE_HEX).unwrap();

0 commit comments

Comments
 (0)