diff --git a/iguana/exchanges/LP_commands.c b/iguana/exchanges/LP_commands.c index 3278e03f2..a8f169b6b 100644 --- a/iguana/exchanges/LP_commands.c +++ b/iguana/exchanges/LP_commands.c @@ -127,6 +127,7 @@ swapstatus(coin, limit=10)\n\ swapstatus(base, rel, limit=10)\n\ swapstatus(requestid, quoteid, pending=0, fast=0)\n\ recentswaps(limit=3)\n\ +kickstart(requestid, quoteid)\n\ notarizations(coin)\n\ public API:\n \ getcoins()\n\ @@ -413,6 +414,13 @@ jpg(srcfile, destfile, power2=7, password, data="", required, ind=0)\n\ taddr = (jobj(argjson,"taddr") == 0) ? 0 : juint(argjson,"taddr"); return(LP_secretaddresses(ctx,jstr(argjson,"prefix"),jstr(argjson,"passphrase"),juint(argjson,"num"),taddr,pubtype)); } + else if ( strcmp(method,"kickstart") == 0 ) + { + uint32_t requestid,quoteid; + if ( (requestid= juint(argjson,"requestid")) != 0 && (quoteid= juint(argjson,"quoteid")) != 0 ) + return(LP_kickstart(requestid,quoteid)); + else return(clonestr("{\"error\":\"kickstart needs requestid and quoteid\"}")); + } else if ( strcmp(method,"swapstatus") == 0 ) { uint32_t requestid,quoteid; diff --git a/iguana/exchanges/LP_remember.c b/iguana/exchanges/LP_remember.c index 947463089..d146eb91c 100644 --- a/iguana/exchanges/LP_remember.c +++ b/iguana/exchanges/LP_remember.c @@ -1687,6 +1687,14 @@ char *basilisk_swapentry(int32_t fastflag,uint32_t requestid,uint32_t quoteid,in else return(clonestr("{\"error\":\"cant find requestid-quoteid\"}")); } +char *LP_kickstart(uint32_t requestid,uint32_t quoteid) +{ + char fname[512]; + sprintf(fname,"%s/SWAPS/%u-%u.finished",GLOBAL_DBDIR,requestid,quoteid), OS_compatible_path(fname); + OS_portable_removefile(fname); + return(basilisk_swapentry(0,requestid,quoteid,1); +} + extern struct LP_quoteinfo LP_Alicequery; extern uint32_t Alice_expiration;