36 const std::string& client_request) {
37 UTXORequest utxo_request;
38 UTXOResponse response;
40 if (!utxo_request.ParseFromString(client_request)) {
41 LOG(ERROR) <<
"parse data fail";
46 response.set_ret(ret);
47 std::unique_ptr<std::string> ret_str = std::make_unique<std::string>();
48 response.SerializeToString(ret_str.get());
56 const std::string& request_str) {
58 if (!query.ParseFromString(request_str)) {
59 LOG(ERROR) <<
"parse query fail";
63 UTXOQueryResponse resp;
64 if (query.query_transaction()) {
65 std::vector<UTXO> utxos =
66 transaction_->
GetUTXO(query.end_id(), query.num());
67 for (
const UTXO& utxo : utxos) {
68 *resp.add_utxos() = utxo;
71 resp.set_value(wallet_->
GetCoin(query.address()));
73 std::unique_ptr<std::string> resp_str = std::make_unique<std::string>();
74 resp.SerializeToString(resp_str.get());