add LABST2 to block reward chains. Add exeption to verushash staker to increase staking diff in first 50 bocks.
This commit is contained in:
@@ -1437,7 +1437,7 @@ uint32_t komodo_stake(int32_t validateflag,arith_uint256 bnTarget,int32_t nHeigh
|
|||||||
{
|
{
|
||||||
// Under PoS % target and we need to increase diff.
|
// Under PoS % target and we need to increase diff.
|
||||||
//fprintf(stderr, "PoS too low diff.%i changed to.",diff);
|
//fprintf(stderr, "PoS too low diff.%i changed to.",diff);
|
||||||
diff = diff * ( (ASSETCHAINS_STAKED - PoSperc + 1) * (ASSETCHAINS_STAKED - PoSperc + 1) );
|
diff = diff * ( (ASSETCHAINS_STAKED - PoSperc + 1) * (ASSETCHAINS_STAKED - PoSperc + 1) * ( nHeight < 50 ? 1000 : 1));
|
||||||
//fprintf(stderr, "%i \n",diff);
|
//fprintf(stderr, "%i \n",diff);
|
||||||
}
|
}
|
||||||
else if ( PoSperc > ASSETCHAINS_STAKED )
|
else if ( PoSperc > ASSETCHAINS_STAKED )
|
||||||
|
|||||||
@@ -17,16 +17,16 @@ int8_t is_STAKED(const char *chain_name)
|
|||||||
return(0);
|
return(0);
|
||||||
if (doneinit == 1 && ASSETCHAINS_SYMBOL[0] != 0)
|
if (doneinit == 1 && ASSETCHAINS_SYMBOL[0] != 0)
|
||||||
return(STAKED);
|
return(STAKED);
|
||||||
if ( (strcmp(chain_name, "LABS") == 0) || (strcmp(chain_name, "PAYME") == 0) || (strcmp(chain_name, "LABST") == 0) )
|
if ( (strcmp(chain_name, "LABS") == 0) || (strcmp(chain_name, "LABST2") == 0) )
|
||||||
STAKED = 1;
|
STAKED = 1; // These chains are allowed coin emissions.
|
||||||
else if ( (strncmp(chain_name, "LABS", 4) == 0) )
|
else if ( (strncmp(chain_name, "LABS", 4) == 0) )
|
||||||
STAKED = 2;
|
STAKED = 2; // These chains have no coin emission, block subsidy is always 0, and comission is 0. Notary pay is allowed.
|
||||||
else if ( (strcmp(chain_name, "CFEK") == 0) || (strncmp(chain_name, "CFEK", 4) == 0) )
|
else if ( (strcmp(chain_name, "CFEK") == 0) || (strncmp(chain_name, "CFEK", 4) == 0) )
|
||||||
STAKED = 3;
|
STAKED = 3; // These chains have no speical rules at all.
|
||||||
else if ( (strcmp(chain_name, "TEST") == 0) || (strncmp(chain_name, "TEST", 4) == 0) )
|
else if ( (strcmp(chain_name, "TEST") == 0) || (strncmp(chain_name, "TEST", 4) == 0) )
|
||||||
STAKED = 4;
|
STAKED = 4; // These chains are for testing consensus to create a chain etc. Not meant ot be actually used for anything important.
|
||||||
else if ( (strcmp(chain_name, "THIS_CHAIN_IS_BANNED") == 0) )
|
else if ( (strcmp(chain_name, "THIS_CHAIN_IS_BANNED") == 0) )
|
||||||
STAKED = 255; // This means that all notarisations for chains that are in 255 group are invalid.
|
STAKED = 255; // Any chain added to this group is banned, no notarisations are valid, as a consensus rule. Can be used to remove a chain from cluster if needed.
|
||||||
doneinit = 1;
|
doneinit = 1;
|
||||||
return(STAKED);
|
return(STAKED);
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -24,6 +24,7 @@ static const int STAKED_ERA_GAP = 777;
|
|||||||
|
|
||||||
static const int NUM_STAKED_ERAS = 4;
|
static const int NUM_STAKED_ERAS = 4;
|
||||||
static const int STAKED_NOTARIES_TIMESTAMP[NUM_STAKED_ERAS] = {1542964044, 1549188000, 1604233333, 1604244444};
|
static const int STAKED_NOTARIES_TIMESTAMP[NUM_STAKED_ERAS] = {1542964044, 1549188000, 1604233333, 1604244444};
|
||||||
|
static const int32_t num_notaries_STAKED[NUM_STAKED_ERAS] = { 17, 25, 19, 17 };
|
||||||
|
|
||||||
// Era array of pubkeys.
|
// Era array of pubkeys.
|
||||||
static const char *notaries_STAKED[NUM_STAKED_ERAS][64][2] =
|
static const char *notaries_STAKED[NUM_STAKED_ERAS][64][2] =
|
||||||
@@ -116,8 +117,6 @@ static const char *notaries_STAKED[NUM_STAKED_ERAS][64][2] =
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
static const int32_t num_notaries_STAKED[NUM_STAKED_ERAS] = { 17, 25, 19, 17 };
|
|
||||||
|
|
||||||
int8_t is_STAKED(const char *chain_name);
|
int8_t is_STAKED(const char *chain_name);
|
||||||
int32_t STAKED_era(int timestamp);
|
int32_t STAKED_era(int timestamp);
|
||||||
int8_t updateStakedNotary();
|
int8_t updateStakedNotary();
|
||||||
|
|||||||
Reference in New Issue
Block a user