diff --git a/src/assetchains b/src/assetchains index 10129742e..16f3004d5 100755 --- a/src/assetchains +++ b/src/assetchains @@ -3,48 +3,48 @@ set -x source pubkey.txt echo $pubkey -./komodod -pubkey=$pubkey -ac_name=REVS -ac_supply=1300000 -addnode=78.47.196.146 $1 & -./komodod -pubkey=$pubkey -ac_name=SUPERNET -ac_supply=816061 -addnode=78.47.196.146 $1 & -./komodod -pubkey=$pubkey -ac_name=DEX -ac_supply=999999 -addnode=78.47.196.146 $1 & -./komodod -pubkey=$pubkey -ac_name=PANGEA -ac_supply=999999 -addnode=78.47.196.146 $1 & -./komodod -pubkey=$pubkey -ac_name=JUMBLR -ac_supply=999999 -addnode=78.47.196.146 $1 & -./komodod -pubkey=$pubkey -ac_name=BET -ac_supply=999999 -addnode=78.47.196.146 $1 & -./komodod -pubkey=$pubkey -ac_name=CRYPTO -ac_supply=999999 -addnode=78.47.196.146 $1 & -./komodod -pubkey=$pubkey -ac_name=HODL -ac_supply=9999999 -addnode=78.47.196.146 $1 & -./komodod -pubkey=$pubkey -ac_name=SHARK -ac_supply=1401 -addnode=78.47.196.146 $1 & -./komodod -pubkey=$pubkey -ac_name=BOTS -ac_supply=999999 -addnode=78.47.196.146 $1 & -./komodod -pubkey=$pubkey -ac_name=MGW -ac_supply=999999 -addnode=78.47.196.146 $1 & +./komodod -pubkey=$pubkey -ac_name=REVS -ac_supply=1300000 -addnode=78.47.196.146 $1 -gen & +./komodod -pubkey=$pubkey -ac_name=SUPERNET -ac_supply=816061 -addnode=78.47.196.146 $1 -gen & +./komodod -pubkey=$pubkey -ac_name=DEX -ac_supply=999999 -addnode=78.47.196.146 $1 -gen & +./komodod -pubkey=$pubkey -ac_name=PANGEA -ac_supply=999999 -addnode=78.47.196.146 $1 -gen & +./komodod -pubkey=$pubkey -ac_name=JUMBLR -ac_supply=999999 -addnode=78.47.196.146 $1 -gen & +./komodod -pubkey=$pubkey -ac_name=BET -ac_supply=999999 -addnode=78.47.196.146 $1 -gen & +./komodod -pubkey=$pubkey -ac_name=CRYPTO -ac_supply=999999 -addnode=78.47.196.146 $1 -gen & +./komodod -pubkey=$pubkey -ac_name=HODL -ac_supply=9999999 -addnode=78.47.196.146 $1 -gen & +./komodod -pubkey=$pubkey -ac_name=SHARK -ac_supply=1401 -addnode=78.47.196.146 $1 -gen & +./komodod -pubkey=$pubkey -ac_name=BOTS -ac_supply=999999 -addnode=78.47.196.146 $1 -gen & +./komodod -pubkey=$pubkey -ac_name=MGW -ac_supply=999999 -addnode=78.47.196.146 $1 -gen & -./komodod -pubkey=$pubkey -ac_name=USD -addnode=78.47.196.146 $1 & -./komodod -pubkey=$pubkey -ac_name=EUR -addnode=78.47.196.146 $1 & -./komodod -pubkey=$pubkey -ac_name=JPY -addnode=78.47.196.146 $1 & -./komodod -pubkey=$pubkey -ac_name=GBP -addnode=78.47.196.146 $1 & -./komodod -pubkey=$pubkey -ac_name=AUD -addnode=78.47.196.146 $1 & -./komodod -pubkey=$pubkey -ac_name=CAD -addnode=78.47.196.146 $1 & -./komodod -pubkey=$pubkey -ac_name=CHF -addnode=78.47.196.146 $1 & -./komodod -pubkey=$pubkey -ac_name=NZD -addnode=78.47.196.146 $1 & -./komodod -pubkey=$pubkey -ac_name=CNY -addnode=78.47.196.146 $1 & -./komodod -pubkey=$pubkey -ac_name=RUB -addnode=78.47.196.146 $1 & -./komodod -pubkey=$pubkey -ac_name=MXN -addnode=78.47.196.146 $1 & -./komodod -pubkey=$pubkey -ac_name=BRL -addnode=78.47.196.146 $1 & -./komodod -pubkey=$pubkey -ac_name=INR -addnode=78.47.196.146 $1 & -./komodod -pubkey=$pubkey -ac_name=HKD -addnode=78.47.196.146 $1 & -./komodod -pubkey=$pubkey -ac_name=TRY -addnode=78.47.196.146 $1 & -./komodod -pubkey=$pubkey -ac_name=ZAR -addnode=78.47.196.146 $1 & -./komodod -pubkey=$pubkey -ac_name=PLN -addnode=78.47.196.146 $1 & -./komodod -pubkey=$pubkey -ac_name=NOK -addnode=78.47.196.146 $1 & -./komodod -pubkey=$pubkey -ac_name=SEK -addnode=78.47.196.146 $1 & -./komodod -pubkey=$pubkey -ac_name=DKK -addnode=78.47.196.146 $1 & -./komodod -pubkey=$pubkey -ac_name=CZK -addnode=78.47.196.146 $1 & -./komodod -pubkey=$pubkey -ac_name=HUF -addnode=78.47.196.146 $1 & -./komodod -pubkey=$pubkey -ac_name=ILS -addnode=78.47.196.146 $1 & -./komodod -pubkey=$pubkey -ac_name=KRW -addnode=78.47.196.146 $1 & -./komodod -pubkey=$pubkey -ac_name=MYR -addnode=78.47.196.146 $1 & -./komodod -pubkey=$pubkey -ac_name=PHP -addnode=78.47.196.146 $1 & -./komodod -pubkey=$pubkey -ac_name=RON -addnode=78.47.196.146 $1 & -./komodod -pubkey=$pubkey -ac_name=SGD -addnode=78.47.196.146 $1 & -./komodod -pubkey=$pubkey -ac_name=THB -addnode=78.47.196.146 $1 & -./komodod -pubkey=$pubkey -ac_name=BGN -addnode=78.47.196.146 $1 & -./komodod -pubkey=$pubkey -ac_name=IDR -addnode=78.47.196.146 $1 & -./komodod -pubkey=$pubkey -ac_name=HRK -addnode=78.47.196.146 $1 & +./komodod -pubkey=$pubkey -ac_name=USD -addnode=78.47.196.146 $1 -gen & +./komodod -pubkey=$pubkey -ac_name=EUR -addnode=78.47.196.146 $1 -gen & +./komodod -pubkey=$pubkey -ac_name=JPY -addnode=78.47.196.146 $1 -gen & +./komodod -pubkey=$pubkey -ac_name=GBP -addnode=78.47.196.146 $1 -gen & +./komodod -pubkey=$pubkey -ac_name=AUD -addnode=78.47.196.146 $1 -gen & +./komodod -pubkey=$pubkey -ac_name=CAD -addnode=78.47.196.146 $1 -gen & +./komodod -pubkey=$pubkey -ac_name=CHF -addnode=78.47.196.146 $1 -gen & +./komodod -pubkey=$pubkey -ac_name=NZD -addnode=78.47.196.146 $1 -gen & +./komodod -pubkey=$pubkey -ac_name=CNY -addnode=78.47.196.146 $1 -gen & +./komodod -pubkey=$pubkey -ac_name=RUB -addnode=78.47.196.146 $1 -gen & +./komodod -pubkey=$pubkey -ac_name=MXN -addnode=78.47.196.146 $1 -gen & +./komodod -pubkey=$pubkey -ac_name=BRL -addnode=78.47.196.146 $1 -gen & +./komodod -pubkey=$pubkey -ac_name=INR -addnode=78.47.196.146 $1 -gen & +./komodod -pubkey=$pubkey -ac_name=HKD -addnode=78.47.196.146 $1 -gen & +./komodod -pubkey=$pubkey -ac_name=TRY -addnode=78.47.196.146 $1 -gen & +./komodod -pubkey=$pubkey -ac_name=ZAR -addnode=78.47.196.146 $1 -gen & +./komodod -pubkey=$pubkey -ac_name=PLN -addnode=78.47.196.146 $1 -gen & +./komodod -pubkey=$pubkey -ac_name=NOK -addnode=78.47.196.146 $1 -gen & +./komodod -pubkey=$pubkey -ac_name=SEK -addnode=78.47.196.146 $1 -gen & +./komodod -pubkey=$pubkey -ac_name=DKK -addnode=78.47.196.146 $1 -gen & +./komodod -pubkey=$pubkey -ac_name=CZK -addnode=78.47.196.146 $1 -gen & +./komodod -pubkey=$pubkey -ac_name=HUF -addnode=78.47.196.146 $1 -gen & +./komodod -pubkey=$pubkey -ac_name=ILS -addnode=78.47.196.146 $1 -gen & +./komodod -pubkey=$pubkey -ac_name=KRW -addnode=78.47.196.146 $1 -gen & +./komodod -pubkey=$pubkey -ac_name=MYR -addnode=78.47.196.146 $1 -gen & +./komodod -pubkey=$pubkey -ac_name=PHP -addnode=78.47.196.146 $1 -gen & +./komodod -pubkey=$pubkey -ac_name=RON -addnode=78.47.196.146 $1 -gen & +./komodod -pubkey=$pubkey -ac_name=SGD -addnode=78.47.196.146 $1 -gen & +./komodod -pubkey=$pubkey -ac_name=THB -addnode=78.47.196.146 $1 -gen & +./komodod -pubkey=$pubkey -ac_name=BGN -addnode=78.47.196.146 $1 -gen & +./komodod -pubkey=$pubkey -ac_name=IDR -addnode=78.47.196.146 $1 -gen & +./komodod -pubkey=$pubkey -ac_name=HRK -addnode=78.47.196.146 $1 -gen & diff --git a/src/komodo.h b/src/komodo.h index 8e84a6e02..207e38808 100644 --- a/src/komodo.h +++ b/src/komodo.h @@ -23,7 +23,7 @@ // a. automate notarization fee payouts // b. automated distribution of test REVS snapshot -//#define KOMODO_ASSETCHAINS_WAITNOTARIZE +#define KOMODO_ASSETCHAINS_WAITNOTARIZE #define KOMODO_PAXMAX (10000 * COIN) #include diff --git a/src/komodo_gateway.h b/src/komodo_gateway.h index 27af234cb..b944f861e 100644 --- a/src/komodo_gateway.h +++ b/src/komodo_gateway.h @@ -191,6 +191,7 @@ int32_t komodo_issued_opreturn(char *base,uint256 *txids,uint16_t *vouts,int64_t if ( KOMODO_PAX == 0 ) return(0); incr = 34 + (iskomodo * (2*sizeof(fiatoshis) + 2*sizeof(height) + 20)); + //41e77b91cb68dc2aa02fa88550eae6b6d44db676a7e935337b6d1392d9718f03cb0200305c90660400000000fbcbeb1f000000bde801006201000058e7945ad08ddba1eac9c9b6c8e1e97e8016a2d152 //for (i=0; iNOTARIZED_HEIGHT >= pax->height ) // assumes same chain as notarize + if ( kmdsp != 0 && (kmdsp->NOTARIZED_HEIGHT >= pax->height || kmdsp->CURRENT_HEIGHT > pax->height+30) ) // assumes same chain as notarize pax->validated = pax->komodoshis; //kmdsp->NOTARIZED_HEIGHT; else pax->validated = pax->ready = 0; #endif @@ -618,7 +619,13 @@ int32_t komodo_check_deposit(int32_t height,const CBlock& block) // verify above { printf(">>>>>>>>>>> %c errs.%d i.%d match %.8f vs %.8f pax.%p\n",opcode,errs,i,dstr(opcode == 'I' ? pax->fiatoshis : pax->komodoshis),dstr(block.vtx[0].vout[i].nValue),pax); errs++; - } else matched++; + } + else + { + if ( opcode == 'X' ) + printf("check deposit validates %s %.8f -> %.8f\n",CURRENCIES[baseids[i]],dstr(srcvalues[i]),dstr(values[i])); + matched++; + } } else { @@ -807,7 +814,7 @@ const char *komodo_opreturn(int32_t height,uint64_t value,uint8_t *opretbuf,int3 bitcoin_address(coinaddr,addrtype,rmd160,20); checktoshis = PAX_fiatdest(&seed,tokomodo,destaddr,pubkey33,coinaddr,kmdheight,base,value); typestr = "withdraw"; - if ( strcmp(base,"RUB") == 0 ) + if ( 0 && strcmp(base,"RUB") == 0 ) printf("RUB WITHDRAW %s.height.%d vs height.%d check %.8f/%.8f vs %.8f tokomodo.%d %d seed.%llx -> (%s) len.%d\n",ASSETCHAINS_SYMBOL,kmdheight,height,dstr(checktoshis),dstr(komodoshis),dstr(value),komodo_is_issuer(),strncmp(ASSETCHAINS_SYMBOL,base,strlen(base)) == 0,(long long)seed,coinaddr,opretlen); didstats = 0; //if ( komodo_paxcmp(base,kmdheight,komodoshis,checktoshis,seed) == 0 ) @@ -852,11 +859,20 @@ const char *komodo_opreturn(int32_t height,uint64_t value,uint8_t *opretbuf,int3 { //for (j=0; j<32; j++) // printf("%02x",((uint8_t *)&txids[i])[j]); - //printf(" v%d %.8f k.%d ht.%d base.%d\n",vouts[i],dstr(values[i]),kmdheights[i],otherheights[i],baseids[i]); + //printf(" v%d %.8f %.8f k.%d ht.%d base.%d\n",vouts[i],dstr(values[i]),dstr(srcvalues[i]),kmdheights[i],otherheights[i],baseids[i]); if ( baseids[i] < 0 ) { + for (i=0; isymbol); + printf("override neg1 with (%s)\n",pax->symbol); + } + if ( baseids[i] < 0 ) + continue; } didstats = 0; seed = 0; @@ -875,12 +891,12 @@ const char *komodo_opreturn(int32_t height,uint64_t value,uint8_t *opretbuf,int3 pax2->approved = kmdheights[i]; komodo_paxmark(height,txids[i],vouts[i],'W',height); //komodo_paxmark(height,txids[i],vouts[i],'A',height); - if ( srcvalues[i] != 0 && (basesp= komodo_stateptrget(CURRENCIES[baseids[i]])) != 0 ) + if ( values[i] != 0 && (basesp= komodo_stateptrget(CURRENCIES[baseids[i]])) != 0 ) { basesp->approved += values[i]; didstats = 1; - //if ( strcmp(CURRENCIES[baseids[i]],ASSETCHAINS_SYMBOL) == 0 ) - printf("pax.%p ########### %p approved %s += %.8f -> %.8f/%.8f kht.%d %d\n",pax,basesp,CURRENCIES[baseids[i]],dstr(values[i]),dstr(srcvalues[i]),dstr(checktoshis),kmdheights[i],otherheights[i]); + if ( strcmp(CURRENCIES[baseids[i]],ASSETCHAINS_SYMBOL) == 0 ) + printf("pax.%p ########### %p approved %s += %.8f -> %.8f/%.8f kht.%d %d\n",pax,basesp,CURRENCIES[baseids[i]],dstr(values[i]),dstr(srcvalues[i]),dstr(checktoshis),kmdheights[i],otherheights[i]); } //printf(" i.%d (%s) <- %.8f ADDFLAG APPROVED\n",i,coinaddr,dstr(values[i])); } @@ -890,8 +906,8 @@ const char *komodo_opreturn(int32_t height,uint64_t value,uint8_t *opretbuf,int3 { basesp->approved += values[i]; didstats = 1; - //if ( strcmp(CURRENCIES[baseids[i]],ASSETCHAINS_SYMBOL) == 0 ) - printf("pax.%p ########### %p approved %s += %.8f -> %.8f/%.8f\n",pax,basesp,CURRENCIES[baseids[i]],dstr(values[i]),dstr(srcvalues[i]),dstr(checktoshis)); + if ( strcmp(CURRENCIES[baseids[i]],ASSETCHAINS_SYMBOL) == 0 ) + printf("pax.%p ########### %p approved %s += %.8f -> %.8f/%.8f\n",pax,basesp,CURRENCIES[baseids[i]],dstr(values[i]),dstr(srcvalues[i]),dstr(checktoshis)); } } //else printf(" i.%d of n.%d pax.%p baseids[] %d\n",i,n,pax,baseids[i]); if ( (pax= komodo_paxfind(txids[i],vouts[i],'A')) != 0 ) @@ -926,12 +942,15 @@ const char *komodo_opreturn(int32_t height,uint64_t value,uint8_t *opretbuf,int3 if ( (pax= komodo_paxfind(txids[i],vouts[i],'X')) != 0 ) { pax->type = opretbuf[0]; - if ( baseids[i] >= 0 && srcvalues[i] != 0 && (basesp= komodo_stateptrget(CURRENCIES[baseids[i]])) != 0 ) + if ( height < 121842 ) // fields got switched around due to legacy issues and approves + value = srcvalues[i]; + else value = values[i]; + if ( baseids[i] >= 0 && value != 0 && (basesp= komodo_stateptrget(CURRENCIES[baseids[i]])) != 0 ) { - basesp->redeemed += srcvalues[i]; + basesp->redeemed += value; pax->didstats = 1; //if ( strcmp(CURRENCIES[baseids[i]],ASSETCHAINS_SYMBOL) == 0 ) - printf("########### %p redeemed %s += %.8f\n",basesp,CURRENCIES[baseids[i]],dstr(srcvalues[i])); + printf("ht.%d %.8f ########### %p redeemed %s += %.8f %.8f kht.%d ht.%d\n",height,dstr(value),basesp,CURRENCIES[baseids[i]],dstr(value),dstr(srcvalues[i]),kmdheights[i],otherheights[i]); } } if ( (pax= komodo_paxmark(height,txids[i],vouts[i],'W',height)) != 0 ) @@ -1006,12 +1025,12 @@ void komodo_passport_iteration() if ( fread(buf,1,sizeof(buf),fp) == sizeof(buf) ) { sp->CURRENT_HEIGHT = buf[0]; - if ( buf[0] != 0 && buf[0] >= buf[1] && buf[2] > time(NULL)-60 ) + if ( buf[0] != 0 && buf[0] >= buf[1] && buf[2] > time(NULL)-300 ) { isrealtime = 1; RTmask |= (1LL << baseid); memcpy(refsp->RTbufs[baseid+1],buf,sizeof(refsp->RTbufs[baseid+1])); - } else fprintf(stderr,"%s not RT %u %u %d\n",base,buf[0],buf[1],(int32_t)(time(NULL)-buf[2])); + } else fprintf(stderr,"[%s]: %s not RT %u %u %d\n",ASSETCHAINS_SYMBOL,base,buf[0],buf[1],(int32_t)(time(NULL)-buf[2])); } //else fprintf(stderr,"%s size error RT\n",base); fclose(fp); } //else fprintf(stderr,"%s open error RT\n",base);