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;
|
*dest = *ptr;
|
||||||
if ( ptr->txids != 0 )
|
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));
|
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 NSPV_getaddresstxids(struct NSPV_txidsresp *ptr,char *coinaddr,bool isCC)
|
||||||
{
|
{
|
||||||
int32_t maxlen,txheight,n = 0,len = 0;
|
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);
|
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);
|
maxlen /= sizeof(*ptr->txids);
|
||||||
strncpy(ptr->coinaddr,coinaddr,sizeof(ptr->coinaddr)-1);
|
strncpy(ptr->coinaddr,coinaddr,sizeof(ptr->coinaddr)-1);
|
||||||
ptr->CCflag = isCC;
|
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));
|
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++)
|
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);
|
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 NSPV_ntzsresp_json(struct NSPV_ntzsresp *ptr)
|
||||||
{
|
{
|
||||||
UniValue result(UniValue::VOBJ);
|
UniValue result(UniValue::VOBJ);
|
||||||
|
|||||||
Reference in New Issue
Block a user