|
|
@ -59,9 +59,7 @@ void komodo_nSPVresp(CNode *pfrom,std::vector<uint8_t> response) // received a r |
|
|
|
NSPV_inforesult = I; |
|
|
|
} |
|
|
|
else if ( NSPV_inforesult.height > I.height ) |
|
|
|
{ |
|
|
|
NSPV_lastinfo = 0; |
|
|
|
} |
|
|
|
NSPV_lastinfo = timestamp - ASSETCHAINS_BLOCKTIME/4; |
|
|
|
break; |
|
|
|
case NSPV_UTXOSRESP: |
|
|
|
NSPV_utxosresp_purge(&NSPV_utxosresult); |
|
|
@ -476,14 +474,14 @@ UniValue NSPV_txproof(int32_t vout,uint256 txid,int32_t height) |
|
|
|
len += iguana_rwnum(1,&msg[len],sizeof(height),&height); |
|
|
|
len += iguana_rwnum(1,&msg[len],sizeof(vout),&vout); |
|
|
|
len += iguana_rwbignum(1,&msg[len],sizeof(txid),(uint8_t *)&txid); |
|
|
|
//fprintf(stderr,"req txproof %s/v%d at height.%d\n",txid.GetHex().c_str(),vout,height);
|
|
|
|
fprintf(stderr,"req txproof %s/v%d at height.%d\n",txid.GetHex().c_str(),vout,height); |
|
|
|
for (iter=0; iter<3; iter++); |
|
|
|
if ( NSPV_req(0,msg,len,NODE_NSPV,msg[0]>>1) != 0 ) |
|
|
|
{ |
|
|
|
for (i=0; i<NSPV_POLLITERS; i++) |
|
|
|
{ |
|
|
|
usleep(NSPV_POLLMICROS); |
|
|
|
if ( NSPV_txproofresult.txid == txid && NSPV_txproofresult.height == height ) |
|
|
|
if ( NSPV_txproofresult.txid == txid ) |
|
|
|
return(NSPV_txproof_json(&NSPV_txproofresult)); |
|
|
|
} |
|
|
|
} else sleep(1); |
|
|
@ -583,7 +581,7 @@ int32_t NSPV_validatehdrs(struct NSPV_ntzsproofresp *ptr) |
|
|
|
|
|
|
|
int32_t NSPV_gettransaction(int32_t skipvalidation,int32_t vout,uint256 txid,int32_t height,CTransaction &tx) |
|
|
|
{ |
|
|
|
int32_t offset,retval = 0; |
|
|
|
int32_t i,offset,retval = 0; |
|
|
|
NSPV_txproof(vout,txid,height); |
|
|
|
if ( NSPV_txproofresult.txid != txid ) |
|
|
|
{ |
|
|
|