From c93dc546d24edec9baf67256f558ecf040936637 Mon Sep 17 00:00:00 2001 From: jl777 Date: Mon, 7 Nov 2016 16:13:37 -0300 Subject: [PATCH] test --- src/komodo.h | 6 +++--- src/komodo_bitcoind.h | 8 ++++---- src/komodo_notary.h | 28 ++++++++++++++-------------- 3 files changed, 21 insertions(+), 21 deletions(-) diff --git a/src/komodo.h b/src/komodo.h index 2c812bc38..38b5c9e51 100644 --- a/src/komodo.h +++ b/src/komodo.h @@ -26,7 +26,7 @@ #include void komodo_stateupdate(int32_t height,uint8_t notarypubs[][33],uint8_t numnotaries,uint8_t notaryid,uint256 txhash,uint64_t voutmask,uint8_t numvouts,uint32_t *pvals,uint8_t numpvals,int32_t kheight,uint64_t opretvalue,uint8_t *opretbuf,uint16_t opretlen,uint16_t vout); -void komodo_init(); +void komodo_init(int32_t height); int32_t komodo_notarizeddata(int32_t nHeight,uint256 *notarized_hashp,uint256 *notarized_desttxidp); char *komodo_issuemethod(char *method,char *params,uint16_t port); @@ -150,7 +150,7 @@ void komodo_stateupdate(int32_t height,uint8_t notarypubs[][33],uint8_t numnotar printf("fname.(%s) fpos.%ld\n",fname,ftell(fp)); KOMODO_INITDONE = (uint32_t)time(NULL); } - if ( height <= 0 ) + if ( height <= 0 || ) { //printf("early return: stateupdate height.%d\n",height); return; @@ -347,7 +347,7 @@ void komodo_connectblock(CBlockIndex *pindex,CBlock& block) uint64_t signedmask,voutmask; uint8_t scriptbuf[4096],pubkeys[64][33]; uint256 kmdtxid,btctxid,txhash; int32_t i,j,k,numvalid,specialtx,notarizedheight,notaryid,len,numvouts,numvins,height,txn_count; - komodo_init(); + komodo_init(pindex->nHeight); if ( pindex->nHeight > hwmheight ) hwmheight = pindex->nHeight; else diff --git a/src/komodo_bitcoind.h b/src/komodo_bitcoind.h index 5cab4fb15..4306548c1 100644 --- a/src/komodo_bitcoind.h +++ b/src/komodo_bitcoind.h @@ -376,7 +376,7 @@ uint64_t komodo_seed(int32_t height) void komodo_disconnect(CBlockIndex *pindex,CBlock& block) { //int32_t i; uint256 hash; - komodo_init(); + komodo_init(pindex->nHeight); //hash = block.GetHash(); //for (i=0; i<32; i++) // printf("%02x",((uint8_t *)&hash)[i]); @@ -390,7 +390,6 @@ void komodo_disconnect(CBlockIndex *pindex,CBlock& block) int32_t komodo_block2height(CBlock *block) { int32_t i,n,height = 0; uint8_t *ptr; - komodo_init(); #ifdef KOMODO_ZCASH ptr = (uint8_t *)block->vtx[0].vin[0].scriptSig.data(); #else @@ -409,6 +408,7 @@ int32_t komodo_block2height(CBlock *block) } //printf(" <- coinbase.%d ht.%d\n",(int32_t)block->vtx[0].vin[0].scriptSig.size(),height); } + komodo_init(height); return(height); } @@ -419,14 +419,14 @@ void komodo_block2pubkey33(uint8_t *pubkey33,CBlock& block) #else uint8_t *ptr = (uint8_t *)&block.vtx[0].vout[0].scriptPubKey[0]; #endif - komodo_init(); + komodo_init(0); memcpy(pubkey33,ptr+1,33); } void komodo_index2pubkey33(uint8_t *pubkey33,CBlockIndex *pindex,int32_t height) { CBlock block; - komodo_init(); + komodo_init(height); memset(pubkey33,0,33); if ( pindex != 0 ) { diff --git a/src/komodo_notary.h b/src/komodo_notary.h index 6e834cba6..a106f8503 100644 --- a/src/komodo_notary.h +++ b/src/komodo_notary.h @@ -222,25 +222,25 @@ int32_t komodo_notarizeddata(int32_t nHeight,uint256 *notarized_hashp,uint256 *n return(0); } -void komodo_init() +void komodo_init(int32_t height) { static int didinit; uint256 zero; int32_t k,n; uint8_t pubkeys[64][33]; - if ( didinit == 0 ) + if ( height > didinit ) { - didinit = 1; - //iguana_initQ(&DepositsQ,(char *)"Deposits"); - //iguana_initQ(&PendingsQ,(char *)"Pendings"); - pthread_mutex_init(&komodo_mutex,NULL); - decode_hex(NOTARY_PUBKEY33,33,(char *)NOTARY_PUBKEY.c_str()); - n = (int32_t)(sizeof(Notaries_genesis)/sizeof(*Notaries_genesis)); - for (k=0; k