diff --git a/iguana/exchanges/LP_commands.c b/iguana/exchanges/LP_commands.c index 7c8418a64..948304fb7 100644 --- a/iguana/exchanges/LP_commands.c +++ b/iguana/exchanges/LP_commands.c @@ -402,10 +402,13 @@ forward(pubkey,hexstr)\n\ retstr = LP_orderbook(jstr(argjson,"base"),jstr(argjson,"rel")); else if ( strcmp(method,"forward") == 0 ) { + cJSON *reqjson = jduplicate(argjson); printf("FORWARDED.(%s)\n",jprint(argjson,0)); - if ( jstr(argjson,"method2") != 0 && strncmp("forward",jstr(argjson,"method2"),strlen("forward")) != 0 ) + jdelete(reqjson,"method"); + if ( jstr(reqjson,"method2") != 0 && strncmp("forward",jstr(reqjson,"method2"),strlen("forward")) != 0 ) { - if ( LP_forward(jbits256(argjson,"pubkey"),jprint(argjson,1),1) > 0 ) + jaddstr(reqjson,"method",jstr(argjson,"method2")); + if ( LP_forward(jbits256(argjson,"pubkey"),jprint(reqjson,1),1) > 0 ) retstr = clonestr("{\"result\":\"success\"}"); else retstr = clonestr("{\"error\":\"error forwarding\"}"); } else retstr = clonestr("{\"error\":\"cant recurse forwards\"}"); diff --git a/iguana/exchanges/LP_forwarding.c b/iguana/exchanges/LP_forwarding.c index da9e04eb5..85b087a18 100644 --- a/iguana/exchanges/LP_forwarding.c +++ b/iguana/exchanges/LP_forwarding.c @@ -173,6 +173,7 @@ int32_t LP_forward(bits256 pubkey,char *jsonstr,int32_t freeflag) reqjson = cJSON_CreateObject(); jaddstr(reqjson,"method","forwardhex"); jaddstr(reqjson,"hex",hexstr); + jaddbits256(reqjson,"pubkey",pubkey); free(hexstr); return(LP_send(peer->pushsock,jprint(reqjson,1),1)); }