|
|
@ -319,7 +319,7 @@ void iguana_bundletime(struct iguana_info *coin,struct iguana_bundle *bp,int32_t |
|
|
|
|
|
|
|
void iguana_gotblockM(struct iguana_info *coin,struct iguana_peer *addr,struct iguana_txblock *origtxdata,struct iguana_msgtx *txarray,struct iguana_msghdr *H,uint8_t *data,int32_t recvlen,int32_t fromcache) |
|
|
|
{ |
|
|
|
struct iguana_bundlereq *req; struct iguana_txblock *txdata = 0; int32_t len,valid,speculative=0,i,j,bundlei,copyflag,numtx; struct iguana_block *block; struct iguana_bundle *bp; uint32_t now; char str[65]; |
|
|
|
struct iguana_bundlereq *req; struct iguana_txblock *txdata = 0; int32_t valid,speculative=0,i,j,bundlei,copyflag,numtx; struct iguana_block *block; struct iguana_bundle *bp; uint32_t now; char str[65]; |
|
|
|
if ( recvlen < 0 || recvlen > IGUANA_MAXPACKETSIZE ) |
|
|
|
{ |
|
|
|
printf("iguana_getblockM: illegal recvlen.%d\n",recvlen); |
|
|
@ -355,8 +355,7 @@ void iguana_gotblockM(struct iguana_info *coin,struct iguana_peer *addr,struct i |
|
|
|
{ |
|
|
|
printf("got block that doesnt validate? %s\n",bits256_str(str,origtxdata->zblock.RO.hash2)); |
|
|
|
return; |
|
|
|
} |
|
|
|
//else if ( 0 && coin->enableCACHE != 0 )
|
|
|
|
} else if ( 0 && coin->enableCACHE != 0 ) |
|
|
|
printf("c.%d v.(%s) %s n%d\n",coin->enableCACHE,bits256_str(str,origtxdata->zblock.RO.hash2),addr->ipaddr,addr->pendblocks); |
|
|
|
origtxdata->zblock.txvalid = 1; |
|
|
|
if ( fromcache == 0 && coin->virtualchain == 0 && addr != 0 && addr != &coin->internaladdr ) |
|
|
@ -535,9 +534,9 @@ void iguana_gotblockM(struct iguana_info *coin,struct iguana_peer *addr,struct i |
|
|
|
netBLOCKS++; |
|
|
|
} |
|
|
|
req->addr = addr; |
|
|
|
if ( (bits256_cmp(origtxdata->zblock.RO.hash2,coin->blocks.hwmchain.RO.hash2) == 0 || req->zblock.mainchain == 0 || req->zblock.valid == 0 || req->zblock.txvalid == 0) && iguana_RTrawdata(coin,origtxdata->zblock.RO.hash2,0,&len,&numtx,1) == 0 ) |
|
|
|
//if ( (bits256_cmp(origtxdata->zblock.RO.hash2,coin->blocks.hwmchain.RO.hash2) == 0 || req->zblock.mainchain == 0 || req->zblock.valid == 0 || req->zblock.txvalid == 0) && iguana_RTrawdata(coin,origtxdata->zblock.RO.hash2,0,&len,&numtx,1) == 0 )
|
|
|
|
queue_enqueue("recvQ",&coin->recvQ,&req->DL,0); |
|
|
|
else printf("skipQ.(%s)\n",bits256_str(str,origtxdata->zblock.RO.hash2)); |
|
|
|
//else printf("skipQ.(%s)\n",bits256_str(str,origtxdata->zblock.RO.hash2));
|
|
|
|
} else printf("nonz fpos.%d %s\n",txdata->zblock.fpos,bits256_str(str,origtxdata->zblock.RO.hash2)); |
|
|
|
} |
|
|
|
|
|
|
|