diff --git a/lib/src/grpcconnector.rs b/lib/src/grpcconnector.rs index 03bef21..0f22c67 100644 --- a/lib/src/grpcconnector.rs +++ b/lib/src/grpcconnector.rs @@ -1,10 +1,11 @@ - use log::{error}; use std::sync::{Arc}; use std::net::ToSocketAddrs; use std::net::SocketAddr; +use json::object; + use futures::{Future}; use futures::stream::Stream; @@ -280,7 +281,16 @@ pub fn broadcast_raw_tx(uri: &http::Uri, no_cert: bool, tx_bytes: Box<[u8]>) -> .and_then(move |response| { let sendresponse = response.into_inner(); if sendresponse.error_code == 0 { - Ok(format!("Successfully broadcast Tx: {}", sendresponse.error_message)) + let mut txid = sendresponse.error_message; + if txid.starts_with("\"") && txid.ends_with("\"") { + txid = txid[1..txid.len()-1].to_string(); + } + + let r = object!{ + "result" => "success", + "txid" => txid, + }; + Ok(r.pretty(2)) } else { Err(format!("Error: {:?}", sendresponse)) } diff --git a/lib/src/lightclient.rs b/lib/src/lightclient.rs index 4850ad5..2afb5db 100644 --- a/lib/src/lightclient.rs +++ b/lib/src/lightclient.rs @@ -771,7 +771,7 @@ impl LightClient { Ok(k) => k, Err(e) => e, }, - Err(e) => format!("No Tx to broadcast. Error was: {}", e) + Err(e) => format!("Error: No Tx to broadcast. Error was: {}", e) } } } diff --git a/lib/src/lightwallet/data.rs b/lib/src/lightwallet/data.rs index 8ee5c80..5a2a586 100644 --- a/lib/src/lightwallet/data.rs +++ b/lib/src/lightwallet/data.rs @@ -386,6 +386,7 @@ pub struct WalletTx { // All outgoing sapling sends to addresses outside this wallet pub outgoing_metadata: Vec, + // Whether this TxID was downloaded from the server and scanned for Memos pub full_tx_scanned: bool, }