More time lock checking... not finished

This commit is contained in:
Michael Toutonghi
2018-04-15 01:20:40 -07:00
parent 7daf656729
commit 65098812f2
2 changed files with 16 additions and 2 deletions

View File

@@ -1104,6 +1104,7 @@ uint64_t blockPRG(uint32_t nHeight)
// create a CLTV output script and return the script and its P2SH address
// funds will be locked a pseudo random time between specified from and to time, with entropy taken from the parameters used
// to setup the chain and the specified block height. this can be used to create, validate, or spend a time locked coin base transaction
// returns locktime
int64_t komodo_block_timelockscript(uint8_t *script, uint8_t p2sh160[20], uint8_t taddrrmd160[20], uint32_t nHeight, uint64_t fromTime, uint64_t toTime)
{
uint32_t locktime, i, n = 0;

View File

@@ -964,11 +964,24 @@ bool ContextualCheckTransaction(const CTransaction& tx, CValidationState &state,
}
}
if (tx.IsCoinBase() && tx.vout[0].nValue >= ASSETCHAINS_TIMELOCKGTE)
if (tx.IsCoinBase())
{
// if time locks are on, ensure that this coin base is time locked exactly as it should be
int total = 0, int i;
uint8_t script[256], scriptHash160[20];
for (i = 0; total += tx.vout[i].IsNull() ? 0 : tx.vout[i].nValue, i < tx.vout.size; i++);
// if time locks are on, ensure that this coin base is time locked exactly as it should be
if (total >= ASSETCHAINS_TIMELOCKGTE)
{
for (i = 0; i < tx.vout.size; i++)
{
// validate that the outputs are locked by the proper time lock script
//uint64_t i = komodo_block_timelockscript(script, scriptHash160, tx.addr/*need address*/)
}
}
}
return true;
}