test
This commit is contained in:
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user