txids_json
This commit is contained in:
@@ -191,7 +191,7 @@ void NSPV_txidsresp_copy(struct NSPV_txidsresp *dest,struct NSPV_txidsresp *ptr)
|
||||
*dest = *ptr;
|
||||
if ( ptr->txids != 0 )
|
||||
{
|
||||
dest->txids = (uint256 *)malloc(ptr->numtxids * sizeof(*ptr->txids));
|
||||
dest->txids = (struct NSPV_txidresp *)malloc(ptr->numtxids * sizeof(*ptr->txids));
|
||||
memcpy(dest->txids,ptr->txids,ptr->numtxids * sizeof(*ptr->txids));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -188,15 +188,15 @@ int32_t NSPV_getaddressutxos(struct NSPV_utxosresp *ptr,char *coinaddr,bool isCC
|
||||
int32_t NSPV_getaddresstxids(struct NSPV_txidsresp *ptr,char *coinaddr,bool isCC)
|
||||
{
|
||||
int32_t maxlen,txheight,n = 0,len = 0;
|
||||
std::vector<std::pair<CAddressIndexKey, CAmount> > addressIndex;
|
||||
std::vector<std::pair<CAddressIndexKey, CAmount> > txids;
|
||||
SetCCtxids(addressIndex,coinaddr,isCC);
|
||||
maxlen = MAX_BLOCK_SIZE(tipheight) - 512;
|
||||
ptr->nodeheight = chainActive.LastTip()->GetHeight();
|
||||
maxlen = MAX_BLOCK_SIZE(ptr->nodeheight) - 512;
|
||||
maxlen /= sizeof(*ptr->txids);
|
||||
strncpy(ptr->coinaddr,coinaddr,sizeof(ptr->coinaddr)-1);
|
||||
ptr->CCflag = isCC;
|
||||
if ( (ptr->numtxids= (int32_t)addressIndex.size()) >= 0 && ptr->numtxids < maxlen )
|
||||
if ( (ptr->numtxids= (int32_t)txids.size()) >= 0 && ptr->numtxids < maxlen )
|
||||
{
|
||||
ptr->nodeheight = chainActive.LastTip()->GetHeight();
|
||||
ptr->txids = (struct NSPV_txidresp *)calloc(ptr->numtxids,sizeof(*ptr->txids));
|
||||
for (std::vector<std::pair<CAddressIndexKey, CAmount> >::const_iterator it=txids.begin(); it!=txids.end(); it++)
|
||||
{
|
||||
|
||||
@@ -401,6 +401,34 @@ UniValue NSPV_utxosresp_json(struct NSPV_utxosresp *ptr)
|
||||
return(result);
|
||||
}
|
||||
|
||||
UniValue NSPV_txidresp_json(struct NSPV_utxoresp *utxos,int32_t numutxos)
|
||||
{
|
||||
UniValue array(UniValue::VARR); int32_t i;
|
||||
for (i=0; i<numutxos; i++)
|
||||
{
|
||||
UniValue item(UniValue::VOBJ);
|
||||
item.push_back(Pair("height",(int64_t)utxos[i].height));
|
||||
item.push_back(Pair("txid",utxos[i].txid.GetHex()));
|
||||
item.push_back(Pair("vout",(int64_t)utxos[i].vout));
|
||||
item.push_back(Pair("value",(double)utxos[i].satoshis/COIN));
|
||||
array.push_back(item);
|
||||
}
|
||||
return(array);
|
||||
}
|
||||
|
||||
UniValue NSPV_txidsresp_json(struct NSPV_utxosresp *ptr)
|
||||
{
|
||||
UniValue result(UniValue::VOBJ);
|
||||
result.push_back(Pair("result","success"));
|
||||
result.push_back(Pair("txids",NSPV_txidresp_json(ptr->utxos,ptr->numutxos)));
|
||||
result.push_back(Pair("address",ptr->coinaddr));
|
||||
result.push_back(Pair("isCC",ptr->CCflag));
|
||||
result.push_back(Pair("height",(int64_t)ptr->nodeheight));
|
||||
result.push_back(Pair("numtxids",(int64_t)ptr->numutxos));
|
||||
result.push_back(Pair("lastpeer",NSPV_lastpeer));
|
||||
return(result);
|
||||
}
|
||||
|
||||
UniValue NSPV_ntzsresp_json(struct NSPV_ntzsresp *ptr)
|
||||
{
|
||||
UniValue result(UniValue::VOBJ);
|
||||
|
||||
Reference in New Issue
Block a user