jl777 5 years ago
parent
commit
820b9efaeb
  1. 20
      src/komodo_nSPV_superlite.h

20
src/komodo_nSPV_superlite.h

@ -192,12 +192,21 @@ UniValue NSPV_ntzsproof_json(struct NSPV_ntzsproofresp *ptr)
return(result);
}
UniValue NSPV_broadcast_json(struct NSPV_broadcastresp *ptr)
UniValue NSPV_broadcast_json(struct NSPV_broadcastresp *ptr,uint256 txid)
{
UniValue result(UniValue::VOBJ);
result.push_back(Pair("result","success"));
result.push_back(Pair("txid",ptr->txid.GetHex()));
result.push_back(Pair("expected",txid.GetHex()));
result.push_back(Pair("broadcast",ptr->txid.GetHex()));
result.push_back(Pair("retcode",(int64_t)ptr->retcode));
switch ( ptr->retcode )
{
case 1: result.push_back(Pair("type","broadcast and mempool")); break;
case 0: result.push_back(Pair("type","broadcast")); break;
case -1: result.push_back(Pair("type","decode error")); break;
case -2: result.push_back(Pair("type","timeout")); break;
default: result.push_back(Pair("type","unknown")); break;
}
return(result);
}
@ -380,7 +389,8 @@ UniValue NSPV_broadcast(char *hex)
data = (uint8_t *)malloc(n);
decode_hex(data,n,hex);
_txid = bits256_doublesha256(0,data,n);
memcpy(&txid,&_txid,sizeof(txid));
for (i=0; i<32; i++)
((uint8_t *)&txid[i] = _txid.bytes[31 - i];
msg = (uint8_t *)malloc(1 + sizeof(txid) + sizeof(n) + n);
msg[len++] = NSPV_BROADCAST;
len += iguana_rwbignum(1,&msg[len],sizeof(txid),(uint8_t *)&txid);
@ -396,14 +406,14 @@ UniValue NSPV_broadcast(char *hex)
if ( NSPV_broadcastresult.txid == txid )
{
free(msg);
return(NSPV_broadcast_json(&NSPV_broadcastresult));
return(NSPV_broadcast_json(&NSPV_broadcastresult,txid));
}
}
}
free(msg);
memset(&B,0,sizeof(B));
B.retcode = -2;
return(NSPV_broadcast_json(&B));
return(NSPV_broadcast_json(&B,txid));
}
void komodo_nSPVresp(CNode *pfrom,std::vector<uint8_t> response) // received a response

Loading…
Cancel
Save