Browse Source

Docker -> padder

etomic
jl777 7 years ago
parent
commit
3fdea8ca8e
  1. 1
      crypto777/OS_portable.h
  2. 42
      iguana/exchanges/LP_prices.c
  3. 4
      iguana/exchanges/mm.c
  4. 2
      iguana/exchanges/stats.c

1
crypto777/OS_portable.h

@ -326,6 +326,7 @@ int32_t btc_convaddr(char *hexaddr,char *addr58);
uint64_t RS_decode(char *rs); uint64_t RS_decode(char *rs);
int32_t RS_encode(char *rsaddr,uint64_t id); int32_t RS_encode(char *rsaddr,uint64_t id);
char *cmc_ticker(char *base);
void calc_sha1(char *hexstr,uint8_t *buf,uint8_t *msg,int32_t len); void calc_sha1(char *hexstr,uint8_t *buf,uint8_t *msg,int32_t len);
void calc_md2(char *hexstr,uint8_t *buf,uint8_t *msg,int32_t len); void calc_md2(char *hexstr,uint8_t *buf,uint8_t *msg,int32_t len);

42
iguana/exchanges/LP_prices.c

@ -1116,15 +1116,39 @@ void LP_pricefeedupdate(bits256 pubkey,char *base,char *rel,double price,char *u
double LP_CMCbtcprice(char *symbol) double LP_CMCbtcprice(char *symbol)
{ {
char *retstr; cJSON *ticker; double price_btc = 0.;
if ( (retstr= cmc_ticker(symbol)) != 0 )
{
if ( (ticker= cJSON_Parse(retstr)) != 0 )
{
price_btc = jdouble(ticker,"price_btc");
free_json(ticker);
}
free(retstr);
}
return(0); return(0);
} }
cJSON *LP_fundvalue(cJSON *argjson) cJSON *LP_fundvalue(cJSON *argjson)
{ {
cJSON *holdings,*item,*newitem; int32_t i,n; double btcprice,balance,btcsum; struct iguana_info *coin; char *symbol; int64_t fundvalue,KMDvalue = 0; cJSON *holdings,*item,*newitem,*array,*retjson; int32_t i,iter,n; double btcprice,balance,btcsum; struct iguana_info *coin; char *symbol,*coinaddr; int64_t fundvalue,KMDvalue = 0;
fundvalue = 0; fundvalue = 0;
btcsum = 0.; btcsum = 0.;
if ( (holdings= jarray(&n,argjson,"holdings")) != 0 ) array = cJSON_CreateArray();
for (iter=0; iter<2; iter++)
{
if ( iter == 0 )
holdings = jarray(&n,argjson,"holdings");
else
{
if ( (coinaddr= jstr(argjson,"address")) != 0 )
{
holdings = LP_balances(coinaddr);
n = cJSON_GetArraySize(holdings);
}
else break;
}
if ( holdings != 0 )
{ {
for (i=0; i<n; i++) for (i=0; i<n; i++)
{ {
@ -1132,7 +1156,7 @@ cJSON *LP_fundvalue(cJSON *argjson)
if ( (symbol= jstr(item,"coin")) != 0 && (balance= jdouble(item,"balance")) > SMALLVAL ) if ( (symbol= jstr(item,"coin")) != 0 && (balance= jdouble(item,"balance")) > SMALLVAL )
{ {
newitem = cJSON_CreateObject(); newitem = cJSON_CreateObject();
jaddstr(item,"coin",symbol); jaddstr(newitem,"coin",symbol);
if ( (coin= LP_coinfind(symbol)) != 0 && (KMDvalue= LP_KMDvalue(coin,SATOSHIDEN * balance)) > 0 ) if ( (coin= LP_coinfind(symbol)) != 0 && (KMDvalue= LP_KMDvalue(coin,SATOSHIDEN * balance)) > 0 )
{ {
jaddnum(newitem,"KMD",dstr(KMDvalue)); jaddnum(newitem,"KMD",dstr(KMDvalue));
@ -1143,15 +1167,23 @@ cJSON *LP_fundvalue(cJSON *argjson)
btcsum += btcprice * balance; btcsum += btcprice * balance;
jaddnum(newitem,"BTC",btcprice * balance); jaddnum(newitem,"BTC",btcprice * balance);
} }
else jaddstr(newitem,"error","no price source");
jaddi(array,newitem);
}
} }
} }
} }
retjson = cJSON_CreateObject();
jadd(retjson,"holdings",array);
if ( btcsum != 0 ) if ( btcsum != 0 )
{ {
btcprice = LP_CMCbtcprice("KMD"); btcprice = LP_CMCbtcprice("KMD");
fundvalue += (btcprice * btcsum) * SATOSHIDEN; fundvalue += (btcprice * btcsum) * SATOSHIDEN;
jaddnum(retjson,"KMD_BTC",btcprice);
jaddnum(retjson,"btcsum",btcsum);
jaddnum(retjson,"btcvalue",btcsum * btcprice);
} }
return(0); jaddnum(retjson,"fundvalue",dstr(fundvalue));
return(retjson);
} }

4
iguana/exchanges/mm.c

@ -34,7 +34,7 @@ void PNACL_message(char *arg,...)
#include "../../crypto777/OS_portable.h" #include "../../crypto777/OS_portable.h"
#endif // !_WIN_32 #endif // !_WIN_32
int32_t DOCKERFLAG; uint32_t DOCKERFLAG;
#define MAX(a,b) ((a) > (b) ? (a) : (b)) #define MAX(a,b) ((a) > (b) ? (a) : (b))
char *stats_JSON(void *ctx,char *myipaddr,int32_t pubsock,cJSON *argjson,char *remoteaddr,uint16_t port); char *stats_JSON(void *ctx,char *myipaddr,int32_t pubsock,cJSON *argjson,char *remoteaddr,uint16_t port);
#include "stats.c" #include "stats.c"
@ -921,7 +921,7 @@ int main(int argc, const char * argv[])
} }
if ( argc > 1 && (retjson= cJSON_Parse(argv[1])) != 0 ) if ( argc > 1 && (retjson= cJSON_Parse(argv[1])) != 0 )
{ {
DOCKERFLAG = jint(retjson,"docker"); DOCKERFLAG = (uint32_t)calc_ipbits(jstr(retjson,"docker"));
if ( (passphrase= jstr(retjson,"passphrase")) == 0 ) if ( (passphrase= jstr(retjson,"passphrase")) == 0 )
jaddstr(retjson,"passphrase","test"); jaddstr(retjson,"passphrase","test");
if ( OS_thread_create(malloc(sizeof(pthread_t)),NULL,(void *)LP_main,(void *)retjson) != 0 ) if ( OS_thread_create(malloc(sizeof(pthread_t)),NULL,(void *)LP_main,(void *)retjson) != 0 )

2
iguana/exchanges/stats.c

@ -817,7 +817,7 @@ void stats_rpcloop(void *args)
} }
#endif*/ #endif*/
memcpy(&ipbits,&cli_addr.sin_addr.s_addr,sizeof(ipbits)); memcpy(&ipbits,&cli_addr.sin_addr.s_addr,sizeof(ipbits));
if ( DOCKERFLAG != 0 ) if ( DOCKERFLAG != 0 && ipbits == DOCKERFLAG )
ipbits = localhostbits; ipbits = localhostbits;
if ( port == RPC_port && ipbits != localhostbits ) if ( port == RPC_port && ipbits != localhostbits )
{ {

Loading…
Cancel
Save