Skip to content

Commit

Permalink
Merge branch 'master' of https://github.com/jl777/btcd
Browse files Browse the repository at this point in the history
  • Loading branch information
mezzovide committed Aug 15, 2015
2 parents 200cee5 + b789db0 commit a0a67a0
Show file tree
Hide file tree
Showing 5 changed files with 17 additions and 15 deletions.
2 changes: 1 addition & 1 deletion libjl777/Makefile.win64
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ endif

PATH := $(PWD)/mxe/usr/bin:$(PATH)

PLIBS := ../libs/libjl777-win64.a ../libs/libminiupnpc-win64.a ../libs/libnanomsg-win64.a -lpthread -lcurl -lm -liphlpapi -lws2_32 -lwsock32 ../libs/libmman.a -lz -lssp -D_win64 -DNN_EXPORTS -DNN_HAVE_MINGW -DNN_HAVE_WINDOWS -DNN_USE_LITERAL_IFADDR=1 -DSTATICLIB -DCURL_STATICLIB
PLIBS := -DMINGW_HAS_SECURE_API=1 ../libs/libjl777-win64.a ../libs/libminiupnpc-win64.a ../libs/libnanomsg-win64.a -lpthread -lcurl -lm -liphlpapi -lws2_32 -lwsock32 ../libs/libmman.a -lz -lssp -D_win64 -DNN_EXPORTS -DNN_HAVE_MINGW -DNN_HAVE_WINDOWS -DNN_USE_LITERAL_IFADDR=1 -DSTATICLIB -DCURL_STATICLIB

LIBS= libs/libjl777-win64.a libs/libnanomsg-win64.a libs/libminiupnpc-win64.a -lpthread -lcurl -lm -liphlpapi -lws2_32 -lwsock32 libs/libmman.a -lz -lssp

Expand Down
5 changes: 3 additions & 2 deletions libjl777/plugins/InstantDEX/InstantDEX_main.c
Original file line number Diff line number Diff line change
Expand Up @@ -315,7 +315,7 @@ char *InstantDEX(char *jsonstr,char *remoteaddr,int32_t localaccess)
retstr = InstantDEX_tradesequence(json);
else if ( strcmp(method,"makebasket") == 0 )
{
if ( (prices= prices777_makebasket(0,json,1)) != 0 )
if ( (prices= prices777_makebasket(0,json,1,"basket")) != 0 )
retstr = clonestr("{\"result\":\"basket made\"}");
else retstr = clonestr("{\"error\":\"couldnt make basket\"}");
}
Expand Down Expand Up @@ -486,13 +486,14 @@ void init_exchanges(cJSON *json)
find_exchange(0,INSTANTDEX_NXTAEUNCONF);
find_exchange(0,INSTANTDEX_NXTAENAME);
find_exchange(0,INSTANTDEX_BASKETNAME);
find_exchange(0,INSTANTDEX_ACTIVENAME);
for (i=0; i<sizeof(exchanges)/sizeof(*exchanges); i++)
find_exchange(0,exchanges[i]);
prices777_initpair(-1,0,0,0,0,0.,0,0,0,0);
if ( (array= jarray(&n,json,"baskets")) != 0 )
{
for (i=0; i<n; i++)
prices777_makebasket(0,jitem(array,i),1);
prices777_makebasket(0,jitem(array,i),1,"basket");
}
//prices777_makebasket("{\"name\":\"NXT/BTC\",\"base\":\"NXT\",\"rel\":\"BTC\",\"basket\":[{\"exchange\":\"bittrex\"},{\"exchange\":\"poloniex\"},{\"exchange\":\"btc38\"}]}",0);
}
Expand Down
20 changes: 10 additions & 10 deletions libjl777/plugins/InstantDEX/orderbooks.h
Original file line number Diff line number Diff line change
Expand Up @@ -28,10 +28,10 @@ struct prices777 *prices777_find(int32_t *invertedp,uint64_t baseid,uint64_t rel
return(0);
}

struct prices777 *prices777_createbasket(int32_t addbasket,char *name,char *base,char *rel,uint64_t baseid,uint64_t relid,struct prices777_basket *basket,int32_t n)
struct prices777 *prices777_createbasket(int32_t addbasket,char *name,char *base,char *rel,uint64_t baseid,uint64_t relid,struct prices777_basket *basket,int32_t n,char *typestr)
{
int32_t i,j,m,iter,max = 0; double firstwt,wtsum; struct prices777 *prices,*feature;
prices = prices777_initpair(1,0,"basket",base,rel,0.,name,baseid,relid,n);
prices = prices777_initpair(1,0,typestr,base,rel,0.,name,baseid,relid,n);
for (iter=0; iter<2; iter++)
{
for (i=0; i<n; i++)
Expand Down Expand Up @@ -747,7 +747,7 @@ struct prices777 *prices777_addbundle(int32_t *validp,int32_t loadprices,struct
return(0);
}

struct prices777 *prices777_makebasket(char *basketstr,cJSON *_basketjson,int32_t addbasket)
struct prices777 *prices777_makebasket(char *basketstr,cJSON *_basketjson,int32_t addbasket,char *typestr)
{
//{"name":"NXT/BTC","base":"NXT","rel":"BTC","basket":[{"exchange":"poloniex"},{"exchange":"btc38"}]}
int32_t i,n,keysize,groupid,valid; char refname[64],refbase[64],refrel[64],name[64],base[64],rel[64],exchangestr[64],key[8192];
Expand Down Expand Up @@ -808,16 +808,16 @@ struct prices777 *prices777_makebasket(char *basketstr,cJSON *_basketjson,int32_
return(0);
}
}
printf(">>>>> (%s/%s).%s %llu %llu\n",refbase,refrel,"basket",(long long)refbaseid,(long long)refrelid);
InstantDEX_name(key,&keysize,"basket",refname,refbase,&refbaseid,refrel,&refrelid);
printf(">>>>> (%s/%s).%s %llu %llu\n",refbase,refrel,typestr,(long long)refbaseid,(long long)refrelid);
InstantDEX_name(key,&keysize,typestr,refname,refbase,&refbaseid,refrel,&refrelid);
if ( addbasket != 0 )
{
prices777_addbundle(&valid,0,0,"basket",refbaseid,refrelid);
printf("<<<<< valid.%d refname.(%s) (%s/%s).%s %llu %llu\n",valid,refname,refbase,refrel,"basket",(long long)refbaseid,(long long)refrelid);
prices777_addbundle(&valid,0,0,typestr,refbaseid,refrelid);
printf("<<<<< valid.%d refname.(%s) (%s/%s).%s %llu %llu\n",valid,refname,refbase,refrel,typestr,(long long)refbaseid,(long long)refrelid);
} else valid = 0;
if ( valid >= 0 )
{
if ( (prices = prices777_createbasket(addbasket,refname,refbase,refrel,refbaseid,refrelid,basket,n)) != 0 )
if ( (prices = prices777_createbasket(addbasket,refname,refbase,refrel,refbaseid,refrelid,basket,n,typestr)) != 0 )
{
if ( addbasket != 0 )
BUNDLE.ptrs[BUNDLE.num++] = prices;
Expand Down Expand Up @@ -1026,7 +1026,7 @@ char *prices777_activebooks(char *name,char *_base,char *_rel,uint64_t baseid,ui
cJSON *basketjson,*array,*item,*item2; struct prices777 *active;
uint64_t mgwbase,mgwrel; int32_t inverted,exchangeid; char numstr[64],base[64],rel[64],*retstr = 0;
strcpy(base,_base), strcpy(rel,_rel);
if ( (active= prices777_find(&inverted,baseid,relid,"basket")) == 0 )
if ( (active= prices777_find(&inverted,baseid,relid,(tradeable != 0) ? "active" : "basket")) == 0 )
{
basketjson = cJSON_CreateObject(), array = cJSON_CreateArray();
jaddstr(basketjson,"name",name), jaddstr(basketjson,"base",base), jaddstr(basketjson,"rel",rel);
Expand Down Expand Up @@ -1062,7 +1062,7 @@ char *prices777_activebooks(char *name,char *_base,char *_rel,uint64_t baseid,ui
}
}
jadd(basketjson,"basket",array);
if ( (active= prices777_makebasket(0,basketjson,1)) != 0 )
if ( (active= prices777_makebasket(0,basketjson,1,(tradeable != 0) ? "active" : "basket")) != 0 )
{
prices777_basket(active,maxdepth);
retstr = prices777_orderbook_jsonstr(0,SUPERNET.my64bits,active,&active->O,maxdepth,allflag);
Expand Down
2 changes: 1 addition & 1 deletion libjl777/plugins/common/prices777.c
Original file line number Diff line number Diff line change
Expand Up @@ -899,7 +899,7 @@ struct prices777 *prices777_poll(char *_exchangestr,char *_name,char *_base,uint
if ( valid >= 0 )
{
_set_assetname(&mult,name,0,refbaseid), strcat(name,"/"), _set_assetname(&mult,name+strlen(name),0,refrelid);
BUNDLE.ptrs[BUNDLE.num++] = prices = prices777_createbasket(1,name,_base,_rel,refbaseid,refrelid,basket,2);
BUNDLE.ptrs[BUNDLE.num++] = prices = prices777_createbasket(1,name,_base,_rel,refbaseid,refrelid,basket,2,"basket");
//prices->lastprice = prices777_basket(prices,MAX_DEPTH);
printf("updating basket(%s) lastprice %f changed.%p %d\n",prices->contract,prices->lastprice,&prices->changed,prices->changed);
printf("B total polling.%d added.(%s) (%s/%s) {%s && %s}\n",BUNDLE.num,prices->contract,_base,_rel,firstprices->contract,basket[1].prices->contract);
Expand Down
3 changes: 2 additions & 1 deletion libjl777/plugins/includes/portable777.h
Original file line number Diff line number Diff line change
Expand Up @@ -163,6 +163,7 @@ void set_best_amounts(uint64_t *baseamountp,uint64_t *relamountp,double price,do
#define INSTANTDEX_NXTAENAME "nxtae"
#define INSTANTDEX_NXTAEUNCONF "unconf"
#define INSTANTDEX_BASKETNAME "basket"
#define INSTANTDEX_ACTIVENAME "active"
#define INSTANTDEX_EXCHANGEID 0
#define INSTANTDEX_UNCONFID 1
#define INSTANTDEX_NXTAEID 2
Expand Down Expand Up @@ -224,7 +225,7 @@ char *prices777_activebooks(char *name,char *base,char *rel,uint64_t baseid,uint

struct prices777 *prices777_initpair(int32_t needfunc,double (*updatefunc)(struct prices777 *prices,int32_t maxdepth),char *exchange,char *base,char *rel,double decay,char *name,uint64_t baseid,uint64_t relid,int32_t basketsize);
double prices777_price_volume(double *volumep,uint64_t baseamount,uint64_t relamount);
struct prices777 *prices777_makebasket(char *basketstr,cJSON *basketjson,int32_t addbasket);
struct prices777 *prices777_makebasket(char *basketstr,cJSON *basketjson,int32_t addbasket,char *typestr);
char *InstantDEX(char *jsonstr,char *remoteaddr,int32_t localaccess);
//cJSON *prices777_InstantDEX_json(char *_base,char *_rel,int32_t depth,int32_t invert,int32_t localaccess,uint64_t *baseamountp,uint64_t *relamountp,struct InstantDEX_quote *iQ,uint64_t refbaseid,uint64_t refrelid,uint64_t jumpasset);
uint64_t calc_baseamount(uint64_t *relamountp,uint64_t assetid,uint64_t qty,uint64_t priceNQT);
Expand Down

0 comments on commit a0a67a0

Please sign in to comment.