Browse Source

Test

etomic
jl777 8 years ago
parent
commit
f2a479a9c3
  1. 6
      .gitignore
  2. 6
      basilisk/basilisk_tradebot.c
  3. 4
      basilisk/tradebots_liquidity.c
  4. 19
      iguana/kmd_lookup.h

6
.gitignore

@ -141,3 +141,9 @@ iguana/confs/c6faccf6b625bbb826f47b77c3274e985db7b0a47d435f32bea2f7f3724cdd17.ol
iguana/marketmaker iguana/marketmaker
iguana/secp256k1.o-501dfbfe iguana/secp256k1.o-501dfbfe
iguana/confs/cc577d22ca76351d495f147b470103392b5f2ab0948e45608623a7d9728e2c6f
iguana/confs/cc577d22ca76351d495f147b470103392b5f2ab0948e45608623a7d9728e2c6f.old
iguana/DB/DEX.log

6
basilisk/basilisk_tradebot.c

@ -330,9 +330,9 @@ double basilisk_request_listprocess(struct supernet_info *myinfo,struct basilisk
aveprice = refprice; aveprice = refprice;
if ( fabs(aveprice) < SMALLVAL ) if ( fabs(aveprice) < SMALLVAL )
return(0); return(0);
printf("avebid %f bidvol %f, aveask %f askvol %f\n",retvals[0],retvals[1],retvals[2],retvals[3]);
//retvals[0] = avebid, retvals[1] = bidvol, retvals[2] = aveask, retvals[3] = askvol; //retvals[0] = avebid, retvals[1] = bidvol, retvals[2] = aveask, retvals[3] = askvol;
destamount = (1.0 - profitmargin) * aveprice * list[0].srcamount; destamount = (1.0 - profitmargin) * aveprice * list[0].srcamount;
printf("aveprice %f dest %.8f avebid %f bidvol %f, aveask %f askvol %f\n",aveprice,dstr(destamount),retvals[0],retvals[1],retvals[2],retvals[3]);
if ( (retstr= InstantDEX_available(myinfo,iguana_coinfind(list[0].dest),0,0,list[0].dest)) != 0 ) if ( (retstr= InstantDEX_available(myinfo,iguana_coinfind(list[0].dest),0,0,list[0].dest)) != 0 )
{ {
if ( (retjson= cJSON_Parse(retstr)) != 0 ) if ( (retjson= cJSON_Parse(retstr)) != 0 )
@ -343,8 +343,8 @@ double basilisk_request_listprocess(struct supernet_info *myinfo,struct basilisk
free(retstr); free(retstr);
} }
// BTC balance 0.00500000 destamount 0.00041951 aveprice 0.00421619 minamount 0.00020000 // BTC balance 0.00500000 destamount 0.00041951 aveprice 0.00421619 minamount 0.00020000
printf("%s balance %.8f destamount %.8f aveprice %.8f minamount %.8f\n",list[0].dest,dstr(balance),dstr(destamount),aveprice,dstr(minamount)); printf("%s balance %.8f destamount %.8f aveprice %.8f maxamount %.8f minamount %.8f\n",list[0].dest,dstr(balance),dstr(destamount),aveprice,dstr(maxamount),dstr(minamount));
if ( balance > destamount && (int64_t)destamount > 0 && destamount >= maxamount && destamount >= minamount ) if ( balance > destamount && (int64_t)destamount > 0 && destamount >= minamount ) // max?
{ {
metric = 1.; metric = 1.;
*issueR = list[0]; *issueR = list[0];

4
basilisk/tradebots_liquidity.c

@ -1010,7 +1010,7 @@ double _default_liquidity_active(struct supernet_info *myinfo,double *refpricep,
dir = 1; dir = 1;
else if ( strcmp(rel,refli.base) == 0 && strcmp(base,refli.rel) == 0 ) else if ( strcmp(rel,refli.base) == 0 && strcmp(base,refli.rel) == 0 )
dir = -1; dir = -1;
else dir = 0; else continue;
if ( exchange[0] != 0 && refli.exchange[0] != 0 && strcmp(exchange,refli.exchange) != 0 ) if ( exchange[0] != 0 && refli.exchange[0] != 0 && strcmp(exchange,refli.exchange) != 0 )
{ {
printf("continue %s %s/%s [%d] dir.%d vs %s %s/%s\n",exchange,base,rel,i,dir,refli.exchange,refli.base,refli.rel); printf("continue %s %s/%s [%d] dir.%d vs %s %s/%s\n",exchange,base,rel,i,dir,refli.exchange,refli.base,refli.rel);
@ -1164,7 +1164,7 @@ void tradebots_processprices(struct supernet_info *myinfo,struct exchange_info *
//printf("reject %s %s/%s\n",exchange,base,rel); //printf("reject %s %s/%s\n",exchange,base,rel);
return; return;
} }
//printf("%s %s/%s bids.%d asks.%d\n",exchange->name,base,rel,numbids,numasks); printf("%s %s/%s bids.%d asks.%d\n",exchange->name,base,rel,numbids,numasks);
if ( numbids > 0 && (volume= bidasks[0].volume) > 0. && (profitmargin= if ( numbids > 0 && (volume= bidasks[0].volume) > 0. && (profitmargin=
tradebot_liquidity_active(myinfo,&price,exchange->name,base,rel,volume)) > 0. ) tradebot_liquidity_active(myinfo,&price,exchange->name,base,rel,volume)) > 0. )
{ {

19
iguana/kmd_lookup.h

@ -124,6 +124,7 @@ int32_t kmd_transactionvin(struct iguana_info *coin,bits256 spendtxid,int32_t vi
void kmd_transactionvout(struct iguana_info *coin,struct kmd_transactionhh *ptr,int32_t vout,uint64_t amount,uint8_t type_rmd160[21],bits256 spendtxid,int32_t spendvini) void kmd_transactionvout(struct iguana_info *coin,struct kmd_transactionhh *ptr,int32_t vout,uint64_t amount,uint8_t type_rmd160[21],bits256 spendtxid,int32_t spendvini)
{ {
struct kmd_addresshh *addr; struct kmd_transaction *tx = 0; struct kmd_addresshh *addr; struct kmd_transaction *tx = 0;
if ( 0 )
{ {
char coinaddr[64],str[65]; char coinaddr[64],str[65];
bitcoin_address(coinaddr,type_rmd160[0],&type_rmd160[1],20); bitcoin_address(coinaddr,type_rmd160[0],&type_rmd160[1],20);
@ -304,9 +305,9 @@ cJSON *kmd_transactionjson(int32_t height,struct kmd_transactionhh *ptr,char *ty
return(obj); return(obj);
} }
cJSON *kmd_unspentjson(struct iguana_info *coin,int32_t height,struct kmd_transaction *tx,int32_t vout) cJSON *kmd_unspentjson(struct supernet_info *myinfo,struct iguana_info *coin,int32_t height,struct kmd_transaction *tx,int32_t vout,int32_t is_listunspent)
{ {
cJSON *item = cJSON_CreateObject(); char *script; cJSON *txout,*item = cJSON_CreateObject();
jaddstr(item,"type","received"); jaddstr(item,"type","received");
jaddnum(item,"height",tx->height); jaddnum(item,"height",tx->height);
jaddnum(item,"timestamp",tx->timestamp); jaddnum(item,"timestamp",tx->timestamp);
@ -315,6 +316,16 @@ cJSON *kmd_unspentjson(struct iguana_info *coin,int32_t height,struct kmd_transa
jaddnum(item,"amount",dstr(tx->vouts[vout].amount)); jaddnum(item,"amount",dstr(tx->vouts[vout].amount));
if ( strcmp(coin->symbol,"KMD") == 0 ) if ( strcmp(coin->symbol,"KMD") == 0 )
jaddnum(item,"interest",dstr(_iguana_interest((uint32_t)time(NULL),coin->longestchain,tx->timestamp,tx->vouts[vout].amount))); jaddnum(item,"interest",dstr(_iguana_interest((uint32_t)time(NULL),coin->longestchain,tx->timestamp,tx->vouts[vout].amount)));
if ( coin->FULLNODE < 0 && is_listunspent != 0 )
{
//char str[65]; printf("get spendscriptstr for %s/v%d\n",bits256_str(str,tx->txid),vout);
if ( (txout= dpow_gettxout(myinfo,coin,tx->txid,vout)) != 0 )
{
if ( (script= jstr(txout,"scriptPubKey")) != 0 )
jaddstr(item,"scriptPubKey",script);
free_json(txout);
}
}
return(item); return(item);
} }
@ -412,14 +423,14 @@ cJSON *kmd_listaddress(struct iguana_info *coin,char *coinaddr,int32_t mode,cJSO
//if ( fulltx == 0 ) //if ( fulltx == 0 )
{ {
if ( mode == 0 ) if ( mode == 0 )
jaddi(array,kmd_unspentjson(coin,coin->kmd_height,ptr->tx,i)); jaddi(array,kmd_unspentjson(coin,coin->kmd_height,ptr->tx,i,1));
else if ( mode == 1 ) else if ( mode == 1 )
jaddi(array,kmd_spentjson(coin->kmd_height,ptr->tx,i,spent)); jaddi(array,kmd_spentjson(coin->kmd_height,ptr->tx,i,spent));
else if ( mode == 2 ) else if ( mode == 2 )
{ {
if ( spent != 0 ) if ( spent != 0 )
jaddi(array,kmd_spentjson(coin->kmd_height,ptr->tx,i,spent)); jaddi(array,kmd_spentjson(coin->kmd_height,ptr->tx,i,spent));
else jaddi(array,kmd_unspentjson(coin,coin->kmd_height,ptr->tx,i)); else jaddi(array,kmd_unspentjson(coin,coin->kmd_height,ptr->tx,i,0));
} }
} }
/*else if ( flag == 0 ) /*else if ( flag == 0 )

Loading…
Cancel
Save