|
|
@ -527,20 +527,24 @@ int32_t LP_nearestvalue(uint64_t *values,int32_t n,uint64_t targetval) |
|
|
|
return(mini); |
|
|
|
} |
|
|
|
|
|
|
|
uint64_t LP_privkey_init(int32_t mypubsock,struct iguana_info *coin,bits256 myprivkey,bits256 mypub,uint8_t *pubkey33,int32_t iambob) |
|
|
|
uint64_t LP_privkey_init(int32_t mypubsock,struct iguana_info *coin,bits256 myprivkey,bits256 mypub,uint8_t *pubkey33) |
|
|
|
{ |
|
|
|
char *script; struct LP_utxoinfo *utxo; cJSON *array,*item; bits256 txid,deposittxid; int32_t used,i,n,vout,depositvout; uint64_t *values,satoshis,depositval,targetval,value,total = 0; |
|
|
|
char *script; struct LP_utxoinfo *utxo; cJSON *array,*item; bits256 txid,deposittxid; int32_t used,i,n,iambob,vout,depositvout; uint64_t *values=0,satoshis,depositval,targetval,value,total = 0; |
|
|
|
if ( coin == 0 ) |
|
|
|
{ |
|
|
|
printf("coin not active\n"); |
|
|
|
return(0); |
|
|
|
} |
|
|
|
//printf("privkey init.(%s) %s\n",symbol,coin->symbol);
|
|
|
|
printf("privkey init.(%s)\n",coin->symbol); |
|
|
|
if ( coin->inactive == 0 && (array= LP_listunspent(coin->symbol,coin->smartaddr)) != 0 ) |
|
|
|
{ |
|
|
|
if ( is_cJSON_Array(array) != 0 && (n= cJSON_GetArraySize(array)) > 0 ) |
|
|
|
{ |
|
|
|
for (iambob=0; iambob<=1; iambob++) |
|
|
|
{ |
|
|
|
if ( iambob == 0 ) |
|
|
|
values = calloc(n,sizeof(*values)); |
|
|
|
else memset(values,0,n * sizeof(*values)); |
|
|
|
for (i=0; i<n; i++) |
|
|
|
{ |
|
|
|
item = jitem(array,i); |
|
|
@ -593,8 +597,10 @@ uint64_t LP_privkey_init(int32_t mypubsock,struct iguana_info *coin,bits256 mypr |
|
|
|
} |
|
|
|
} else break; |
|
|
|
} |
|
|
|
if ( iambob == 1 ) |
|
|
|
free(values); |
|
|
|
} |
|
|
|
} |
|
|
|
free_json(array); |
|
|
|
} |
|
|
|
//printf("privkey.%s %.8f\n",symbol,dstr(total));
|
|
|
@ -630,7 +636,7 @@ bits256 LP_privkeycalc(uint8_t *pubkey33,bits256 *pubkeyp,struct iguana_info *co |
|
|
|
return(privkey); |
|
|
|
} |
|
|
|
|
|
|
|
void LP_privkey_updates(int32_t pubsock,char *passphrase,int32_t iambob) |
|
|
|
void LP_privkey_updates(int32_t pubsock,char *passphrase) |
|
|
|
{ |
|
|
|
int32_t i; struct iguana_info *coin; bits256 pubkey,privkey; uint8_t pubkey33[33]; |
|
|
|
memset(privkey.bytes,0,sizeof(privkey)); |
|
|
@ -643,7 +649,7 @@ void LP_privkey_updates(int32_t pubsock,char *passphrase,int32_t iambob) |
|
|
|
if ( bits256_nonz(privkey) == 0 || coin->smartaddr[0] == 0 ) |
|
|
|
privkey = LP_privkeycalc(pubkey33,&pubkey,coin,passphrase,""); |
|
|
|
if ( coin->inactive == 0 ) |
|
|
|
LP_privkey_init(pubsock,coin,privkey,pubkey,pubkey33,iambob); |
|
|
|
LP_privkey_init(pubsock,coin,privkey,pubkey,pubkey33); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|