add num notaris golbal, and reset notaries on era 0
This commit is contained in:
@@ -47,7 +47,7 @@ int COINBASE_MATURITY = _COINBASE_MATURITY;//100;
|
||||
int32_t KOMODO_MININGTHREADS = -1,IS_KOMODO_NOTARY,IS_STAKED_NOTARY,ASSETCHAINS_STREAM,USE_EXTERNAL_PUBKEY,KOMODO_CHOSEN_ONE,ASSETCHAINS_SEED,KOMODO_ON_DEMAND,KOMODO_EXTERNAL_NOTARIES,KOMODO_PASSPORT_INITDONE,KOMODO_PAX,KOMODO_EXCHANGEWALLET,KOMODO_REWIND,STAKED_ERA,KOMODO_CONNECTING = -1;
|
||||
int32_t KOMODO_INSYNC,KOMODO_LASTMINED,prevKOMODO_LASTMINED,KOMODO_CCACTIVATE,JUMBLR_PAUSE = 1;
|
||||
std::string ASSETCHAINS_OVERRIDE_ADDRESS,NOTARY_ADDRESS,NOTARY_PUBKEY,ASSETCHAINS_NOTARIES,ASSETCHAINS_,ASSETCHAINS_OVERRIDE_PUBKEY,DONATION_PUBKEY;
|
||||
uint8_t NOTARY_PUBKEY33[33],ASSETCHAINS_OVERRIDE_PUBKEY33[33],ASSETCHAINS_PUBLIC,ASSETCHAINS_PRIVATE,ASSETCHAINS_TXPOW;
|
||||
uint8_t NOTARY_PUBKEY33[33],ASSETCHAINS_OVERRIDE_PUBKEY33[33],ASSETCHAINS_PUBLIC,ASSETCHAINS_PRIVATE,ASSETCHAINS_TXPOW,NUM_NOTARIES;
|
||||
|
||||
char ASSETCHAINS_SYMBOL[KOMODO_ASSETCHAIN_MAXLEN],ASSETCHAINS_USERPASS[4096],NOTARYADDRS[64][36];
|
||||
uint16_t ASSETCHAINS_P2PPORT,ASSETCHAINS_RPCPORT;
|
||||
|
||||
@@ -258,7 +258,7 @@ int32_t komodo_notaries(uint8_t pubkeys[64][33],int32_t height,uint32_t timestam
|
||||
if (timestamp != 0)
|
||||
{
|
||||
int staked_era; int32_t numSN;
|
||||
uint8_t staked_pubkeys[64][33]; uint8_t null_pubkeys[64][33] = {0};
|
||||
uint8_t staked_pubkeys[64][33];
|
||||
staked_era = STAKED_era(timestamp);
|
||||
|
||||
if (staked_era != 0)
|
||||
@@ -271,7 +271,7 @@ int32_t komodo_notaries(uint8_t pubkeys[64][33],int32_t height,uint32_t timestam
|
||||
{
|
||||
// this means we are in a gap, so we set the array of pubkeys to zero, this does't seem to correctly work, so added exeption to komodo.h aswell.
|
||||
printf("%s is a STAKED chain and is in an ERA GAP.\n",ASSETCHAINS_SYMBOL);
|
||||
memcpy(pubkeys,null_pubkeys,64 * 33);
|
||||
memset(pubkeys,0,sizeof(pubkeys));
|
||||
return(64);
|
||||
}
|
||||
}
|
||||
|
||||
48
src/main.cpp
48
src/main.cpp
@@ -1044,29 +1044,39 @@ bool CheckTransaction(const CTransaction& tx, CValidationState &state,
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
extern char NOTARYADDRS[64][36];
|
||||
extern uint8_t NUM_NOTARIES;
|
||||
|
||||
int32_t komodo_isnotaryvout(char *coinaddr) // from ac_private chains only
|
||||
{
|
||||
/*static int32_t didinit;
|
||||
int32_t i;
|
||||
if ( didinit == 0 )
|
||||
{
|
||||
uint8_t pubkey33[33];
|
||||
for (i=0; i<=17; i++)
|
||||
{
|
||||
if ( i < 17 )
|
||||
decode_hex(pubkey33,33,(char *)notaries_STAKED1[i][1]);
|
||||
else decode_hex(pubkey33,33,(char *)CRYPTO777_PUBSECPSTR);
|
||||
pubkey2addr((char *)notaryaddrs[i],(uint8_t *)pubkey33);
|
||||
}
|
||||
didinit = 1;
|
||||
} */
|
||||
if ( NOTARYADDRS[0][0] != 0 )
|
||||
{
|
||||
for (int32_t i=0; i<=64; i++)
|
||||
if ( strcmp(coinaddr,NOTARYADDRS[i]) == 0 )
|
||||
return(1);
|
||||
if ( is_STAKED(ASSETCHAINS_SYMBOL) != 0 )
|
||||
{
|
||||
if ( NOTARYADDRS[0][0] != 0 && NUM_NOTARIES != 0 ) {
|
||||
for (int32_t i=0; i<=NUM_NOTARIES; i++)
|
||||
if ( strcmp(coinaddr,NOTARYADDRS[i]) == 0 )
|
||||
return(1);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
static int32_t didinit; static char notaryaddrs[sizeof(Notaries_elected1)/sizeof(*Notaries_elected1) + 1][64];
|
||||
int32_t i;
|
||||
if ( didinit == 0 )
|
||||
{
|
||||
uint8_t pubkey33[33];
|
||||
for (i=0; i<=sizeof(Notaries_elected1)/sizeof(*Notaries_elected1); i++)
|
||||
{
|
||||
if ( i < sizeof(Notaries_elected1)/sizeof(*Notaries_elected1) )
|
||||
decode_hex(pubkey33,33,(char *)Notaries_elected1[i][1]);
|
||||
else decode_hex(pubkey33,33,(char *)CRYPTO777_PUBSECPSTR);
|
||||
pubkey2addr((char *)notaryaddrs[i],(uint8_t *)pubkey33);
|
||||
}
|
||||
didinit = 1;
|
||||
}
|
||||
for (i=0; i<=sizeof(Notaries_elected1)/sizeof(*Notaries_elected1); i++)
|
||||
if ( strcmp(coinaddr,notaryaddrs[i]) == 0 )
|
||||
return(1);
|
||||
}
|
||||
return(0);
|
||||
}
|
||||
|
||||
@@ -8,7 +8,7 @@ extern char NOTARYADDRS[64][36];
|
||||
extern std::string NOTARY_ADDRESS,NOTARY_PUBKEY;
|
||||
extern int32_t STAKED_ERA,IS_STAKED_NOTARY,IS_KOMODO_NOTARY;
|
||||
extern pthread_mutex_t staked_mutex;
|
||||
extern uint8_t NOTARY_PUBKEY33[33];
|
||||
extern uint8_t NOTARY_PUBKEY33[33],NUM_NOTARIES;
|
||||
|
||||
// Era 1 set of pubkeys
|
||||
const char *notaries_STAKED1[][2] =
|
||||
@@ -215,11 +215,10 @@ int8_t numStakedNotaries(uint8_t pubkeys[64][33],int8_t era) {
|
||||
#ifdef SERVER
|
||||
pthread_mutex_lock(&staked_mutex);
|
||||
pubkey2addr((char *)NOTARYADDRS[i],(uint8_t *)staked_pubkeys1[i]);
|
||||
NUM_NOTARIES = num_notaries_STAKED1;
|
||||
pthread_mutex_unlock(&staked_mutex);
|
||||
fprintf(stderr, "copied address [%d]: %s\n",i,NOTARYADDRS[i]);
|
||||
#endif
|
||||
}
|
||||
fprintf(stderr, "size of notaryaddrs array: %ld\n",sizeof(NOTARYADDRS));
|
||||
didstaked1 = 1;
|
||||
didstaked2 = 0;
|
||||
didstaked3 = 0;
|
||||
@@ -238,6 +237,7 @@ int8_t numStakedNotaries(uint8_t pubkeys[64][33],int8_t era) {
|
||||
#ifdef SERVER
|
||||
pthread_mutex_lock(&staked_mutex);
|
||||
pubkey2addr((char *)NOTARYADDRS[i],(uint8_t *)staked_pubkeys2[i]);
|
||||
NUM_NOTARIES = num_notaries_STAKED2;
|
||||
pthread_mutex_unlock(&staked_mutex);
|
||||
#endif
|
||||
}
|
||||
@@ -257,6 +257,7 @@ int8_t numStakedNotaries(uint8_t pubkeys[64][33],int8_t era) {
|
||||
#ifdef SERVER
|
||||
pthread_mutex_lock(&staked_mutex);
|
||||
pubkey2addr((char *)NOTARYADDRS[i],(uint8_t *)staked_pubkeys3[i]);
|
||||
NUM_NOTARIES = num_notaries_STAKED3;
|
||||
pthread_mutex_unlock(&staked_mutex);
|
||||
#endif
|
||||
}
|
||||
@@ -275,6 +276,7 @@ int8_t numStakedNotaries(uint8_t pubkeys[64][33],int8_t era) {
|
||||
#ifdef SERVER
|
||||
pthread_mutex_lock(&staked_mutex);
|
||||
pubkey2addr((char *)NOTARYADDRS[i],(uint8_t *)staked_pubkeys4[i]);
|
||||
NUM_NOTARIES = num_notaries_STAKED4;
|
||||
pthread_mutex_unlock(&staked_mutex);
|
||||
#endif
|
||||
}
|
||||
@@ -288,8 +290,11 @@ int8_t numStakedNotaries(uint8_t pubkeys[64][33],int8_t era) {
|
||||
}
|
||||
else
|
||||
{
|
||||
// era is zero so we need to null ut the notary address's
|
||||
//NOTARYADDRS[64][18]
|
||||
// era is zero so we need to null out the notary address's
|
||||
pthread_mutex_lock(&staked_mutex);
|
||||
memset(NOTARYADDRS,0,sizeof(NOTARYADDRS));
|
||||
NUM_NOTARIES = 0;
|
||||
pthread_mutex_unlock(&staked_mutex);
|
||||
}
|
||||
return(retval);
|
||||
}
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
static const int STAKED_ERA_GAP = 777;
|
||||
|
||||
static const int STAKED_NOTARIES_TIMESTAMP1 = 1604212834;
|
||||
static const int STAKED_NOTARIES_TIMESTAMP2 = 1604222222;
|
||||
static const int STAKED_NOTARIES_TIMESTAMP2 = 1541409634;
|
||||
static const int STAKED_NOTARIES_TIMESTAMP3 = 1604233333;
|
||||
static const int STAKED_NOTARIES_TIMESTAMP4 = 1604244444;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user