Browse Source

test

pull/4/head
jl777 8 years ago
parent
commit
c93dc546d2
  1. 6
      src/komodo.h
  2. 8
      src/komodo_bitcoind.h
  3. 28
      src/komodo_notary.h

6
src/komodo.h

@ -26,7 +26,7 @@
#include <ctype.h>
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

8
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 )
{

28
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<n; k++)
if ( didinit == 0 )
{
if ( Notaries_genesis[k][0] == 0 || Notaries_genesis[k][1] == 0 || Notaries_genesis[k][0][0] == 0 || Notaries_genesis[k][1][0] == 0 )
break;
decode_hex(pubkeys[k],33,(char *)Notaries_genesis[k][1]);
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<n; k++)
{
if ( Notaries_genesis[k][0] == 0 || Notaries_genesis[k][1] == 0 || Notaries_genesis[k][0][0] == 0 || Notaries_genesis[k][1][0] == 0 )
break;
decode_hex(pubkeys[k],33,(char *)Notaries_genesis[k][1]);
}
komodo_notarysinit(0,pubkeys,k);
memset(&zero,0,sizeof(zero));
}
komodo_notarysinit(0,pubkeys,k);
memset(&zero,0,sizeof(zero));
komodo_stateupdate(0,0,0,0,zero,0,0,0,0,0,0,0,0,0);
}
}

Loading…
Cancel
Save