jl777 8 years ago
parent
commit
73340b4cda
  1. 28
      iguana/exchanges/LP_socket.c

28
iguana/exchanges/LP_socket.c

@ -547,7 +547,7 @@ cJSON *LP_transaction_fromdata(struct iguana_info *coin,bits256 txid,uint8_t *se
cJSON *electrum_transaction(char *symbol,struct electrum_info *ep,cJSON **retjsonp,bits256 txid) cJSON *electrum_transaction(char *symbol,struct electrum_info *ep,cJSON **retjsonp,bits256 txid)
{ {
char *hexstr,str[65]; int32_t len; cJSON *hexjson,*txobj=0; struct iguana_info *coin; uint8_t *serialized; struct LP_transaction *tx; char *hexstr,str[65]; int32_t len; cJSON *hexjson,*txobj=0; struct iguana_info *coin; uint8_t *serialized; struct LP_transaction *tx;
printf("electrum_transaction %s %s\n",symbol,bits256_str(str,txid)); //printf("electrum_transaction %s %s\n",symbol,bits256_str(str,txid));
if ( bits256_nonz(txid) != 0 && (coin= LP_coinfind(symbol)) != 0 ) if ( bits256_nonz(txid) != 0 && (coin= LP_coinfind(symbol)) != 0 )
{ {
if ( (tx= LP_transactionfind(coin,txid)) != 0 && tx->serialized != 0 ) if ( (tx= LP_transactionfind(coin,txid)) != 0 && tx->serialized != 0 )
@ -579,21 +579,23 @@ cJSON *electrum_transaction(char *symbol,struct electrum_info *ep,cJSON **retjso
serialized = malloc(len); serialized = malloc(len);
decode_hex(serialized,len,hexstr+1); decode_hex(serialized,len,hexstr+1);
free(hexstr); free(hexstr);
printf("DATA.(%s) from (%s)\n",hexstr+1,jprint(hexjson,0)); //printf("DATA.(%s) from (%s)\n",hexstr+1,jprint(hexjson,0));
txobj = LP_transaction_fromdata(coin,txid,serialized,len);
if ( (tx= LP_transactionfind(coin,txid)) == 0 || tx->serialized == 0 ) if ( (tx= LP_transactionfind(coin,txid)) == 0 || tx->serialized == 0 )
{ {
txobj = LP_transactioninit(coin,txid,0,LP_transaction_fromdata(coin,txid,serialized,len)); txobj = LP_transactioninit(coin,txid,0,txobj);
LP_transactioninit(coin,txid,1,txobj); LP_transactioninit(coin,txid,1,txobj);
if ( (tx= LP_transactionfind(coin,txid)) != 0 ) tx = LP_transactionfind(coin,txid);
{ }
tx->serialized = serialized; if ( tx != 0 )
tx->len = len; {
} tx->serialized = serialized;
else tx->len = len;
{ }
printf("unexpected couldnt find tx %s %s\n",coin->symbol,bits256_str(str,txid)); else
free(serialized); {
} printf("unexpected couldnt find tx %s %s\n",coin->symbol,bits256_str(str,txid));
free(serialized);
} }
*retjsonp = txobj; *retjsonp = txobj;
free_json(hexjson); free_json(hexjson);

Loading…
Cancel
Save