From a3b643151e19d64787ec45a801c0a2ff7c546f6e Mon Sep 17 00:00:00 2001 From: jl777 Date: Sat, 13 Jul 2019 01:57:56 -1100 Subject: [PATCH] txids_json --- src/komodo_nSPV.h | 2 +- src/komodo_nSPV_fullnode.h | 8 ++++---- src/komodo_nSPV_superlite.h | 28 ++++++++++++++++++++++++++++ 3 files changed, 33 insertions(+), 5 deletions(-) diff --git a/src/komodo_nSPV.h b/src/komodo_nSPV.h index 22bf48244..317e517ce 100644 --- a/src/komodo_nSPV.h +++ b/src/komodo_nSPV.h @@ -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)); } } diff --git a/src/komodo_nSPV_fullnode.h b/src/komodo_nSPV_fullnode.h index d480fa821..6d073acfa 100644 --- a/src/komodo_nSPV_fullnode.h +++ b/src/komodo_nSPV_fullnode.h @@ -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 > addressIndex; + std::vector > 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 >::const_iterator it=txids.begin(); it!=txids.end(); it++) { diff --git a/src/komodo_nSPV_superlite.h b/src/komodo_nSPV_superlite.h index b63d19064..9c90fc2c1 100644 --- a/src/komodo_nSPV_superlite.h +++ b/src/komodo_nSPV_superlite.h @@ -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; iutxos,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);