mirror of
https://github.com/OutCast3k/coinbin.git
synced 2026-02-07 18:44:22 +01:00
Parse electrum style private key
This commit is contained in:
parent
cda4559cfd
commit
0ac206555a
19
js/coin.js
19
js/coin.js
@ -247,9 +247,24 @@
|
||||
}
|
||||
|
||||
/* convert a wif to a address */
|
||||
coinjs.wif2address = function(wif){
|
||||
coinjs.wif2address = function(wif, prefix){
|
||||
var r = coinjs.wif2pubkey(wif);
|
||||
return {'address':coinjs.pubkey2address(r['pubkey']), 'compressed':r['compressed']};
|
||||
var address;
|
||||
switch (prefix) {
|
||||
case 'p2wpkh-p2sh': {
|
||||
address = coinjs.segwitAddress(r['pubkey']).address;
|
||||
break;
|
||||
}
|
||||
case 'p2wpkh': {
|
||||
address = coinjs.bech32Address(r['pubkey']).address;
|
||||
break;
|
||||
}
|
||||
default: {
|
||||
address = coinjs.pubkey2address(r['pubkey']);
|
||||
break;
|
||||
}
|
||||
}
|
||||
return {address, 'compressed':r['compressed']};
|
||||
}
|
||||
|
||||
/* decode or validate an address and return the hash */
|
||||
|
||||
@ -948,15 +948,22 @@ $(document).ready(function() {
|
||||
});
|
||||
|
||||
/* function to determine what we are redeeming from */
|
||||
function redeemingFrom(string){
|
||||
function redeemingFrom(input){
|
||||
var r = {};
|
||||
var string = input;
|
||||
var prefix;
|
||||
// Parse electrum style wif key (Internet Explorer compatible)
|
||||
if (['p2pkh', 'p2wpkh-p2sh', 'p2wpkh'].indexOf(input.split(':')[0]) !== -1) {
|
||||
prefix = input.split(':')[0];
|
||||
string = input.split(':')[1];
|
||||
}
|
||||
var decode = coinjs.addressDecode(string);
|
||||
if(decode.version == coinjs.pub){ // regular address
|
||||
r.addr = string;
|
||||
r.from = 'address';
|
||||
r.redeemscript = false;
|
||||
} else if (decode.version == coinjs.priv){ // wif key
|
||||
var a = coinjs.wif2address(string);
|
||||
var a = coinjs.wif2address(string, prefix);
|
||||
r.addr = a['address'];
|
||||
r.from = 'wif';
|
||||
r.redeemscript = false;
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user