diff --git a/iguana/exchanges/LP_portfolio.c b/iguana/exchanges/LP_portfolio.c index a3e656e70..15263a593 100644 --- a/iguana/exchanges/LP_portfolio.c +++ b/iguana/exchanges/LP_portfolio.c @@ -57,7 +57,7 @@ uint64_t LP_balance(uint64_t *valuep,int32_t iambob,char *symbol,char *coinaddr) for (i=0; i>= 1; decode_hex(Dredeemscript,Dredeemlen,rstr); } - values[i] = value = LP_value_extract(txobj); + values[i] = value = LP_value_extract(txobj,1); if ( (symbol= jstr(txobj,"coin")) != 0 ) { if ( i == BASILISK_ALICESPEND || i == BASILISK_BOBPAYMENT || i == BASILISK_BOBDEPOSIT || i == BASILISK_BOBREFUND || i == BASILISK_BOBRECLAIM || i == BASILISK_ALICECLAIM ) diff --git a/iguana/exchanges/LP_transaction.c b/iguana/exchanges/LP_transaction.c index 19169356d..51b6b2ec7 100644 --- a/iguana/exchanges/LP_transaction.c +++ b/iguana/exchanges/LP_transaction.c @@ -1063,7 +1063,7 @@ void LP_swap_coinaddr(struct iguana_info *coin,char *coinaddr,uint64_t *valuep,u { vout = jitem(vouts,v); if ( valuep != 0 ) - *valuep = LP_value_extract(vout); + *valuep = LP_value_extract(vout,1); //printf("VOUT.(%s)\n",jprint(vout,0)); /*if ( (skey= jobj(vout,"scriptPubKey")) != 0 && (addresses= jarray(&m,skey,"addresses")) != 0 ) { diff --git a/iguana/exchanges/LP_utxo.c b/iguana/exchanges/LP_utxo.c index 0c013bfe6..7a70268fe 100644 --- a/iguana/exchanges/LP_utxo.c +++ b/iguana/exchanges/LP_utxo.c @@ -28,13 +28,13 @@ // locally track spends, height -uint64_t LP_value_extract(cJSON *obj) +uint64_t LP_value_extract(cJSON *obj,int32_t addinterest) { double val = 0.; uint64_t value; if ( (val= jdouble(obj,"amount")) < SMALLVAL ) val = jdouble(obj,"value"); if ( val > SMALLVAL ) - value = ((val + jdouble(obj,"interest")) * SATOSHIDEN + 0.0000000049); + value = ((val + jdouble(obj,"interest")*addinterest) * SATOSHIDEN + 0.0000000049); else value = 0; return(value); } @@ -262,7 +262,7 @@ uint64_t LP_txinterestvalue(uint64_t *interestp,char *destaddr,struct iguana_inf destaddr[0] = 0; if ( (txobj= LP_gettxout(coin->symbol,txid,vout)) != 0 ) { - if ( (value= LP_value_extract(txobj)) == 0 ) + if ( (value= LP_value_extract(txobj,0)) == 0 ) { char str[65]; printf("%s LP_txvalue.%s strange utxo.(%s) vout.%d\n",coin->symbol,bits256_str(str,txid),jprint(txobj,0),vout); } @@ -298,7 +298,7 @@ int32_t LP_transactioninit(struct iguana_info *coin,bits256 txid,int32_t iter) for (i=0; ioutpoints[i].value = LP_value_extract(vout); + tx->outpoints[i].value = LP_value_extract(vout,0); tx->outpoints[i].interest = SATOSHIDEN * jdouble(vout,"interest"); LP_destaddr(tx->outpoints[i].coinaddr,vout); /*if ( (sobj= jobj(vout,"scriptPubKey")) != 0 ) diff --git a/iguana/exchanges/LP_utxos.c b/iguana/exchanges/LP_utxos.c index 442a21df8..01843bd29 100644 --- a/iguana/exchanges/LP_utxos.c +++ b/iguana/exchanges/LP_utxos.c @@ -735,7 +735,7 @@ uint64_t LP_privkey_init(int32_t mypubsock,struct iguana_info *coin,bits256 mypr { txid = jbits256(item,"txid"); vout = juint(item,"vout"); - value = LP_value_extract(item); + value = LP_value_extract(item,0); height = coin->height - jint(item,"confirmations"); } else