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);