Browse Source

test

release/v0.1
jl777 8 years ago
parent
commit
cc4ecd7e0c
  1. 9
      basilisk/basilisk_bitcoin.c
  2. 10
      iguana/iguana_wallet.c
  3. 1
      iguana/tests/history
  4. 2
      includes/iguana_funcs.h

9
basilisk/basilisk_bitcoin.c

@ -299,12 +299,15 @@ int32_t basilisk_bitcoinavail(struct iguana_info *coin)
void *basilisk_bitcoinbalances(struct basilisk_item *Lptr,struct supernet_info *myinfo,struct iguana_info *coin,char *remoteaddr,uint32_t basilisktag,int32_t timeoutmillis,cJSON *vals)
{
int64_t balance,total = 0; int32_t i,n; cJSON *retjson,*item,*addresses,*array = cJSON_CreateArray();
int64_t balance,total = 0; int32_t i,n,hist; cJSON *unspents,*retjson,*item,*addresses,*array = cJSON_CreateArray();
if ( (hist= juint(vals,"history")) != 0 )
unspents = cJSON_CreateArray();
else unspents = 0;
if ( (addresses= jarray(&n,vals,"addresses")) != 0 )
{
for (i=0; i<n; i++)
{
balance = iguana_addressreceived(myinfo,coin,vals,remoteaddr,0,0,jstri(addresses,i),juint(vals,"minconf"));
balance = iguana_addressreceived(myinfo,coin,vals,remoteaddr,0,0,unspents,jstri(addresses,i),juint(vals,"minconf"));
item = cJSON_CreateObject();
jaddnum(item,jstri(addresses,i),dstr(balance));
jaddi(array,item);
@ -315,6 +318,8 @@ void *basilisk_bitcoinbalances(struct basilisk_item *Lptr,struct supernet_info *
jaddstr(retjson,"result","success");
jaddnum(retjson,"total",dstr(total));
jadd(retjson,"addresses",array);
if ( unspents != 0 )
jadd(retjson,"unspents",unspents);
jaddnum(retjson,"RTheight",coin->RTheight);
jaddnum(retjson,"longest",coin->longestchain);
jaddnum(retjson,"lag",coin->longestchain- coin->RTheight);

10
iguana/iguana_wallet.c

@ -864,7 +864,7 @@ cJSON *iguana_privkeysjson(struct supernet_info *myinfo,struct iguana_info *coin
#include "../includes/iguana_apidefs.h"
#include "../includes/iguana_apideclares.h"
int64_t iguana_addressreceived(struct supernet_info *myinfo,struct iguana_info *coin,cJSON *json,char *remoteaddr,cJSON *txids,cJSON *vouts,char *coinaddr,int32_t minconf)
int64_t iguana_addressreceived(struct supernet_info *myinfo,struct iguana_info *coin,cJSON *json,char *remoteaddr,cJSON *txids,cJSON *vouts,cJSON *unspents,char *coinaddr,int32_t minconf)
{
int64_t balance = 0; cJSON *unspentsjson,*balancejson,*item; int32_t i,n; char *balancestr;
if ( (balancestr= iguana_balance(IGUANA_CALLARGS,coin->symbol,coinaddr,-1,minconf)) != 0 )
@ -873,7 +873,7 @@ int64_t iguana_addressreceived(struct supernet_info *myinfo,struct iguana_info *
if ( (balancejson= cJSON_Parse(balancestr)) != 0 )
{
balance = jdouble(balancejson,"balance") * SATOSHIDEN;
if ( (txids != 0 || vouts != 0) && (unspentsjson= jarray(&n,balancejson,"unspents")) != 0 )
if ( (txids != 0 || vouts != 0 || unspents != 0) && (unspentsjson= jarray(&n,balancejson,"unspents")) != 0 )
{
for (i=0; i<n; i++)
{
@ -882,6 +882,8 @@ int64_t iguana_addressreceived(struct supernet_info *myinfo,struct iguana_info *
jaddibits256(txids,jbits256(item,"txid"));
if ( vouts != 0 )
jaddinum(vouts,jint(item,"vout"));
if ( unspents != 0 )
jaddi(unspents,jduplicate(item));
}
}
free_json(balancejson);
@ -1412,7 +1414,7 @@ STRING_AND_THREEINTS(bitcoinrpc,listtransactions,account,count,skip,includewatch
{
vouts = cJSON_CreateArray();
txids = cJSON_CreateArray();
iguana_addressreceived(myinfo,coin,0,remoteaddr,txids,vouts,coinaddr,1);
iguana_addressreceived(myinfo,coin,0,remoteaddr,txids,vouts,0,coinaddr,1);
if ( (m= cJSON_GetArraySize(txids)) > 0 )
{
for (j=0; j<m; j++,total++)
@ -1497,7 +1499,7 @@ THREE_INTS(bitcoinrpc,listreceivedbyaddress,minconf,includeempty,flag)
jaddstr(item,"address",coinaddr);
txids = cJSON_CreateArray();
vouts = cJSON_CreateArray();
jaddnum(item,"amount",dstr(iguana_addressreceived(myinfo,coin,0,remoteaddr,txids,vouts,coinaddr,minconf)));
jaddnum(item,"amount",dstr(iguana_addressreceived(myinfo,coin,0,remoteaddr,txids,vouts,0,coinaddr,minconf)));
jadd(item,"txids",txids);
jadd(item,"vouts",vouts);
jaddi(array,item);

1
iguana/tests/history

@ -0,0 +1 @@
curl --url "http://127.0.0.1:7778" --data "{\"timeout\":20000,\"agent\":\"basilisk\",\"method\":\"balances\",\"vals\":{\"minconf\":1,\"history\":1}}"

2
includes/iguana_funcs.h

@ -413,7 +413,7 @@ int32_t iguana_voutscript(struct iguana_info *coin,struct iguana_bundle *bp,uint
cJSON *iguana_unspentjson(struct supernet_info *myinfo,struct iguana_info *coin,int32_t hdrsi,uint32_t unspentind,struct iguana_txid *T,struct iguana_unspent *up,uint8_t rmd160[20],char *coinaddr,uint8_t *pubkey33);
int32_t bitcoin_standardspend(uint8_t *script,int32_t n,uint8_t rmd160[20]);
struct iguana_waddress *iguana_waddresssearch(struct supernet_info *myinfo,struct iguana_waccount **wacctp,char *coinaddr);
int64_t iguana_addressreceived(struct supernet_info *myinfo,struct iguana_info *coin,cJSON *json,char *remoteaddr,cJSON *txids,cJSON *vouts,char *coinaddr,int32_t minconf);
int64_t iguana_addressreceived(struct supernet_info *myinfo,struct iguana_info *coin,cJSON *json,char *remoteaddr,cJSON *txids,cJSON *vouts,cJSON *unspents,char *coinaddr,int32_t minconf);
cJSON *iguana_walletjson(struct supernet_info *myinfo);
int32_t iguana_payloadupdate(struct supernet_info *myinfo,struct iguana_info *coin,char *retstr,struct iguana_waddress *waddr,char *account);
int32_t bitcoin_MofNspendscript(uint8_t p2sh_rmd160[20],uint8_t *script,int32_t n,const struct vin_info *vp);

Loading…
Cancel
Save