From bb2e76b2b93ffedb0269c35be6ed9bb33665190b Mon Sep 17 00:00:00 2001 From: jl777 Date: Sun, 22 Oct 2017 20:13:34 +0300 Subject: [PATCH] Test --- iguana/exchanges/LP_commands.c | 2 +- iguana/exchanges/LP_nativeDEX.c | 4 +- iguana/exchanges/LP_signatures.c | 117 ++++++++++++++++--------------- 3 files changed, 61 insertions(+), 62 deletions(-) diff --git a/iguana/exchanges/LP_commands.c b/iguana/exchanges/LP_commands.c index af6960311..f84c47ff0 100644 --- a/iguana/exchanges/LP_commands.c +++ b/iguana/exchanges/LP_commands.c @@ -526,7 +526,7 @@ stop()\n\ // retstr = clonestr("{\"result\":\"coin is disabled\"}"); else if ( strcmp(method,"encrypted") == 0 ) retstr = clonestr("{\"result\":\"success\"}"); - else // special handling requests + else // psock requests/response { if ( IAMLP != 0 ) { diff --git a/iguana/exchanges/LP_nativeDEX.c b/iguana/exchanges/LP_nativeDEX.c index 19f42f918..7bb32a06a 100644 --- a/iguana/exchanges/LP_nativeDEX.c +++ b/iguana/exchanges/LP_nativeDEX.c @@ -18,12 +18,10 @@ // LP_nativeDEX.c // marketmaker // -// sign critical api calls (pubkey reg, listunspent, orders?) - // process stats.log local file -> map of realtime activity! // handles <-> pubkeys, deal with offline pubkeys, reputations, bonds etc. // -// verify portfolio, pricearray, interest to KMD withdraw +// verify portfolio, pricearray, interest to KMD withdraw, reliable networking // dPoW security -> 4: KMD notarized, 5: BTC notarized, after next notary elections diff --git a/iguana/exchanges/LP_signatures.c b/iguana/exchanges/LP_signatures.c index 88476c59f..9626aba6b 100644 --- a/iguana/exchanges/LP_signatures.c +++ b/iguana/exchanges/LP_signatures.c @@ -181,64 +181,6 @@ char *LP_quotereceived(cJSON *argjson) } else return(clonestr("{\"error\":\"nullptr\"}")); } -void LP_smartutxos_push(struct iguana_info *coin) -{ - struct LP_peerinfo *peer,*tmp; uint64_t value; bits256 zero,txid; int32_t i,vout,height,n; char *retstr; cJSON *array,*item,*req; - if ( coin->smartaddr[0] == 0 ) - return; - if ( (array= LP_address_utxos(coin,coin->smartaddr,1)) != 0 ) - { - memset(zero.bytes,0,sizeof(zero)); - if ( (n= cJSON_GetArraySize(array)) > 0 ) - { - //printf("PUSH %s %s\n",coin->symbol,coin->smartaddr); - for (i=0; iipaddr,peer->port,coin->symbol,coin->smartaddr,txid,vout,height,value)) != 0 ) - free(retstr); - } - } - req = cJSON_CreateObject(); - jaddstr(req,"method","uitem"); - jaddstr(req,"coin",coin->symbol); - jaddstr(req,"coinaddr",coin->smartaddr); - jaddbits256(req,"txid",txid); - jaddnum(req,"vout",vout); - jaddnum(req,"ht",height); - jadd64bits(req,"value",value); - //printf("ADDR_UNSPENTS[] <- %s\n",jprint(req,0)); - LP_reserved_msg("","",zero,jprint(req,1)); - } - } - free_json(array); - } -} - -char *LP_uitem_recv(cJSON *argjson) -{ - bits256 txid; int32_t vout,height; uint64_t value; char *coinaddr,*symbol; - txid = jbits256(argjson,"txid"); - vout = jint(argjson,"vout"); - height = jint(argjson,"ht"); - value = j64bits(argjson,"value"); - coinaddr = jstr(argjson,"coinaddr"); - if ( (symbol= jstr(argjson,"coin")) != 0 && coinaddr != 0 ) - { - //char str[65]; printf("uitem %s %s %s/v%d %.8f ht.%d\n",coin,coinaddr,bits256_str(str,txid),vout,dstr(value),height); - LP_address_utxoadd(LP_coinfind(symbol),coinaddr,txid,vout,value,height,-1); - } - return(clonestr("{\"result\":\"success\"}")); -} - void LP_postutxos(char *symbol,char *coinaddr) { bits256 zero; struct iguana_info *coin; cJSON *array,*reqjson = cJSON_CreateObject(); @@ -457,6 +399,65 @@ char *LP_notify_recv(cJSON *argjson) return(clonestr("{\"result\":\"success\",\"notify\":\"received\"}")); } +void LP_smartutxos_push(struct iguana_info *coin) +{ + struct LP_peerinfo *peer,*tmp; uint64_t value; bits256 zero,txid; int32_t i,vout,height,n; char *retstr; cJSON *array,*item,*req; + if ( coin->smartaddr[0] == 0 ) + return; + LP_notify_pubkeys(coin->ctx,LP_mypubsock); + if ( (array= LP_address_utxos(coin,coin->smartaddr,1)) != 0 ) + { + memset(zero.bytes,0,sizeof(zero)); + if ( (n= cJSON_GetArraySize(array)) > 0 ) + { + //printf("PUSH %s %s\n",coin->symbol,coin->smartaddr); + for (i=0; iipaddr,peer->port,coin->symbol,coin->smartaddr,txid,vout,height,value)) != 0 ) + free(retstr); + } + } + req = cJSON_CreateObject(); + jaddstr(req,"method","uitem"); + jaddstr(req,"coin",coin->symbol); + jaddstr(req,"coinaddr",coin->smartaddr); + jaddbits256(req,"txid",txid); + jaddnum(req,"vout",vout); + jaddnum(req,"ht",height); + jadd64bits(req,"value",value); + //printf("ADDR_UNSPENTS[] <- %s\n",jprint(req,0)); + LP_reserved_msg("","",zero,jprint(req,1)); + } + } + free_json(array); + } +} + +char *LP_uitem_recv(cJSON *argjson) +{ + bits256 txid; int32_t vout,height; uint64_t value; char *coinaddr,*symbol; + txid = jbits256(argjson,"txid"); + vout = jint(argjson,"vout"); + height = jint(argjson,"ht"); + value = j64bits(argjson,"value"); + coinaddr = jstr(argjson,"coinaddr"); + if ( (symbol= jstr(argjson,"coin")) != 0 && coinaddr != 0 ) + { + //char str[65]; printf("uitem %s %s %s/v%d %.8f ht.%d\n",coin,coinaddr,bits256_str(str,txid),vout,dstr(value),height); + LP_address_utxoadd(LP_coinfind(symbol),coinaddr,txid,vout,value,height,-1); + } + return(clonestr("{\"result\":\"success\"}")); +} + void LP_listunspent_query(char *symbol,char *coinaddr) { bits256 zero; cJSON *reqjson = cJSON_CreateObject();