|
|
@ -903,12 +903,13 @@ uint32_t komodo_interest_args(uint32_t *txheighttimep,int32_t *txheightp,uint32_ |
|
|
|
uint32_t locktime = 0; |
|
|
|
if ( n < tx.vout.size() ) |
|
|
|
{ |
|
|
|
if ( (pindex= mapBlockIndex[hashBlock]) != 0 && (tipindex= chainActive.Tip()) != 0 ) |
|
|
|
if ( (pindex= mapBlockIndex[hashBlock]) != 0 ) |
|
|
|
{ |
|
|
|
*valuep = tx.vout[n].nValue; |
|
|
|
*txheightp = pindex->nHeight; |
|
|
|
*txheighttimep = pindex->nTime; |
|
|
|
*tiptimep = tipindex->nTime; |
|
|
|
if ( *tiptimep == 0 && (tipindex= chainActive.Tip()) != 0 ) |
|
|
|
*tiptimep = (uint32_t)tipindex->nTime; |
|
|
|
locktime = tx.nLockTime; |
|
|
|
//fprintf(stderr,"tx locktime.%u %.8f height.%d | tiptime.%u\n",locktime,(double)*valuep/COIN,*txheightp,*tiptimep);
|
|
|
|
} |
|
|
@ -917,9 +918,12 @@ uint32_t komodo_interest_args(uint32_t *txheighttimep,int32_t *txheightp,uint32_ |
|
|
|
} |
|
|
|
|
|
|
|
uint64_t komodo_interest(int32_t txheight,uint64_t nValue,uint32_t nLockTime,uint32_t tiptime); |
|
|
|
uint64_t komodo_accrued_interest(int32_t *txheightp,uint32_t *locktimep,uint256 hash,int32_t n,int32_t checkheight,uint64_t checkvalue) |
|
|
|
|
|
|
|
uint64_t komodo_accrued_interest(int32_t *txheightp,uint32_t *locktimep,uint256 hash,int32_t n,int32_t checkheight,uint64_t checkvalue,int32_t tipheight) |
|
|
|
{ |
|
|
|
uint64_t value; uint32_t tiptime,txheighttimep; |
|
|
|
uint64_t value; uint32_t tiptime=0,txheighttimep; CBlockIndex *pindex; |
|
|
|
if ( (pindex= chainActive[tipheight]) != 0 ) |
|
|
|
tiptime = (uint32_t)pindex->nTime; |
|
|
|
if ( (*locktimep= komodo_interest_args(&txheighttimep,txheightp,&tiptime,&value,hash,n)) != 0 ) |
|
|
|
{ |
|
|
|
if ( (checkvalue == 0 || value == checkvalue) && (checkheight == 0 || *txheightp == checkheight) ) |
|
|
|