|
|
@ -139,10 +139,27 @@ int32_t bitcoin_priv2wif(char *wifstr,bits256 privkey,uint8_t addrtype) |
|
|
|
{ |
|
|
|
uint8_t data[128]; int32_t len = 32; |
|
|
|
memcpy(data+1,privkey.bytes,sizeof(privkey)); |
|
|
|
if ( addrtype != 176 ) // not LTC
|
|
|
|
data[1 + len++] = 1; |
|
|
|
len = base58encode_checkbuf(addrtype,data,len); |
|
|
|
if ( bitcoin_base58encode(wifstr,data,len) == 0 ) |
|
|
|
return(-1); |
|
|
|
if ( 1 ) |
|
|
|
{ |
|
|
|
uint8_t checktype; bits256 checkpriv; char str[65],str2[65]; |
|
|
|
if ( bitcoin_wif2priv(&checktype,&checkpriv,wifstr) == sizeof(bits256) ) |
|
|
|
{ |
|
|
|
if ( checktype != addrtype || bits256_cmp(checkpriv,privkey) != 0 ) |
|
|
|
printf("(%s) -> wif.(%s) addrtype.%02x -> %02x (%s)\n",bits256_str(str,privkey),wifstr,addrtype,checktype,bits256_str(str2,checkpriv)); |
|
|
|
} |
|
|
|
} |
|
|
|
return((int32_t)strlen(wifstr)); |
|
|
|
} |
|
|
|
|
|
|
|
int32_t bitcoin_priv2wiflong(char *wifstr,bits256 privkey,uint8_t addrtype) |
|
|
|
{ |
|
|
|
uint8_t data[128]; int32_t len = 32; |
|
|
|
memcpy(data+1,privkey.bytes,sizeof(privkey)); |
|
|
|
len = base58encode_checkbuf(addrtype,data,len); |
|
|
|
if ( bitcoin_base58encode(wifstr,data,len) == 0 ) |
|
|
|
return(-1); |
|
|
|
if ( 1 ) |
|
|
|