From f4843bc25dc718d7b4ad88b8a61b5ed64a25ae2f Mon Sep 17 00:00:00 2001 From: Jack Grigg Date: Thu, 29 Aug 2019 18:57:05 +0100 Subject: [PATCH] More descriptive value errors in sendToAddress --- src/main/rust/lib.rs | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/main/rust/lib.rs b/src/main/rust/lib.rs index a3f40f40..902061c0 100644 --- a/src/main/rust/lib.rs +++ b/src/main/rust/lib.rs @@ -394,8 +394,10 @@ pub unsafe extern "C" fn Java_cash_z_wallet_sdk_jni_RustBackend_sendToAddress( }; let extsk = utils::java_string_to_rust(&env, extsk); let to = utils::java_string_to_rust(&env, to); - let value = - Amount::from_nonnegative_i64(value).map_err(|()| format_err!("Invalid amount"))?; + let value = Amount::from_i64(value).map_err(|()| format_err!("Invalid amount, out of range"))?; + if value.is_negative() { + return Err(ormat_err!("Amount is negative")); + } let memo = utils::java_string_to_rust(&env, memo); let spend_params = utils::java_string_to_rust(&env, spend_params); let output_params = utils::java_string_to_rust(&env, output_params);