diff --git a/iguana/iguana_realtime.c b/iguana/iguana_realtime.c index 6b8cda935..c85762b45 100755 --- a/iguana/iguana_realtime.c +++ b/iguana/iguana_realtime.c @@ -784,12 +784,12 @@ void iguana_RTreset(struct iguana_info *coin) iguana_utxoaddrs_purge(coin); //iguana_utxoupdate(coin,-1,0,0,0,0,-1,0); // free hashtables coin->lastRTheight = 0; - coin->RTheight = coin->firstRTheight; iguana_RTdataset_free(coin); if ( coin->RTHASHMEM.ptr == 0 ) iguana_meminit(&coin->RTHASHMEM,"RTHASHMEM",0,1024*1024*1024,0); iguana_memreset(&coin->RTHASHMEM); printf("%s RTreset %d\n",coin->symbol,coin->RTheight); + coin->RTheight = coin->firstRTheight; } void iguana_RTunmap(uint8_t *ptr,uint32_t len) diff --git a/iguana/iguana_recv.c b/iguana/iguana_recv.c index 9b24914b9..cd1ca2943 100755 --- a/iguana/iguana_recv.c +++ b/iguana/iguana_recv.c @@ -1855,7 +1855,7 @@ int32_t iguana_processrecv(struct supernet_info *myinfo,struct iguana_info *coin coin->balanceflush = 0; //iguana_utxoaddr_gen(myinfo,coin,(coin->balanceswritten - 1) * coin->chain->bundlesize); } - if ( coin->RTheight > 0 && coin->RTheight <= coin->blocks.hwmchain.height ) + if ( coin->utxoaddrtable != 0 && coin->RTheight > 0 && coin->RTheight <= coin->blocks.hwmchain.height ) { struct iguana_block *block; if ( (block= iguana_blockfind("utxogen",coin,coin->blocks.hwmchain.RO.hash2)) != 0 ) diff --git a/iguana/iguana_unspents.c b/iguana/iguana_unspents.c index 8be2a09a4..8ff761c22 100755 --- a/iguana/iguana_unspents.c +++ b/iguana/iguana_unspents.c @@ -1257,7 +1257,7 @@ int32_t iguana_utxoaddr_validate(struct supernet_info *myinfo,struct iguana_info uint64_t iguana_RTstart(struct supernet_info *myinfo,struct iguana_info *coin,int32_t height) { //struct iguana_block *block; - coin->firstRTheight = coin->RTheight = height; + coin->firstRTheight = height; iguana_RTreset(coin); iguana_RTpurge(coin,coin->firstRTheight); basilisk_unspents_update(myinfo,coin);