Browse Source

Merge branch 'dev' of https://github.com/jl777/SuperNET into etomic

pass-iguana-arg
Artem Pikulin 7 years ago
parent
commit
d3a62acf02
  1. 2
      iguana/exchanges/LP_commands.c
  2. 14
      iguana/exchanges/LP_rpc.c
  3. 6
      iguana/exchanges/LP_transaction.c

2
iguana/exchanges/LP_commands.c

@ -631,7 +631,7 @@ jpg(srcfile, destfile, power2=7, password, data="", required, ind=0)\n\
} }
else if ( strcmp(method,"sendrawtransaction") == 0 ) else if ( strcmp(method,"sendrawtransaction") == 0 )
{ {
return(LP_sendrawtransaction(coin,jstr(argjson,"signedtx"))); return(LP_sendrawtransaction(coin,jstr(argjson,"signedtx"),jint(argjson,"needjson")));
} }
else if ( strcmp(method,"convaddress") == 0 ) else if ( strcmp(method,"convaddress") == 0 )
{ {

14
iguana/exchanges/LP_rpc.c

@ -791,19 +791,19 @@ double LP_getestimatedrate(struct iguana_info *coin)
return(rate); return(rate);
} }
char *LP_sendrawtransaction(char *symbol,char *signedtx) char *LP_sendrawtransaction(char *symbol,char *signedtx,int32_t needjson)
{ {
cJSON *array,*errobj; char *paramstr,*tmpstr,*retstr=0; int32_t n,alreadyflag = 0; cJSON *retjson; struct iguana_info *coin; cJSON *array,*errobj; char *paramstr,*tmpstr,*retstr=0; int32_t n,alreadyflag = 0; cJSON *retjson; struct iguana_info *coin;
if ( symbol == 0 || symbol[0] == 0 || signedtx == 0 || signedtx[0] == 0 ) if ( symbol == 0 || symbol[0] == 0 || signedtx == 0 || signedtx[0] == 0 )
{ {
printf("LP_sendrawtransaction null symbol %p or signedtx.%p\n",symbol,signedtx); printf("LP_sendrawtransaction null symbol %p or signedtx.%p\n",symbol,signedtx);
return(0); return(clonestr("{\"error\":\"invalid param\"}"));
} }
coin = LP_coinfind(symbol); coin = LP_coinfind(symbol);
if ( coin == 0 ) if ( coin == 0 )
{ {
printf("LP_sendrawtransaction null coin\n"); printf("LP_sendrawtransaction null coin\n");
return(0); return(clonestr("{\"error\":\"invalid coin\"}"));
} }
if ( coin->electrum == 0 ) if ( coin->electrum == 0 )
{ {
@ -844,6 +844,14 @@ char *LP_sendrawtransaction(char *symbol,char *signedtx)
} }
} }
} }
if ( needjson != 0 && is_hexstr(retstr,0) > 0 )
{
retjson = cJSON_CreateObject();
jaddstr(retjson,"result","success");
jaddstr(retjson,"txid",retstr);
free(retstr);
retstr = jprint(retjson,1);
}
return(retstr); return(retstr);
} }

6
iguana/exchanges/LP_transaction.c

@ -122,7 +122,7 @@ bits256 LP_broadcast(char *txname,char *symbol,char *txbytes,bits256 expectedtxi
//char str[65]; printf("LP_broadcast.%d %s (%s) %s i.%d sentflag.%d %s\n",i,txname,symbol,bits256_str(str,expectedtxid),i,sentflag,txbytes); //char str[65]; printf("LP_broadcast.%d %s (%s) %s i.%d sentflag.%d %s\n",i,txname,symbol,bits256_str(str,expectedtxid),i,sentflag,txbytes);
if ( sentflag == 0 && LP_gettx_presence(0,symbol,expectedtxid,0) != 0 ) if ( sentflag == 0 && LP_gettx_presence(0,symbol,expectedtxid,0) != 0 )
sentflag = 1; sentflag = 1;
if ( sentflag == 0 && (retstr= LP_sendrawtransaction(symbol,txbytes)) != 0 ) if ( sentflag == 0 && (retstr= LP_sendrawtransaction(symbol,txbytes,0)) != 0 )
{ {
if ( is_hexstr(retstr,0) == 64 ) if ( is_hexstr(retstr,0) == 64 )
{ {
@ -1717,7 +1717,7 @@ char *LP_txblast(struct iguana_info *coin,cJSON *argjson)
{ {
if ( broadcast != 0 ) if ( broadcast != 0 )
{ {
if ( (signret= LP_sendrawtransaction(coin->symbol,signedtx)) != 0 ) if ( (signret= LP_sendrawtransaction(coin->symbol,signedtx,0)) != 0 )
{ {
printf("LP_txblast.%s broadcast (%s) vs %s\n",coin->symbol,bits256_str(str,signedtxid),signret); printf("LP_txblast.%s broadcast (%s) vs %s\n",coin->symbol,bits256_str(str,signedtxid),signret);
if ( is_hexstr(signret,0) == 64 ) if ( is_hexstr(signret,0) == 64 )
@ -1894,7 +1894,7 @@ char *LP_withdraw(struct iguana_info *coin,cJSON *argjson)
jaddstr(retjson,"hex",signedtx); jaddstr(retjson,"hex",signedtx);
if ( broadcast != 0 ) if ( broadcast != 0 )
{ {
if ( (signret= LP_sendrawtransaction(coin->symbol,signedtx)) != 0 ) if ( (signret= LP_sendrawtransaction(coin->symbol,signedtx,0)) != 0 )
{ {
printf("LP_withdraw.%s %s -> %s (%s)\n",coin->symbol,jprint(argjson,0),bits256_str(str,signedtxid),signret); printf("LP_withdraw.%s %s -> %s (%s)\n",coin->symbol,jprint(argjson,0),bits256_str(str,signedtxid),signret);
free(signret); free(signret);

Loading…
Cancel
Save