This commit is contained in:
jl777
2019-07-03 02:26:24 -11:00
parent 87d2264b2a
commit f5be07ddfe

View File

@@ -386,7 +386,7 @@ int32_t NSPV_getaddressutxos(struct NSPV_utxosresp *ptr,char *coinaddr) // check
total += it->second.satoshis; total += it->second.satoshis;
n++; n++;
} }
fprintf(stderr,"getaddressutxos for %s -> n.%d total %.8f interest %.8f\n",coinaddr,dstr(total),dstr(interest)); fprintf(stderr,"getaddressutxos for %s -> n.%d total %.8f interest %.8f\n",coinaddr,n,dstr(total),dstr(interest));
if ( n == ptr->numutxos ) if ( n == ptr->numutxos )
{ {
ptr->total = total; ptr->total = total;
@@ -396,7 +396,7 @@ int32_t NSPV_getaddressutxos(struct NSPV_utxosresp *ptr,char *coinaddr) // check
} }
if ( ptr->utxos != 0 ) if ( ptr->utxos != 0 )
free(ptr->utxos); free(ptr->utxos);
memst(ptr,0,sizeof(*ptr)); memset(ptr,0,sizeof(*ptr));
return(0); return(0);
} }
@@ -432,7 +432,7 @@ void komodo_nSPVreq(CNode *pfrom,std::vector<uint8_t> request) // received a req
{ {
if ( request[0] == NSPV_INFO ) // info if ( request[0] == NSPV_INFO ) // info
{ {
if ( timestamp > pfrom->lastinfo + ASSETCHAINS_BLOCKTIME/2 ) if ( len == 1 && timestamp > pfrom->lastinfo + ASSETCHAINS_BLOCKTIME/2 )
{ {
struct NSPV_inforesp I; struct NSPV_inforesp I;
memset(&I,0,sizeof(I)); memset(&I,0,sizeof(I));
@@ -459,7 +459,7 @@ void komodo_nSPVreq(CNode *pfrom,std::vector<uint8_t> request) // received a req
slen = NSPV_getaddressutxos(&U,coinaddr); slen = NSPV_getaddressutxos(&U,coinaddr);
response.resize(1 + slen); response.resize(1 + slen);
response[0] = NSPV_UTXOSRESP; response[0] = NSPV_UTXOSRESP;
if ( NSPV_rwutxosresp(1,&response[1],&U.utxos) == slen ) if ( NSPV_rwutxosresp(1,&response[1],&U) == slen )
{ {
pfrom->PushMessage("nSPV",response); pfrom->PushMessage("nSPV",response);
pfrom->lastutxos = timestamp; pfrom->lastutxos = timestamp;
@@ -475,7 +475,7 @@ void komodo_nSPVreq(CNode *pfrom,std::vector<uint8_t> request) // received a req
struct NSPV_ntzsresp N; int32_t height; struct NSPV_ntzsresp N; int32_t height;
if ( len == 1+sizeof(height) ) if ( len == 1+sizeof(height) )
{ {
iguana_rwnum(rwflag,&request[1],sizeof(height),&height); iguana_rwnum(0,&request[1],sizeof(height),&height);
memset(&N,0,sizeof(N)); memset(&N,0,sizeof(N));
slen = NSPV_getntzsresp(&N,height); slen = NSPV_getntzsresp(&N,height);
response.resize(1 + slen); response.resize(1 + slen);
@@ -496,11 +496,11 @@ void komodo_nSPVreq(CNode *pfrom,std::vector<uint8_t> request) // received a req
struct NSPV_ntzsproofresp P; int32_t prevht,nextht; struct NSPV_ntzsproofresp P; int32_t prevht,nextht;
if ( len == 1+sizeof(prevht)+sizeof(nextht) ) if ( len == 1+sizeof(prevht)+sizeof(nextht) )
{ {
iguana_rwnum(rwflag,&request[1],sizeof(prevht),&prevht); iguana_rwnum(0,&request[1],sizeof(prevht),&prevht);
iguana_rwnum(rwflag,&request[1+sizeof(prevht)],sizeof(nextht),&nextht); iguana_rwnum(0,&request[1+sizeof(prevht)],sizeof(nextht),&nextht);
if ( prevht != 0 && nextht != 0 && nextht >= prevht ) if ( prevht != 0 && nextht != 0 && nextht >= prevht )
{ {
memset(&N,0,sizeof(N)); memset(&P,0,sizeof(P));
slen = NSPV_getntzsproofresp(&P,prevht,nextht); slen = NSPV_getntzsproofresp(&P,prevht,nextht);
response.resize(1 + slen); response.resize(1 + slen);
response[0] = NSPV_NTZPROOFRESP; response[0] = NSPV_NTZPROOFRESP;
@@ -518,11 +518,11 @@ void komodo_nSPVreq(CNode *pfrom,std::vector<uint8_t> request) // received a req
{ {
if ( timestamp > pfrom->lastproof ) if ( timestamp > pfrom->lastproof )
{ {
struct NSPV_spentinfo P; uint256 txid; int32_t height; struct NSPV_txproof P; uint256 txid; int32_t height;
if ( len == 1+sizeof(txid)+sizeof(height) ) if ( len == 1+sizeof(txid)+sizeof(height) )
{ {
iguana_rwnum(rwflag,&request[1],sizeof(height),&height); iguana_rwnum(0,&request[1],sizeof(height),&height);
iguana_rwbignum(rwflag,&request[1+sizeof(height)],sizeof(txid),(uint8_t *)&txid); iguana_rwbignum(0,&request[1+sizeof(height)],sizeof(txid),(uint8_t *)&txid);
memset(&P,0,sizeof(P)); memset(&P,0,sizeof(P));
slen = NSPV_gettxproof(&P,txid,height); slen = NSPV_gettxproof(&P,txid,height);
response.resize(1 + slen); response.resize(1 + slen);
@@ -543,8 +543,8 @@ void komodo_nSPVreq(CNode *pfrom,std::vector<uint8_t> request) // received a req
struct NSPV_spentinfo S; int32_t vout; uint256 txid; struct NSPV_spentinfo S; int32_t vout; uint256 txid;
if ( len == 1+sizeof(txid)+sizeof(vout) ) if ( len == 1+sizeof(txid)+sizeof(vout) )
{ {
iguana_rwnum(rwflag,&request[1],sizeof(vout),&vout); iguana_rwnum(0,&request[1],sizeof(vout),&vout);
iguana_rwbignum(rwflag,&request[1+sizeof(vout)],sizeof(txid),(uint8_t *)&txid); iguana_rwbignum(0,&request[1+sizeof(vout)],sizeof(txid),(uint8_t *)&txid);
memset(&S,0,sizeof(S)); memset(&S,0,sizeof(S));
slen = NSPV_getspentinfo(&S,txid,vout); slen = NSPV_getspentinfo(&S,txid,vout);
response.resize(1 + slen); response.resize(1 + slen);