diff --git a/basilisk/basilisk_MSG.c b/basilisk/basilisk_MSG.c index 76e019031..c6cb0afa9 100755 --- a/basilisk/basilisk_MSG.c +++ b/basilisk/basilisk_MSG.c @@ -309,7 +309,7 @@ HASH_ARRAY_STRING(basilisk,sendmessage,hash,vals,hexstr) memcpy(space2,key,BASILISK_KEYSIZE); if ( data != 0 && datalen != 0 ) memcpy(&space2[BASILISK_KEYSIZE],data,datalen); - dex_reqsend(myinfo,"DEX",space2,datalen+BASILISK_KEYSIZE); + dex_reqsend(myinfo,"DEX",space2,datalen+BASILISK_KEYSIZE,1); } else printf("sendmessage space too small error for %d\n",datalen); free(space); free(space2); diff --git a/iguana/dPoW.h b/iguana/dPoW.h index da8db86e2..b1118a7d6 100755 --- a/iguana/dPoW.h +++ b/iguana/dPoW.h @@ -143,7 +143,7 @@ struct dpow_info uint64_t dpow_notarybestk(uint64_t refmask,struct dpow_block *bp,int8_t *lastkp); int32_t dpow_paxpending(uint8_t *hex,uint32_t *paxwdcrcp); void dex_updateclient(struct supernet_info *myinfo); -char *dex_reqsend(struct supernet_info *myinfo,char *handler,uint8_t *data,int32_t datalen); +char *dex_reqsend(struct supernet_info *myinfo,char *handler,uint8_t *data,int32_t datalen,int32_t M); char *basilisk_respond_addmessage(struct supernet_info *myinfo,uint8_t *key,int32_t keylen,uint8_t *data,int32_t datalen,int32_t sendping,uint32_t duration); int32_t dpow_getchaintip(struct supernet_info *myinfo,bits256 *blockhashp,uint32_t *blocktimep,bits256 *txs,uint32_t *numtxp,struct iguana_info *coin); void dpow_send(struct supernet_info *myinfo,struct dpow_info *dp,struct dpow_block *bp,bits256 srchash,bits256 desthash,uint32_t channel,uint32_t msgbits,uint8_t *data,int32_t datalen); diff --git a/iguana/dpow/dpow_network.c b/iguana/dpow/dpow_network.c index d23aaf7fb..30ac38cbf 100755 --- a/iguana/dpow/dpow_network.c +++ b/iguana/dpow/dpow_network.c @@ -369,7 +369,7 @@ char *dex_response(int32_t *broadcastflagp,struct supernet_info *myinfo,struct d return(retstr); } -char *dex_reqsend(struct supernet_info *myinfo,char *handler,uint8_t *data,int32_t datalen) +char *dex_reqsend(struct supernet_info *myinfo,char *handler,uint8_t *data,int32_t datalen,int32_t M) { char *retstr = 0; int32_t i,max = myinfo->numdexipbits; for (i=0; i<=max; i++) @@ -386,17 +386,17 @@ char *dex_reqsend(struct supernet_info *myinfo,char *handler,uint8_t *data,int32 return(retstr); } -char *_dex_sendrequest(struct supernet_info *myinfo,struct dex_request *dexreq) +char *_dex_sendrequest(struct supernet_info *myinfo,struct dex_request *dexreq,int32_t M) { uint8_t packet[sizeof(*dexreq)]; int32_t datalen; if ( iguana_isnotarychain(dexreq->name) >= 0 ) { datalen = dex_rwrequest(1,packet,dexreq); - return(dex_reqsend(myinfo,"request",packet,datalen)); + return(dex_reqsend(myinfo,"request",packet,datalen,M)); } else return(clonestr("{\"error\":\"not notarychain\"}")); } -char *_dex_sendrequeststr(struct supernet_info *myinfo,struct dex_request *dexreq,char *str) +char *_dex_sendrequeststr(struct supernet_info *myinfo,struct dex_request *dexreq,char *str,int32_t M) { uint8_t *packet; int32_t datalen,slen; char *retstr; if ( iguana_isnotarychain(dexreq->name) >= 0 ) @@ -406,7 +406,7 @@ char *_dex_sendrequeststr(struct supernet_info *myinfo,struct dex_request *dexre datalen = dex_rwrequest(1,packet,dexreq); strcpy((char *)&packet[datalen],str); datalen += slen; - retstr = dex_reqsend(myinfo,"request",packet,datalen); + retstr = dex_reqsend(myinfo,"request",packet,datalen,M); free(packet); return(retstr); } else return(clonestr("{\"error\":\"not notarychain\"}")); @@ -419,7 +419,7 @@ char *_dex_getrawtransaction(struct supernet_info *myinfo,char *symbol,bits256 t safecopy(dexreq.name,symbol,sizeof(dexreq.name)); dexreq.hash = txid; dexreq.func = 'T'; - return(_dex_sendrequest(myinfo,&dexreq)); + return(_dex_sendrequest(myinfo,&dexreq,1)); } char *_dex_gettxout(struct supernet_info *myinfo,char *symbol,bits256 txid,int32_t vout) @@ -431,7 +431,7 @@ char *_dex_gettxout(struct supernet_info *myinfo,char *symbol,bits256 txid,int32 dexreq.hash = txid; dexreq.shortarg = vout; dexreq.func = 'O'; - return(_dex_sendrequest(myinfo,&dexreq)); + return(_dex_sendrequest(myinfo,&dexreq,3)); } char *_dex_getinfo(struct supernet_info *myinfo,char *symbol) @@ -440,7 +440,7 @@ char *_dex_getinfo(struct supernet_info *myinfo,char *symbol) memset(&dexreq,0,sizeof(dexreq)); safecopy(dexreq.name,symbol,sizeof(dexreq.name)); dexreq.func = 'I'; - return(_dex_sendrequest(myinfo,&dexreq)); + return(_dex_sendrequest(myinfo,&dexreq,1)); } char *_dex_alladdresses(struct supernet_info *myinfo,char *symbol) @@ -449,7 +449,7 @@ char *_dex_alladdresses(struct supernet_info *myinfo,char *symbol) memset(&dexreq,0,sizeof(dexreq)); safecopy(dexreq.name,symbol,sizeof(dexreq.name)); dexreq.func = '*'; - return(_dex_sendrequest(myinfo,&dexreq)); + return(_dex_sendrequest(myinfo,&dexreq,1)); } char *_dex_getblock(struct supernet_info *myinfo,char *symbol,bits256 hash2) @@ -459,7 +459,7 @@ char *_dex_getblock(struct supernet_info *myinfo,char *symbol,bits256 hash2) safecopy(dexreq.name,symbol,sizeof(dexreq.name)); dexreq.hash = hash2; dexreq.func = 'B'; - return(_dex_sendrequest(myinfo,&dexreq)); + return(_dex_sendrequest(myinfo,&dexreq,1)); } char *_dex_getblockhash(struct supernet_info *myinfo,char *symbol,int32_t height) @@ -469,7 +469,7 @@ char *_dex_getblockhash(struct supernet_info *myinfo,char *symbol,int32_t height safecopy(dexreq.name,symbol,sizeof(dexreq.name)); dexreq.intarg = height; dexreq.func = 'H'; - return(_dex_sendrequest(myinfo,&dexreq)); + return(_dex_sendrequest(myinfo,&dexreq,1)); } char *_dex_getbestblockhash(struct supernet_info *myinfo,char *symbol) @@ -478,7 +478,7 @@ char *_dex_getbestblockhash(struct supernet_info *myinfo,char *symbol) memset(&dexreq,0,sizeof(dexreq)); safecopy(dexreq.name,symbol,sizeof(dexreq.name)); dexreq.func = 'P'; - return(_dex_sendrequest(myinfo,&dexreq)); + return(_dex_sendrequest(myinfo,&dexreq,3)); } char *_dex_sendrawtransaction(struct supernet_info *myinfo,char *symbol,char *signedtx) @@ -487,7 +487,7 @@ char *_dex_sendrawtransaction(struct supernet_info *myinfo,char *symbol,char *si memset(&dexreq,0,sizeof(dexreq)); safecopy(dexreq.name,symbol,sizeof(dexreq.name)); dexreq.func = 'S'; - return(_dex_sendrequeststr(myinfo,&dexreq,signedtx)); + return(_dex_sendrequeststr(myinfo,&dexreq,signedtx,3)); } char *_dex_importaddress(struct supernet_info *myinfo,char *symbol,char *address) @@ -496,7 +496,7 @@ char *_dex_importaddress(struct supernet_info *myinfo,char *symbol,char *address memset(&dexreq,0,sizeof(dexreq)); safecopy(dexreq.name,symbol,sizeof(dexreq.name)); dexreq.func = 'A'; - return(_dex_sendrequeststr(myinfo,&dexreq,address)); + return(_dex_sendrequeststr(myinfo,&dexreq,address,1)); } char *_dex_validateaddress(struct supernet_info *myinfo,char *symbol,char *address) @@ -505,7 +505,7 @@ char *_dex_validateaddress(struct supernet_info *myinfo,char *symbol,char *addre memset(&dexreq,0,sizeof(dexreq)); safecopy(dexreq.name,symbol,sizeof(dexreq.name)); dexreq.func = 'V'; - return(_dex_sendrequeststr(myinfo,&dexreq,address)); + return(_dex_sendrequeststr(myinfo,&dexreq,address,1)); } char *_dex_listunspent(struct supernet_info *myinfo,char *symbol,char *address) @@ -514,7 +514,7 @@ char *_dex_listunspent(struct supernet_info *myinfo,char *symbol,char *address) memset(&dexreq,0,sizeof(dexreq)); safecopy(dexreq.name,symbol,sizeof(dexreq.name)); dexreq.func = 'U'; - return(_dex_sendrequeststr(myinfo,&dexreq,address)); + return(_dex_sendrequeststr(myinfo,&dexreq,address,1)); } char *_dex_listtransactions(struct supernet_info *myinfo,char *symbol,char *address,int32_t count,int32_t skip) @@ -525,7 +525,7 @@ char *_dex_listtransactions(struct supernet_info *myinfo,char *symbol,char *addr dexreq.intarg = skip; dexreq.shortarg = count; dexreq.func = 'L'; - return(_dex_sendrequeststr(myinfo,&dexreq,address)); + return(_dex_sendrequeststr(myinfo,&dexreq,address,1)); } int32_t dex_crc32find(struct supernet_info *myinfo,uint32_t crc32) diff --git a/iguana/iguana_notary.c b/iguana/iguana_notary.c index 3f76a9aa4..4eaff6fe7 100755 --- a/iguana/iguana_notary.c +++ b/iguana/iguana_notary.c @@ -381,7 +381,7 @@ TWO_STRINGS(dex,send,hex,handler) decode_hex(data,datalen,hex); if ( handler == 0 || handler[0] == 0 ) handler = "DEX"; - if ( (retstr= dex_reqsend(myinfo,handler,data,datalen)) == 0 ) + if ( (retstr= dex_reqsend(myinfo,handler,data,datalen,1)) == 0 ) return(clonestr("{\"result\":\"success\"}")); else return(retstr); } else return(clonestr("{\"error\":\"dex send: invalid hex\"}"));