@@ -269,7 +269,7 @@ int32_t komodo_paxcmp(char *symbol,int32_t kmdheight,uint64_t value,uint64_t che
|
||||
return(0);
|
||||
else
|
||||
{
|
||||
if ( kmdheight >= 86150 )
|
||||
if ( kmdheight >= 238000 )
|
||||
printf("ht.%d ignore mismatched %s value %lld vs checkvalue %lld -> ratio.%d\n",kmdheight,symbol,(long long)value,(long long)checkvalue,ratio);
|
||||
return(-1);
|
||||
}
|
||||
@@ -878,7 +878,7 @@ const char *komodo_opreturn(int32_t height,uint64_t value,uint8_t *opretbuf,int3
|
||||
}
|
||||
}
|
||||
}
|
||||
else if ( kmdheight > 182000 && (kmdheight > 214700 || strcmp(base,ASSETCHAINS_SYMBOL) == 0) ) //seed != 0 &&
|
||||
else if ( kmdheight > 238000 && (kmdheight > 214700 || strcmp(base,ASSETCHAINS_SYMBOL) == 0) ) //seed != 0 &&
|
||||
printf("pax %s deposit %.8f rejected kmdheight.%d %.8f KMD check %.8f seed.%llu\n",base,dstr(fiatoshis),kmdheight,dstr(value),dstr(checktoshis),(long long)seed);
|
||||
} //else printf("paxdeposit height.%d vs kmdheight.%d\n",height,kmdheight);
|
||||
}
|
||||
|
||||
@@ -410,7 +410,6 @@ uint64_t komodo_paxcalc(int32_t height,uint32_t *pvals,int32_t baseid,int32_t re
|
||||
//fprintf(stderr,"ht.%d kmdbtc.%llu btcusd.%llu base -> USD %llu, usdkmd %llu usdvol %llu -> %llu\n",height,(long long)kmdbtc,(long long)btcusd,(long long)baseusd,(long long)usdkmd,(long long)usdvol,(long long)(MINDENOMS[USD] * komodo_paxvol(usdvol,usdkmd) / (MINDENOMS[baseid]/100)));
|
||||
//fprintf(stderr,"usdkmd.%llu basevolume.%llu baseusd.%llu paxvol.%llu usdvol.%llu -> %llu %llu\n",(long long)usdkmd,(long long)basevolume,(long long)baseusd,(long long)komodo_paxvol(basevolume,baseusd),(long long)usdvol,(long long)(MINDENOMS[USD] * komodo_paxvol(usdvol,usdkmd) / (MINDENOMS[baseid]/100)),(long long)price);
|
||||
//fprintf(stderr,"usdkmd.%llu basevolume.%llu baseusd.%llu paxvol.%llu usdvol.%llu -> %llu\n",(long long)usdkmd,(long long)basevolume,(long long)baseusd,(long long)komodo_paxvol(basevolume,baseusd),(long long)usdvol,(long long)(MINDENOMS[USD] * komodo_paxvol(usdvol,usdkmd) / (MINDENOMS[baseid]/100)));
|
||||
//price = (uint64_t)((long long)MINDENOMS[USD] * komodo_paxvol(usdvol,usdkmd) / (MINDENOMS[baseid]));
|
||||
} else price = (MINDENOMS[USD] * komodo_paxvol(usdvol,usdkmd) / (MINDENOMS[baseid]/100));
|
||||
return(price);
|
||||
} //else printf("zero val in KMD conv %llu %llu %llu\n",(long long)pvals[USD],(long long)kmdbtc,(long long)btcusd);
|
||||
@@ -497,7 +496,7 @@ int32_t komodo_kmdbtcusd(int32_t rwflag,uint64_t *kmdbtcp,uint64_t *btcusdp,int3
|
||||
else return(-1);
|
||||
}
|
||||
|
||||
uint64_t komodo_paxpriceB(uint64_t seed,int32_t height,char *base,char *rel,uint64_t basevolume)
|
||||
uint64_t _komodo_paxpriceB(uint64_t seed,int32_t height,char *base,char *rel,uint64_t basevolume)
|
||||
{
|
||||
int32_t i,j,k,ind,zeroes,numvotes,wt,nonz; int64_t delta; uint64_t lastprice,tolerance,den,densum,sum=0,votes[sizeof(Peggy_inds)/sizeof(*Peggy_inds)],btcusds[sizeof(Peggy_inds)/sizeof(*Peggy_inds)],kmdbtcs[sizeof(Peggy_inds)/sizeof(*Peggy_inds)],kmdbtc,btcusd;
|
||||
if ( basevolume > KOMODO_PAXMAX )
|
||||
@@ -546,6 +545,38 @@ uint64_t komodo_paxpriceB(uint64_t seed,int32_t height,char *base,char *rel,uint
|
||||
return(komodo_paxcorrelation(votes,numvotes,seed) * basevolume / 100000);
|
||||
}
|
||||
|
||||
uint64_t komodo_paxpriceB(uint64_t seed,int32_t height,char *base,char *rel,uint64_t basevolume)
|
||||
{
|
||||
uint64_t baseusd,basekmd,usdkmd; int32_t baseid = komodo_baseid(base);
|
||||
if ( height >= 236000 && strcmp(rel,"kmd") == 0 )
|
||||
{
|
||||
usdkmd = _komodo_paxpriceB(seed,height,(char *)"USD",(char *)"KMD",SATOSHIDEN);
|
||||
if ( strcmp("usd",base) == 0 )
|
||||
return(komodo_paxvol(basevolume,usdkmd) * 10);
|
||||
baseusd = _komodo_paxpriceB(seed,height,base,(char *)"USD",SATOSHIDEN);
|
||||
basekmd = (komodo_paxvol(basevolume,baseusd) * usdkmd) / 10000000;
|
||||
//if ( strcmp("KMD",base) == 0 )
|
||||
// printf("baseusd.%llu usdkmd.%llu %llu\n",(long long)baseusd,(long long)usdkmd,(long long)basekmd);
|
||||
return(basekmd);
|
||||
} else return(_komodo_paxpriceB(seed,height,base,rel,basevolume));
|
||||
}
|
||||
|
||||
/*uint64_t komodo_paxpriceB(uint64_t seed,int32_t height,char *base,char *rel,uint64_t basevolume)
|
||||
{
|
||||
uint64_t baseusd,basekmd,usdkmd; int32_t baseid = komodo_baseid(base);
|
||||
//if ( strcmp(rel,"KMD") != 0 || baseid < 0 || MINDENOMS[baseid] == MINDENOMS[USD] )
|
||||
// return(_komodo_paxpriceB(seed,height,base,rel,basevolume));
|
||||
//else
|
||||
{
|
||||
baseusd = _komodo_paxpriceB(seed,height,base,(char *)"USD",SATOSHIDEN);
|
||||
usdkmd = _komodo_paxpriceB(seed,height,(char *)"USD",(char *)"KMD",SATOSHIDEN);
|
||||
basekmd = (komodo_paxvol(basevolume,baseusd) * usdkmd) / 10000000;
|
||||
if ( strcmp("KMD",base) == 0 )
|
||||
printf("baseusd.%llu usdkmd.%llu %llu\n",(long long)baseusd,(long long)usdkmd,(long long)basekmd);
|
||||
return(basekmd);
|
||||
}
|
||||
}*/
|
||||
|
||||
uint64_t komodo_paxprice(uint64_t *seedp,int32_t height,char *base,char *rel,uint64_t basevolume)
|
||||
{
|
||||
int32_t i,nonz=0; int64_t diff; uint64_t price,seed,sum = 0;
|
||||
|
||||
18
src/main.cpp
18
src/main.cpp
@@ -1528,12 +1528,12 @@ bool IsInitialBlockDownload()
|
||||
LOCK(cs_main);
|
||||
if (fImporting || fReindex)
|
||||
{
|
||||
//fprintf(stderr,"fImporting %d || %d fReindex\n",(int32_t)fImporting,(int32_t)fReindex);
|
||||
//fprintf(stderr,"IsInitialBlockDownload: fImporting %d || %d fReindex\n",(int32_t)fImporting,(int32_t)fReindex);
|
||||
return true;
|
||||
}
|
||||
if (fCheckpointsEnabled && chainActive.Height() < Checkpoints::GetTotalBlocksEstimate(chainParams.Checkpoints()))
|
||||
{
|
||||
//fprintf(stderr,"checkpoint -> initialdownload\n");
|
||||
//fprintf(stderr,"IsInitialBlockDownload: checkpoint -> initialdownload\n");
|
||||
return true;
|
||||
}
|
||||
static bool lockIBDState = false;
|
||||
@@ -1542,14 +1542,18 @@ bool IsInitialBlockDownload()
|
||||
//fprintf(stderr,"lockIBDState true %d < %d\n",chainActive.Height(),pindexBestHeader->nHeight - 10);
|
||||
return false;
|
||||
}
|
||||
bool state;
|
||||
bool state; CBlockIndex *ptr = chainActive.Tip();
|
||||
if ( ptr == 0 )
|
||||
ptr = pindexBestHeader;
|
||||
else if ( pindexBestHeader != 0 && pindexBestHeader->nHeight > ptr->nHeight )
|
||||
ptr = pindexBestHeader;
|
||||
if ( ASSETCHAINS_SYMBOL[0] == 0 )
|
||||
state = (chainActive.Height() > 236000 && chainActive.Height() < pindexBestHeader->nHeight - 24*6) ||
|
||||
pindexBestHeader->GetBlockTime() < (GetTime() - chainParams.MaxTipAge());
|
||||
else state = (chainActive.Height() < pindexBestHeader->nHeight - 100);
|
||||
state = (chainActive.Height() < ptr->nHeight - 24*6) ||
|
||||
ptr->GetBlockTime() < (GetTime() - chainParams.MaxTipAge());
|
||||
else state = (chainActive.Height() < ptr->nHeight - 100);
|
||||
//fprintf(stderr,"state.%d ht.%d vs %d, t.%u %u\n",state,(int32_t)chainActive.Height(),(uint32_t)ptr->nHeight,(int32_t)ptr->GetBlockTime(),(uint32_t)(GetTime() - chainParams.MaxTipAge()));
|
||||
if (!state)
|
||||
{
|
||||
//fprintf(stderr,"lockIBDState tru\n");
|
||||
lockIBDState = true;
|
||||
}
|
||||
return state;
|
||||
|
||||
@@ -100,7 +100,7 @@ void UpdateTime(CBlockHeader* pblock, const Consensus::Params& consensusParams,
|
||||
|
||||
#define ASSETCHAINS_MINHEIGHT 100
|
||||
#define KOMODO_ELECTION_GAP 2000
|
||||
#define ROUNDROBIN_DELAY 60
|
||||
#define ROUNDROBIN_DELAY 59
|
||||
extern int32_t ASSETCHAINS_SEED,IS_KOMODO_NOTARY,USE_EXTERNAL_PUBKEY,KOMODO_CHOSEN_ONE,ASSETCHAIN_INIT,KOMODO_INITDONE,KOMODO_ON_DEMAND,KOMODO_INITDONE;
|
||||
extern char ASSETCHAINS_SYMBOL[16];
|
||||
extern std::string NOTARY_PUBKEY;
|
||||
@@ -728,7 +728,7 @@ void static BitcoinMiner(CWallet *pwallet)
|
||||
int32_t nseconds = Mining_start+ROUNDROBIN_DELAY-time(NULL);
|
||||
if ( nseconds > 0 )
|
||||
sleep(nseconds);
|
||||
MilliSleep((rand() % 700) + 1);
|
||||
MilliSleep((rand() % 1700) + 1);
|
||||
}
|
||||
KOMODO_CHOSEN_ONE = 1;
|
||||
// Found a solution
|
||||
|
||||
Reference in New Issue
Block a user