diff --git a/iguana/dPoW.h b/iguana/dPoW.h index 6b06e1ccd..3df3f0601 100755 --- a/iguana/dPoW.h +++ b/iguana/dPoW.h @@ -19,10 +19,10 @@ #define DPOW_FIRSTRATIFY 1000 #define DPOW_CHECKPOINTFREQ 10 -#define DPOW_MINSIGS 19 //((height < 90000) ? 7 : 11) +#define DPOW_MINSIGS 13 //((height < 90000) ? 7 : 11) //#define DPOW_M(bp) ((bp)->minsigs) // (((bp)->numnotaries >> 1) + 1) #define DPOW_MODIND(bp,offset) (((((bp)->height / DPOW_CHECKPOINTFREQ) % (bp)->numnotaries) + (offset)) % (bp)->numnotaries) -#define DPOW_VERSION 0x0769 +#define DPOW_VERSION 0x0770 #define DPOW_UTXOSIZE 10000 #define DPOW_MINOUTPUT 6000 #define DPOW_DURATION 300 diff --git a/iguana/dpow/dpow_tx.c b/iguana/dpow/dpow_tx.c index e2d532117..18fea41e4 100755 --- a/iguana/dpow/dpow_tx.c +++ b/iguana/dpow/dpow_tx.c @@ -411,14 +411,24 @@ void dpow_rawtxsign(struct supernet_info *myinfo,struct dpow_info *dp,struct igu vinitem = jitem(vins,j); if ( (sobj= jobj(item,"scriptSig")) != 0 && (sigstr= jstr(sobj,"hex")) != 0 && strlen(sigstr) > 32 ) { - valid = 0; - if ( dp->ratifying != 0 && j == 0 ) + valid = 1; + if ( dp->ratifying != 0 && j == 0 && bp->myind == 0 ) valid = 1; - else if ( (pubstr= jstr(vinitem,"scriptPubKey")) != 0 && is_hexstr(pubstr,0) == 66 ) + else if ( (pubstr= jstr(vinitem,"scriptPubKey")) != 0 && is_hexstr(pubstr,0) == 70 ) { decode_hex(pubkey33,33,&pubstr[2]); if ( memcmp(pubkey33,dp->minerkey33,33) == 0 ) valid = 1; + else + { + int32_t z; + for (z=0; z<33; z++) + printf("%02x",dp->minerkey33[z]); + printf(" minerkey33 doesnt match\n"); + for (z=0; z<33; z++) + printf("%02x",pubkey33[z]); + printf(" scriptPubKey\n"); + } } if ( valid != 0 ) { @@ -433,7 +443,7 @@ void dpow_rawtxsign(struct supernet_info *myinfo,struct dpow_info *dp,struct igu dpow_sigsend(myinfo,dp,bp,myind,bestk,bestmask,srchash,src_or_dest != 0 ? DPOW_SIGBTCCHANNEL : DPOW_SIGCHANNEL); retval = 0; break; - } else printf("sig didnt match pubkey? (%s)\n",jprint(vinitem,0)); + } else printf("sig.%d of %d didnt match pubkey? (%s)\n",j,m,jprint(vinitem,0)); } // else printf("notmine.(%s)\n",jprint(item,0)); } } else printf("no vin[] (%s)\n",jprint(txobj2,0)); diff --git a/iguana/iguana_rpc.c b/iguana/iguana_rpc.c index 2eedef58a..bb7161f29 100755 --- a/iguana/iguana_rpc.c +++ b/iguana/iguana_rpc.c @@ -857,6 +857,8 @@ char *SuperNET_rpcparse(struct supernet_info *myinfo,char *retbuf,int32_t bufsiz originstr = &urlstr[i + strlen(fieldstr)]; if ( strncmp(originstr,"http://127.0.0.",strlen("http://127.0.0.")) == 0 ) originstr = "http://127.0.0.1:"; + if ( strncmp(originstr,"file://127.0.0.",strlen("file://127.0.0.")) == 0 ) + originstr = "http://127.0.0.1:"; if ( strncmp("null",originstr,strlen("null")) != 0 && strncmp("http://localhost:",originstr,strlen("http://localhost:")) != 0 && strncmp("http://127.0.0.1:",originstr,strlen("http://127.0.0.1:")) != 0 && strncmp("http://easydex.supernet.org",originstr,strlen("http://easydex.supernet.org")) != 0 ) { printf("remote %s REJECT.(%s)\n",fieldstr,urlstr); diff --git a/iguana/m_notary b/iguana/m_notary index 6b0e05d0a..dd0794507 100755 --- a/iguana/m_notary +++ b/iguana/m_notary @@ -19,6 +19,8 @@ sleep 3 tests/addnotarys_7776 coins/btc_7776 coins/kmd_7776 +./wp_7776 + coins/revs_7776 coins/supernet_7776 coins/dex_7776 @@ -31,9 +33,7 @@ coins/crypto_7776 coins/pangea_7776 coins/mgw_7776 -curl --url "http://127.0.0.1:7776" --data "{\"agent\":\"iguana\",\"method\":\"addnotary\",\"ipaddr\":\"$myip\"}" +#curl --url "http://127.0.0.1:7776" --data "{\"agent\":\"iguana\",\"method\":\"addnotary\",\"ipaddr\":\"$myip\"}" curl --url "http://127.0.0.1:7776" --data "{\"agent\":\"iguana\",\"method\":\"dpow\",\"symbol\":\"KMD\",\"pubkey\":\"$pubkey\"}" -sleep 7 -./wp_7776 -sleep 3 +sleep 17