diff --git a/index.html b/index.html index 58882f7..f99a613 100644 --- a/index.html +++ b/index.html @@ -1215,7 +1215,7 @@ @@ -1487,8 +1487,8 @@ HD wallet hardened path derivation:

The path derivation for hardened paths was calculated wrong in earlier versions of coinb.in. Please select the old path derivation to recover HD wallet keys generated with older version of coinb.in.

diff --git a/js/coinbin.js b/js/coinbin.js index 7b9c77a..696a69e 100644 --- a/js/coinbin.js +++ b/js/coinbin.js @@ -1704,15 +1704,23 @@ $(document).ready(function() { function deriveHDaddress() { var hd = coinjs.hd($("#verifyHDaddress .hdKey").html()); - var index_start = $("#verifyHDaddress .derivation_index_start").val()*1; - var index_end = $("#verifyHDaddress .derivation_index_end").val()*1; + var index_start = $("#verifyHDaddress .derivation_index_start").val(); + if ((index_start.length > 1) && (index_start[index_start.length - 1] == '\'')) { + var use_private_index = '\''; + index_start = index_start.replace(/[']/, "") * 1; + } else { + var use_private_index = ''; + index_start = index_start.replace(/[']/, "") * 1; + } + var index_end = $("#verifyHDaddress .derivation_index_end").val().replace(/[']/, "") * 1; + $("#verifyHDaddress .derivation_index_end").val(index_end + use_private_index); var html = ''; $("#verifyHDaddress .derived_data table tbody").html(""); for(var i=index_start;i<=index_end;i++){ if($("#hdpathtype option:selected").val()=='simple'){ var derived = hd.derive(i); } else { - var derived = hd.derive_path(($("#hdpath input").val().replace(/\/+$/, ""))+'/'+i); + var derived = hd.derive_path(($("#hdpath input").val().replace(/\/+$/, ""))+'/'+i+use_private_index); } html += ''; html += ''+i+'';