diff --git a/index.html b/index.html
index 13828dc..df9422f 100644
--- a/index.html
+++ b/index.html
@@ -151,6 +151,15 @@
+
+ +
+diff --git a/js/coin.js b/js/coin.js index 7df8fd1..20294f5 100644 --- a/js/coin.js +++ b/js/coin.js @@ -876,7 +876,7 @@ } /* add unspent to transaction */ - r.addUnspent = function(address, callback){ + r.addUnspent = function(address, callback, script){ var self = this; this.listUnspent(address, function(data){ var s = coinjs.script(); @@ -900,9 +900,9 @@ var u = xmlDoc.getElementsByTagName("unspent_"+i)[0] var txhash = (u.getElementsByTagName("tx_hash")[0].childNodes[0].nodeValue).match(/.{1,2}/g).reverse().join("")+''; var n = u.getElementsByTagName("tx_output_n")[0].childNodes[0].nodeValue; - var script = u.getElementsByTagName("script")[0].childNodes[0].nodeValue; + var scr = script || u.getElementsByTagName("script")[0].childNodes[0].nodeValue; - self.addinput(txhash, n, script); + self.addinput(txhash, n, scr); value += u.getElementsByTagName("value")[0].childNodes[0].nodeValue*1; total++; diff --git a/js/coinbin.js b/js/coinbin.js index 59f0a09..597fe41 100644 --- a/js/coinbin.js +++ b/js/coinbin.js @@ -28,17 +28,26 @@ $(document).ready(function() { coinjs.compressed = true; var keys = coinjs.newKeys(s); + var address = keys.address; + var wif = keys.wif; + var pubkey = keys.pubkey; + var privkeyaes = CryptoJS.AES.encrypt(keys.wif, pass); - $("#walletAddress").html(keys.address); - $("#walletHistory").attr('href',explorer_addr+keys.address); + if($("#walletSegwit").is(":checked")){ + var sw = coinjs.segwitAddress(pubkey); + address = sw.address; + } + + $("#walletAddress").html(address); + $("#walletHistory").attr('href',explorer_addr+address); $("#walletQrCode").html(""); var qrcode = new QRCode("walletQrCode"); - qrcode.makeCode("bitcoin:"+keys.address); + qrcode.makeCode("bitcoin:"+address); - $("#walletKeys .privkey").val(keys.wif); - $("#walletKeys .pubkey").val(keys.pubkey); - $("#walletKeys .privkeyaes").val(CryptoJS.AES.encrypt(keys.wif, pass)); + $("#walletKeys .privkey").val(wif); + $("#walletKeys .pubkey").val(pubkey); + $("#walletKeys .privkeyaes").val(privkeyaes); $("#openLogin").hide(); $("#openWallet").removeClass("hidden").show(); @@ -76,6 +85,7 @@ $(document).ready(function() { $("#walletKeys .privkey").val(""); $("#walletKeys .pubkey").val(""); + $("#openLoginStatus").html("").hide(); }); $("#walletShowKeys").click(function(){ @@ -111,6 +121,12 @@ $(document).ready(function() { thisbtn.attr('disabled',true); + var script = false; + if($("#walletSegwit").is(":checked")){ + var sw = coinjs.segwitAddress($("#walletKeys .pubkey").val()); + scrip = sw.redeemscript; + } + tx.addUnspent($("#walletAddress").html(), function(data){ var dvalue = (data.value/100000000).toFixed(8) * 1; @@ -124,7 +140,7 @@ $(document).ready(function() { // clone the transaction with out using coinjs.clone() function as it gives us trouble var tx2 = coinjs.transaction(); - var txunspent = tx2.deserialize(tx.serialize()); + var txunspent = tx2.deserialize(tx.serialize()); // then sign var signed = txunspent.sign($("#walletKeys .privkey").val()); @@ -150,7 +166,8 @@ $(document).ready(function() { } $("#walletLoader").addClass("hidden"); - }); + + }, script); }); $("#walletSendBtn").click(function(){ @@ -246,7 +263,9 @@ $(document).ready(function() { function checkBalanceLoop(){ setTimeout(function(){ - walletBalance(); + if($("#walletLoader").hasClass("hidden")){ + walletBalance(); + } checkBalanceLoop(); },45000); } @@ -1015,13 +1034,13 @@ $(document).ready(function() { $("#transactionFee").val((fee>0)?fee:'0.00'); } - $("#optionsCollapse").click(function(){ - if($("#optionsAdvanced").hasClass('hidden')){ - $("#glyphcollapse").removeClass('glyphicon-collapse-down').addClass('glyphicon-collapse-up'); - $("#optionsAdvanced").removeClass("hidden"); + $(".optionsCollapse").click(function(){ + if($(".optionsAdvanced",$(this).parent()).hasClass('hidden')){ + $(".glyphcollapse",$(this).parent()).removeClass('glyphicon-collapse-down').addClass('glyphicon-collapse-up'); + $(".optionsAdvanced",$(this).parent()).removeClass("hidden"); } else { - $("#glyphcollapse").removeClass('glyphicon-collapse-up').addClass('glyphicon-collapse-down'); - $("#optionsAdvanced").addClass("hidden"); + $(".glyphcollapse",$(this).parent()).removeClass('glyphicon-collapse-up').addClass('glyphicon-collapse-down'); + $(".optionsAdvanced",$(this).parent()).addClass("hidden"); } }); diff --git a/sha1sum b/sha1sum index 46c71ef..a45746c 100644 --- a/sha1sum +++ b/sha1sum @@ -1,9 +1,9 @@ ----- Version 1.3 2017.09.10 ---- +---- Version 1.3 2017.09.16 ---- 77e4519962e2f6a9fc93342137dbb31c33b76b04 ./js/aes.js 3a09a8fc0cfe828b57fc798d668234d0490ee1a6 ./js/bootstrap-datetimepicker.min.js 253711c6d825de55a8360552573be950da180614 ./js/bootstrap.min.js -7f515cda8dae2ba8217e4f9626d35f29a6c8933f ./js/coinbin.js -3e7b9b1a30412f827d4709a53014d0b6f06103f0 ./js/coin.js +618db47822494e730a8fa93cfab985332872b93e ./js/coinbin.js +b2b1b00455dd2d1f168dc68b6efdbb1de817b5d0 ./js/coin.js 988565bc2cb402d63ed5c5fd7ff47c4278efc2c5 ./js/collapse.js 9ba5ede3d7f9d4c8fd623395f196adfdcf7e970f ./js/crypto-min.js f7c09f2f5a721371e7d478050119f7e2d58e3ef9 ./js/crypto-sha256-hmac.js @@ -30,4 +30,4 @@ de51a8494180a6db074af2dee2383f0a363c5b08 ./fonts/glyphicons-halflings-regular.s 278e49a86e634da6f2a02f3b47dd9d2a8f26210f ./fonts/glyphicons-halflings-regular.woff 44bc1850f570972267b169ae18f1cb06b611ffa2 ./fonts/glyphicons-halflings-regular.ttf d8a324a13501cd5705dc26b945fc8088f00907ae ./README.md -384db7d004aedfdcb4ce2fdb93edb8fa6df9c075 ./index.html +cc101e4b9718116bb767f7cbd04cab816ca32b66 ./index.html