@ -117,9 +117,9 @@ UniValue blockheaderToJSON(const CBlockIndex* blockindex)
int confirmations = - 1 ;
// Only report confirmations if the block is on the main chain
if ( chainActive . Contains ( blockindex ) )
confirmations = chainActive . Height ( ) - blockindex - > nHeight + 1 ;
confirmations = chainActive . Height ( ) - blockindex - > GetHeight ( ) + 1 ;
result . push_back ( Pair ( " confirmations " , confirmations ) ) ;
result . push_back ( Pair ( " height " , blockindex - > nHeight ) ) ;
result . push_back ( Pair ( " height " , blockindex - > GetHeight ( ) ) ) ;
result . push_back ( Pair ( " version " , blockindex - > nVersion ) ) ;
result . push_back ( Pair ( " merkleroot " , blockindex - > hashMerkleRoot . GetHex ( ) ) ) ;
result . push_back ( Pair ( " finalsaplingroot " , blockindex - > hashFinalSaplingRoot . GetHex ( ) ) ) ;
@ -128,7 +128,7 @@ UniValue blockheaderToJSON(const CBlockIndex* blockindex)
result . push_back ( Pair ( " solution " , HexStr ( blockindex - > nSolution ) ) ) ;
result . push_back ( Pair ( " bits " , strprintf ( " %08x " , blockindex - > nBits ) ) ) ;
result . push_back ( Pair ( " difficulty " , GetDifficulty ( blockindex ) ) ) ;
result . push_back ( Pair ( " chainwork " , blockindex - > nC hainWork. GetHex ( ) ) ) ;
result . push_back ( Pair ( " chainwork " , blockindex - > chainPower . c hainWork. GetHex ( ) ) ) ;
result . push_back ( Pair ( " segid " , ( int64_t ) blockindex - > segid ) ) ;
if ( blockindex - > pprev )
@ -146,13 +146,13 @@ UniValue blockToDeltasJSON(const CBlock& block, const CBlockIndex* blockindex)
int confirmations = - 1 ;
// Only report confirmations if the block is on the main chain
if ( chainActive . Contains ( blockindex ) ) {
confirmations = chainActive . Height ( ) - blockindex - > nHeight + 1 ;
confirmations = chainActive . Height ( ) - blockindex - > GetHeight ( ) + 1 ;
} else {
throw JSONRPCError ( RPC_INVALID_ADDRESS_OR_KEY , " Block is an orphan " ) ;
}
result . push_back ( Pair ( " confirmations " , confirmations ) ) ;
result . push_back ( Pair ( " size " , ( int ) : : GetSerializeSize ( block , SER_NETWORK , PROTOCOL_VERSION ) ) ) ;
result . push_back ( Pair ( " height " , blockindex - > nHeight ) ) ;
result . push_back ( Pair ( " height " , blockindex - > GetHeight ( ) ) ) ;
result . push_back ( Pair ( " version " , block . nVersion ) ) ;
result . push_back ( Pair ( " merkleroot " , block . hashMerkleRoot . GetHex ( ) ) ) ;
result . push_back ( Pair ( " segid " , ( int64_t ) blockindex - > segid ) ) ;
@ -249,7 +249,7 @@ UniValue blockToDeltasJSON(const CBlock& block, const CBlockIndex* blockindex)
result . push_back ( Pair ( " nonce " , block . nNonce . GetHex ( ) ) ) ;
result . push_back ( Pair ( " bits " , strprintf ( " %08x " , block . nBits ) ) ) ;
result . push_back ( Pair ( " difficulty " , GetDifficulty ( blockindex ) ) ) ;
result . push_back ( Pair ( " chainwork " , blockindex - > nC hainWork. GetHex ( ) ) ) ;
result . push_back ( Pair ( " chainwork " , blockindex - > chainPower . c hainWork. GetHex ( ) ) ) ;
if ( blockindex - > pprev )
result . push_back ( Pair ( " previousblockhash " , blockindex - > pprev - > GetBlockHash ( ) . GetHex ( ) ) ) ;
@ -266,10 +266,10 @@ UniValue blockToJSON(const CBlock& block, const CBlockIndex* blockindex, bool tx
int confirmations = - 1 ;
// Only report confirmations if the block is on the main chain
if ( chainActive . Contains ( blockindex ) )
confirmations = chainActive . Height ( ) - blockindex - > nHeight + 1 ;
confirmations = chainActive . Height ( ) - blockindex - > GetHeight ( ) + 1 ;
result . push_back ( Pair ( " confirmations " , confirmations ) ) ;
result . push_back ( Pair ( " size " , ( int ) : : GetSerializeSize ( block , SER_NETWORK , PROTOCOL_VERSION ) ) ) ;
result . push_back ( Pair ( " height " , blockindex - > nHeight ) ) ;
result . push_back ( Pair ( " height " , blockindex - > GetHeight ( ) ) ) ;
result . push_back ( Pair ( " version " , block . nVersion ) ) ;
result . push_back ( Pair ( " merkleroot " , block . hashMerkleRoot . GetHex ( ) ) ) ;
result . push_back ( Pair ( " segid " , ( int64_t ) blockindex - > segid ) ) ;
@ -292,7 +292,7 @@ UniValue blockToJSON(const CBlock& block, const CBlockIndex* blockindex, bool tx
result . push_back ( Pair ( " solution " , HexStr ( block . nSolution ) ) ) ;
result . push_back ( Pair ( " bits " , strprintf ( " %08x " , block . nBits ) ) ) ;
result . push_back ( Pair ( " difficulty " , GetDifficulty ( blockindex ) ) ) ;
result . push_back ( Pair ( " chainwork " , blockindex - > nC hainWork. GetHex ( ) ) ) ;
result . push_back ( Pair ( " chainwork " , blockindex - > chainPower . c hainWork. GetHex ( ) ) ) ;
result . push_back ( Pair ( " anchor " , blockindex - > hashFinalSproutRoot . GetHex ( ) ) ) ;
result . push_back ( Pair ( " blocktype " , block . IsVerusPOSBlock ( ) ? " minted " : " mined " ) ) ;
@ -819,6 +819,7 @@ UniValue gettxoutsetinfo(const UniValue& params, bool fHelp)
# define KOMODO_KVDURATION 1440
# define KOMODO_KVBINARY 2
extern char ASSETCHAINS_SYMBOL [ KOMODO_ASSETCHAIN_MAXLEN ] ;
extern int32_t ASSETCHAINS_LWMAPOS ;
uint64_t komodo_paxprice ( uint64_t * seedp , int32_t height , char * base , char * rel , uint64_t basevolume ) ;
int32_t komodo_paxprices ( int32_t * heights , uint64_t * prices , int32_t max , char * base , char * rel ) ;
int32_t komodo_notaries ( uint8_t pubkeys [ 64 ] [ 33 ] , int32_t height , uint32_t timestamp ) ;
@ -856,13 +857,13 @@ UniValue kvsearch(const UniValue& params, bool fHelp)
if ( ( keylen = ( int32_t ) strlen ( params [ 0 ] . get_str ( ) . c_str ( ) ) ) > 0 )
{
ret . push_back ( Pair ( " coin " , ( char * ) ( ASSETCHAINS_SYMBOL [ 0 ] = = 0 ? " KMD " : ASSETCHAINS_SYMBOL ) ) ) ;
ret . push_back ( Pair ( " currentheight " , ( int64_t ) chainActive . LastTip ( ) - > nHeight ) ) ;
ret . push_back ( Pair ( " currentheight " , ( int64_t ) chainActive . LastTip ( ) - > GetHeight ( ) ) ) ;
ret . push_back ( Pair ( " key " , params [ 0 ] . get_str ( ) ) ) ;
ret . push_back ( Pair ( " keylen " , keylen ) ) ;
if ( keylen < sizeof ( key ) )
{
memcpy ( key , params [ 0 ] . get_str ( ) . c_str ( ) , keylen ) ;
if ( ( valuesize = komodo_kvsearch ( & refpubkey , chainActive . LastTip ( ) - > nHeight , & flags , & height , value , key , keylen ) ) > = 0 )
if ( ( valuesize = komodo_kvsearch ( & refpubkey , chainActive . LastTip ( ) - > GetHeight ( ) , & flags , & height , value , key , keylen ) ) > = 0 )
{
std : : string val ; char * valuestr ;
val . resize ( valuesize ) ;
@ -890,7 +891,7 @@ UniValue minerids(const UniValue& params, bool fHelp)
LOCK ( cs_main ) ;
int32_t height = atoi ( params [ 0 ] . get_str ( ) . c_str ( ) ) ;
if ( height < = 0 )
height = chainActive . LastTip ( ) - > nHeight ;
height = chainActive . LastTip ( ) - > GetHeight ( ) ;
else
{
CBlockIndex * pblockindex = chainActive [ height ] ;
@ -952,7 +953,7 @@ UniValue notaries(const UniValue& params, bool fHelp)
else timestamp = ( uint32_t ) time ( NULL ) ;
if ( height < 0 )
{
height = chainActive . LastTip ( ) - > nHeight ;
height = chainActive . LastTip ( ) - > GetHeight ( ) ;
timestamp = chainActive . LastTip ( ) - > GetBlockTime ( ) ;
}
else if ( params . size ( ) < 2 )
@ -1041,7 +1042,7 @@ UniValue paxprice(const UniValue& params, bool fHelp)
std : : string rel = params [ 1 ] . get_str ( ) ;
int32_t height ;
if ( params . size ( ) = = 2 )
height = chainActive . LastTip ( ) - > nHeight ;
height = chainActive . LastTip ( ) - > GetHeight ( ) ;
else height = atoi ( params [ 2 ] . get_str ( ) . c_str ( ) ) ;
//if ( params.size() == 3 || (basevolume= COIN * atof(params[3].get_str().c_str())) == 0 )
basevolume = 100000 ;
@ -1175,10 +1176,10 @@ UniValue gettxout(const UniValue& params, bool fHelp)
ret . push_back ( Pair ( " bestblock " , pindex - > GetBlockHash ( ) . GetHex ( ) ) ) ;
if ( ( unsigned int ) coins . nHeight = = MEMPOOL_HEIGHT )
ret . push_back ( Pair ( " confirmations " , 0 ) ) ;
else ret . push_back ( Pair ( " confirmations " , pindex - > nHeight - coins . nHeight + 1 ) ) ;
else ret . push_back ( Pair ( " confirmations " , pindex - > GetHeight ( ) - coins . nHeight + 1 ) ) ;
ret . push_back ( Pair ( " value " , ValueFromAmount ( coins . vout [ n ] . nValue ) ) ) ;
uint64_t interest ; int32_t txheight ; uint32_t locktime ;
if ( ( interest = komodo_accrued_interest ( & txheight , & locktime , hash , n , coins . nHeight , coins . vout [ n ] . nValue , ( int32_t ) pindex - > nHeight ) ) ! = 0 )
if ( ( interest = komodo_accrued_interest ( & txheight , & locktime , hash , n , coins . nHeight , coins . vout [ n ] . nValue , ( int32_t ) pindex - > GetHeight ( ) ) ) ! = 0 )
ret . push_back ( Pair ( " interest " , ValueFromAmount ( interest ) ) ) ;
UniValue o ( UniValue : : VOBJ ) ;
ScriptPubKeyToJSON ( coins . vout [ n ] . scriptPubKey , o , true ) ;
@ -1338,11 +1339,15 @@ UniValue getblockchaininfo(const UniValue& params, bool fHelp)
UniValue obj ( UniValue : : VOBJ ) ;
obj . push_back ( Pair ( " chain " , Params ( ) . NetworkIDString ( ) ) ) ;
obj . push_back ( Pair ( " blocks " , ( int ) chainActive . Height ( ) ) ) ;
obj . push_back ( Pair ( " headers " , pindexBestHeader ? pindexBestHeader - > nHeight : - 1 ) ) ;
obj . push_back ( Pair ( " headers " , pindexBestHeader ? pindexBestHeader - > GetHeight ( ) : - 1 ) ) ;
obj . push_back ( Pair ( " bestblockhash " , chainActive . LastTip ( ) - > GetBlockHash ( ) . GetHex ( ) ) ) ;
obj . push_back ( Pair ( " difficulty " , ( double ) GetNetworkDifficulty ( ) ) ) ;
obj . push_back ( Pair ( " verificationprogress " , progress ) ) ;
obj . push_back ( Pair ( " chainwork " , chainActive . LastTip ( ) - > nChainWork . GetHex ( ) ) ) ;
obj . push_back ( Pair ( " chainwork " , chainActive . LastTip ( ) - > chainPower . chainWork . GetHex ( ) ) ) ;
if ( ASSETCHAINS_LWMAPOS )
{
obj . push_back ( Pair ( " chainstake " , chainActive . LastTip ( ) - > chainPower . chainStake . GetHex ( ) ) ) ;
}
obj . push_back ( Pair ( " pruned " , fPruneMode ) ) ;
SproutMerkleTree tree ;
@ -1364,13 +1369,13 @@ UniValue getblockchaininfo(const UniValue& params, bool fHelp)
UniValue upgrades ( UniValue : : VOBJ ) ;
for ( int i = Consensus : : UPGRADE_OVERWINTER ; i < Consensus : : MAX_NETWORK_UPGRADES ; i + + ) {
NetworkUpgradeDescPushBack ( upgrades , consensusParams , Consensus : : UpgradeIndex ( i ) , tip - > nHeight ) ;
NetworkUpgradeDescPushBack ( upgrades , consensusParams , Consensus : : UpgradeIndex ( i ) , tip - > GetHeight ( ) ) ;
}
obj . push_back ( Pair ( " upgrades " , upgrades ) ) ;
UniValue consensus ( UniValue : : VOBJ ) ;
consensus . push_back ( Pair ( " chaintip " , HexInt ( CurrentEpochBranchId ( tip - > nHeight , consensusParams ) ) ) ) ;
consensus . push_back ( Pair ( " nextblock " , HexInt ( CurrentEpochBranchId ( tip - > nHeight + 1 , consensusParams ) ) ) ) ;
consensus . push_back ( Pair ( " chaintip " , HexInt ( CurrentEpochBranchId ( tip - > GetHeight ( ) , consensusParams ) ) ) ) ;
consensus . push_back ( Pair ( " nextblock " , HexInt ( CurrentEpochBranchId ( tip - > GetHeight ( ) + 1 , consensusParams ) ) ) ) ;
obj . push_back ( Pair ( " consensus " , consensus ) ) ;
if ( fPruneMode )
@ -1379,7 +1384,7 @@ UniValue getblockchaininfo(const UniValue& params, bool fHelp)
while ( block & & block - > pprev & & ( block - > pprev - > nStatus & BLOCK_HAVE_DATA ) )
block = block - > pprev ;
obj . push_back ( Pair ( " pruneheight " , block - > nHeight ) ) ;
obj . push_back ( Pair ( " pruneheight " , block - > GetHeight ( ) ) ) ;
}
return obj ;
}
@ -1392,8 +1397,8 @@ struct CompareBlocksByHeight
/* Make sure that unequal blocks with the same height do not compare
equal . Use the pointers themselves to make a distinction . */
if ( a - > nHeight ! = b - > nHeight )
return ( a - > nHeight > b - > nHeight ) ;
if ( a - > GetHeight ( ) ! = b - > GetHeight ( ) )
return ( a - > GetHeight ( ) > b - > GetHeight ( ) ) ;
return a < b ;
}
@ -1458,12 +1463,12 @@ UniValue getchaintips(const UniValue& params, bool fHelp)
BOOST_FOREACH ( const CBlockIndex * block , setTips )
{
UniValue obj ( UniValue : : VOBJ ) ;
obj . push_back ( Pair ( " height " , block - > nHeight ) ) ;
obj . push_back ( Pair ( " height " , block - > GetHeight ( ) ) ) ;
obj . push_back ( Pair ( " hash " , block - > phashBlock - > GetHex ( ) ) ) ;
forked = chainActive . FindFork ( block ) ;
if ( forked ! = 0 )
{
const int branchLen = block - > nHeight - forked - > nHeight ;
const int branchLen = block - > GetHeight ( ) - forked - > GetHeight ( ) ;
obj . push_back ( Pair ( " branchlen " , branchLen ) ) ;
string status ;