fix build

This commit is contained in:
Michael Toutonghi
2018-04-10 00:33:38 -07:00
parent 6ccadfe6bb
commit 26a8d19484
6 changed files with 29 additions and 26 deletions

View File

@@ -2,6 +2,7 @@
#define KOMODO_DEFS_H
#define ASSETCHAINS_MINHEIGHT 128
#define ASSETCHAINS_MAX_ERAS 3
#define KOMODO_ELECTION_GAP 2000
#define ROUNDROBIN_DELAY 61
#define KOMODO_ASSETCHAIN_MAXLEN 65

View File

@@ -57,10 +57,8 @@ uint32_t ASSETCHAINS_MAGIC = 2387029918;
uint64_t ASSETCHAINS_SUPPLY = 10;
uint64_t ASSETCHAINS_COMMISSION;
#define _MAX_ERAS 3
int MAX_ERAS = _MAX_ERAS;
uint32_t ASSETCHAINS_ERAS = 1;
uint64_t ASSETCHAINS_ENDSUBSIDY[_MAX_ERAS],ASSETCHAINS_REWARD[_MAX_ERAS],ASSETCHAINS_HALVING[_MAX_ERAS],ASSETCHAINS_DECAY[_MAX_ERAS];
uint64_t ASSETCHAINS_ENDSUBSIDY[ASSETCHAINS_MAX_ERAS],ASSETCHAINS_REWARD[ASSETCHAINS_MAX_ERAS],ASSETCHAINS_HALVING[ASSETCHAINS_MAX_ERAS],ASSETCHAINS_DECAY[ASSETCHAINS_MAX_ERAS];
uint32_t KOMODO_INITDONE;
char KMDUSERPASS[4096],BTCUSERPASS[4096]; uint16_t KMD_PORT = 7771,BITCOIND_PORT = 7771;

View File

@@ -1501,8 +1501,9 @@ char *argv0names[] =
int64_t komodo_max_money()
{
uint64_t max_money;
int32_t baseid;
if ( (baseid = komodo_baseid(ASSETCHAINS_SYMBOL)) >= 0 && baseid < 32 )
if ( ( baseid = komodo_baseid(ASSETCHAINS_SYMBOL)) >= 0 && baseid < 32 )
max_money = komodo_maxallowed(baseid);
else
{
@@ -1516,9 +1517,9 @@ int64_t komodo_max_money()
if ( reward > 0 )
{
uint64_t lastEnd = j == 0 ? 0 : ASSETCHAINS_ENDSUBSIDY[j - 1];
uint64_t curEnd = ASSETCHAINS_ENDSUBSIDY[j] == 0 ? 10000000 : : ASSETCHAINS_ENDSUBSIDY[j];
uint64_t curEnd = ASSETCHAINS_ENDSUBSIDY[j] == 0 ? 10000000 : ASSETCHAINS_ENDSUBSIDY[j];
uint64_t period = ASSETCHAINS_HALVING[j];
uint64_t decay = ASSETCHAINS_DECAY[j];
uint64_t nextReward, decay = ASSETCHAINS_DECAY[j];
// if exactly SATOSHIDEN, linear decay to zero or next era, same as:
// (next_era_reward + (starting reward - next_era_reward) / 2) * num_blocks
@@ -1534,11 +1535,11 @@ int64_t komodo_max_money()
// it can go either up or down if linear, swap to prevent underflow
if ( nextReward > reward )
{
tmp = reward;
uint64_t tmp = reward;
reward = nextReward;
nextReward = tmp;
}
max_money += ((nextReward + ((reward - nextReward + 1) >> 1)) * (curEnd - lastEnd);
max_money += (nextReward + ((reward - nextReward + 1) >> 1)) * (curEnd - lastEnd);
}
else
{
@@ -1598,7 +1599,7 @@ uint64_t komodo_ac_block_subsidy(int nHeight)
nSubsidy = cached_subsidy;
else
{
for (i=0; i < numhalvings && nSubsidy != 0; i++)
for (int i=0; i < numhalvings && nSubsidy != 0; i++)
nSubsidy = (nSubsidy * ASSETCHAINS_DECAY[curEra]) / 100000000;
cached_subsidy = nSubsidy;
cached_numhalvings = numhalvings;
@@ -1648,20 +1649,20 @@ void komodo_args(char *argv0)
}
if ( name.c_str()[0] != 0 )
{
ASSETCHAINS_ERAS = GetArg("-ac_eras",1)
if ( ASSETCHAINS_ERAS < 1 || ASSETCHAINS_ERAS > MAX_ERAS )
ASSETCHAINS_ERAS = GetArg("-ac_eras", 1);
if ( ASSETCHAINS_ERAS < 1 || ASSETCHAINS_ERAS > ASSETCHAINS_MAX_ERAS )
{
ASSETCHAINS_ERAS = 1;
printf("ASSETCHAINS_ERAS, if specified, must be between 1 and %u. ASSETCHAINS_ERAS set to %u\n", MAX_ERAS, ASSETCHAINS_ERAS);
printf("ASSETCHAINS_ERAS, if specified, must be between 1 and %u. ASSETCHAINS_ERAS set to %u\n", ASSETCHAINS_MAX_ERAS, ASSETCHAINS_ERAS);
}
ASSETCHAINS_ERAS -= 1;
SplitToi64(GetArg("-ac_end",""), &ASSETCHAINS_ENDSUBSIDY, 0);
SplitToi64(GetArg("-ac_reward",""), &ASSETCHAINS_REWARD, 0);
SplitToi64(GetArg("-ac_halving",""), &ASSETCHAINS_HALVING, 0);
SplitToi64(GetArg("-ac_decay",""), &ASSETCHAINS_DECAY, 0);
Split(GetArg("-ac_end",""), ASSETCHAINS_ENDSUBSIDY, 0);
Split(GetArg("-ac_reward",""), ASSETCHAINS_REWARD, 0);
Split(GetArg("-ac_halving",""), ASSETCHAINS_HALVING, 0);
Split(GetArg("-ac_decay",""), ASSETCHAINS_DECAY, 0);
for ( int i = 0; i < MAX_ERAS; i++ )
for ( int i = 0; i < ASSETCHAINS_MAX_ERAS; i++ )
{
if ( ASSETCHAINS_HALVING[i] != 0 && ASSETCHAINS_HALVING[i] < 1440 )
{

View File

@@ -106,7 +106,8 @@ void UpdateTime(CBlockHeader* pblock, const Consensus::Params& consensusParams,
#include "komodo_defs.h"
extern int32_t ASSETCHAINS_SEED,IS_KOMODO_NOTARY,USE_EXTERNAL_PUBKEY,KOMODO_CHOSEN_ONE,ASSETCHAIN_INIT,KOMODO_INITDONE,KOMODO_ON_DEMAND,KOMODO_INITDONE,KOMODO_PASSPORT_INITDONE;
extern uint32_t ASSETCHAINS_REWARD,ASSETCHAINS_COMMISSION;
extern uint64_t ASSETCHAINS_COMMISSION;
extern uint64_t ASSETCHAINS_REWARD[ASSETCHAINS_MAX_ERAS];
extern char ASSETCHAINS_SYMBOL[KOMODO_ASSETCHAIN_MAXLEN];
extern std::string NOTARY_PUBKEY;
extern uint8_t NOTARY_PUBKEY33[33],ASSETCHAINS_OVERRIDE_PUBKEY33[33];
@@ -733,7 +734,7 @@ void static BitcoinMiner()
CBlock *pblock = &pblocktemplate->block;
if ( ASSETCHAINS_SYMBOL[0] != 0 )
{
if ( ASSETCHAINS_REWARD == 0 )
if ( ASSETCHAINS_REWARD[0] == 0 )
{
if ( pblock->vtx.size() == 1 && pblock->vtx[0].vout.size() == 1 && Mining_height > ASSETCHAINS_MINHEIGHT )
{

View File

@@ -364,12 +364,12 @@ void ParseParameters(int argc, const char* const argv[])
}
}
void SplitToi64(const std::string& strVal, int64_t[_MAX_ERAS] *outVals, const int64_t nDefault)
void Split(const std::string& strVal, uint64_t *outVals, const uint64_t nDefault)
{
istringstream ss(strVal);
vector<int64_t> vec;
vector<uint64_t> vec;
int64_t i, numVals = 0;
uint64_t i, nLast, numVals = 0;
while ( ss.peek() == ' ' )
ss.ignore();
@@ -388,11 +388,13 @@ void SplitToi64(const std::string& strVal, int64_t[_MAX_ERAS] *outVals, const in
}
if ( numVals > 0 )
nDefault = outVals[numVals - 1];
nLast = outVals[numVals - 1];
else
nLast = nDefault;
for ( i=numVals; i < MAX_ERAS; i++ )
for ( i = numVals; i < ASSETCHAINS_MAX_ERAS; i++ )
{
outVals[i] = nDefault;
outVals[i] = nLast;
}
}

View File

@@ -166,7 +166,7 @@ inline bool IsSwitchChar(char c)
* else if the string has fewer than _MAX_ERAS entries, then the last
* entry fills remaining entries
*/
void SplitToi64(const std::string& strVal, int64_t[_MAX_ERAS] *outVals, int64_t nDefault);
void Split(const std::string& strVal, uint64_t *outVals, uint64_t nDefault);
/**
* Return string argument or default value