Browse Source

LTC wife

etomic
jl777 8 years ago
parent
commit
047534b642
  1. 4
      .gitignore
  2. 7
      iguana/exchanges/bitcoin.c
  3. 8
      iguana/main.c
  4. 2
      includes/iguana_apideclares.h

4
.gitignore

@ -451,3 +451,7 @@ iguana/confs/LTC_oldhdrs.txt
iguana/DB/LTC_peers.dat iguana/DB/LTC_peers.dat
iguana/debug.log iguana/debug.log
iguana/DB/LTC/.tmpmarker
iguana/DB/purgeable/LTC/.tmpmarker

7
iguana/exchanges/bitcoin.c

@ -137,10 +137,11 @@ int32_t bitcoin_wif2priv(uint8_t *addrtypep,bits256 *privkeyp,char *wifstr)
int32_t bitcoin_priv2wif(char *wifstr,bits256 privkey,uint8_t addrtype) int32_t bitcoin_priv2wif(char *wifstr,bits256 privkey,uint8_t addrtype)
{ {
uint8_t data[128]; int32_t len; uint8_t data[128]; int32_t len = 32;
memcpy(data+1,privkey.bytes,sizeof(privkey)); memcpy(data+1,privkey.bytes,sizeof(privkey));
data[33] = 1; if ( addrtype != 176 ) // not LTC
len = base58encode_checkbuf(addrtype,data,33); data[1 + len++] = 1;
len = base58encode_checkbuf(addrtype,data,len);
if ( bitcoin_base58encode(wifstr,data,len) == 0 ) if ( bitcoin_base58encode(wifstr,data,len) == 0 )
return(-1); return(-1);

8
iguana/main.c

@ -1816,14 +1816,14 @@ STRING_ARG(SuperNET,wif2priv,wif)
return(jprint(retjson,1)); return(jprint(retjson,1));
} }
STRING_ARG(SuperNET,priv2wif,priv) STRING_AND_INT(SuperNET,priv2wif,priv,wiftype)
{ {
bits256 privkey; char wifstr[65]; uint8_t wiftype; cJSON *retjson = cJSON_CreateObject(); bits256 privkey; char wifstr[65]; cJSON *retjson = cJSON_CreateObject();
if ( is_hexstr(priv,0) == sizeof(bits256)*2 ) if ( is_hexstr(priv,0) == sizeof(bits256)*2 )
{ {
wiftype = coin != 0 ? coin->chain->wiftype : 0x80; //wiftype = coin != 0 ? coin->chain->wiftype : 0x80;
decode_hex(privkey.bytes,sizeof(privkey),priv); decode_hex(privkey.bytes,sizeof(privkey),priv);
if ( bitcoin_priv2wif(wifstr,privkey,wiftype) > 0 ) if ( bitcoin_priv2wif(wifstr,privkey,wiftype&0xff) > 0 )
{ {
jaddstr(retjson,"result","success"); jaddstr(retjson,"result","success");
jaddstr(retjson,"privkey",priv); jaddstr(retjson,"privkey",priv);

2
includes/iguana_apideclares.h

@ -304,7 +304,7 @@ THREE_STRINGS(SuperNET,rosetta,passphrase,pin,showprivkey);
ZERO_ARGS(SuperNET,keypair); ZERO_ARGS(SuperNET,keypair);
HASH_AND_INT(SuperNET,priv2pub,privkey,addrtype); HASH_AND_INT(SuperNET,priv2pub,privkey,addrtype);
STRING_ARG(SuperNET,wif2priv,wif); STRING_ARG(SuperNET,wif2priv,wif);
STRING_ARG(SuperNET,priv2wif,priv); STRING_AND_INT(SuperNET,priv2wif,priv,wiftype);
STRING_ARG(SuperNET,addr2rmd160,address); STRING_ARG(SuperNET,addr2rmd160,address);
STRING_ARG(SuperNET,rmd160conv,rmd160); STRING_ARG(SuperNET,rmd160conv,rmd160);

Loading…
Cancel
Save