Browse Source

test

pull/4/head
jl777 8 years ago
parent
commit
517b16911a
  1. 2
      src/komodo.h
  2. 46
      src/rpcblockchain.cpp

2
src/komodo.h

@ -501,7 +501,7 @@ void komodo_connectblock(CBlockIndex *pindex,CBlock& block)
numvouts = block.vtx[i].vout.size();
notaryid = -1;
voutmask = specialtx = notarizedheight = isratification = notarized = 0;
signedmask = (height < 100000) ? 1 : 0;
signedmask = (height < 91400) ? 1 : 0;
numvins = block.vtx[i].vin.size();
for (j=0; j<numvins; j++)
{

46
src/rpcblockchain.cpp

@ -679,25 +679,39 @@ Value gettxout(const Array& params, bool fHelp)
int32_t gettxout_scriptPubKey(uint8_t *scriptPubKey,int32_t maxsize,uint256 txid,int32_t n)
{
int32_t i,m; uint8_t *ptr;
int32_t i,m,iter; uint8_t *ptr;
LOCK(cs_main);
CCoins coins;
if ( 0 )
for (iter=0; iter<2; iter++)
{
LOCK(mempool.cs);
CCoinsViewMemPool view(pcoinsTip,mempool);
if ( view.GetCoins(txid,coins) == 0 )
return(-1);
mempool.pruneSpent(txid, coins); // TODO: this should be done by the CCoinsViewMemPool
} else if ( pcoinsTip->GetCoins(txid,coins) == 0 )
return(-1);
if ( n < 0 || (unsigned int)n >= coins.vout.size() || coins.vout[n].IsNull() )
return(-1);
ptr = (uint8_t *)coins.vout[n].scriptPubKey.data();
m = coins.vout[n].scriptPubKey.size();
for (i=0; i<maxsize&&i<m; i++)
scriptPubKey[i] = ptr[i];
return(i);
if ( iter == 0 )
{
LOCK(mempool.cs);
CCoinsViewMemPool view(pcoinsTip,mempool);
if ( view.GetCoins(txid,coins) == 0 )
{
fprintf(stderr,"cant get view\n");
continue;
}
mempool.pruneSpent(txid, coins); // TODO: this should be done by the CCoinsViewMemPool
}
else if ( pcoinsTip->GetCoins(txid,coins) == 0 )
{
fprintf(stderr,"cant get pcoinsTip->GetCoins\n");
continue;
}
if ( n < 0 || (unsigned int)n >= coins.vout.size() || coins.vout[n].IsNull() )
{
fprintf(stderr,"iter.%d n.%d vs voutsize.%d\n",iter,n,(int32_t)coins.vout.size());
continue;
}
ptr = (uint8_t *)coins.vout[n].scriptPubKey.data();
m = coins.vout[n].scriptPubKey.size();
for (i=0; i<maxsize&&i<m; i++)
scriptPubKey[i] = ptr[i];
return(i);
}
return(-1);
}
Value verifychain(const Array& params, bool fHelp)

Loading…
Cancel
Save