mirror of
https://github.com/OutCast3k/coinbin.git
synced 2026-05-18 07:34:38 +02:00
commit
d6046784de
44
index.html
44
index.html
@ -37,6 +37,8 @@
|
|||||||
|
|
||||||
<script type="text/javascript" src="js/coin.js"></script>
|
<script type="text/javascript" src="js/coin.js"></script>
|
||||||
<script type="text/javascript" src="js/coinbin.js"></script>
|
<script type="text/javascript" src="js/coinbin.js"></script>
|
||||||
|
|
||||||
|
<script type="text/javascript" src="js/cookie.js"></script>
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body>
|
<body>
|
||||||
@ -54,28 +56,28 @@
|
|||||||
<a href="#home" class="navbar-brand" id="homeBtn"><img src="images/coinbin.gif" style="height:25px;margin-top:-5px"></a>
|
<a href="#home" class="navbar-brand" id="homeBtn"><img src="images/coinbin.gif" style="height:25px;margin-top:-5px"></a>
|
||||||
</div>
|
</div>
|
||||||
<div class="collapse navbar-collapse">
|
<div class="collapse navbar-collapse">
|
||||||
<ul class="nav navbar-nav">
|
<ul class="nav navbar-nav">
|
||||||
<li class="dropdown">
|
<li class="dropdown">
|
||||||
<a href="#" class="dropdown-toggle" data-toggle="dropdown"><span class="glyphicon glyphicon-plus"></span> New<b class="caret"></b></a>
|
<a href="#" class="dropdown-toggle" data-toggle="dropdown"><span class="glyphicon glyphicon-plus"></span> New<b class="caret"></b></a>
|
||||||
<ul class="dropdown-menu">
|
<ul class="dropdown-menu">
|
||||||
<li><a href="#newAddress" data-toggle="tab">Address</a></li>
|
<li><a href="#newAddress" data-toggle="tab">Address</a></li>
|
||||||
<li><a href="#newSegWit" data-toggle="tab">SegWit Address</a></li>
|
<li><a href="#newSegWit" data-toggle="tab">SegWit Address</a></li>
|
||||||
<li><a href="#newMultiSig" data-toggle="tab">MultiSig Address</a></li>
|
<li><a href="#newMultiSig" data-toggle="tab">MultiSig Address</a></li>
|
||||||
<li><a href="#newTimeLocked" data-toggle="tab">Time Locked Address</a></li>
|
<li><a href="#newTimeLocked" data-toggle="tab">Time Locked Address</a></li>
|
||||||
<li><a href="#newHDaddress" data-toggle="tab">HD Address</a></li>
|
<li><a href="#newHDaddress" data-toggle="tab">HD Address</a></li>
|
||||||
<li class="divider"></li>
|
<li class="divider"></li>
|
||||||
<li><a href="#newTransaction" data-toggle="tab">Transaction</a></li>
|
<li><a href="#newTransaction" data-toggle="tab">Transaction</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
<li><a href="#verify" data-toggle="tab"><span class="glyphicon glyphicon-ok"></span> Verify</a></li>
|
<li><a href="#verify" data-toggle="tab"><span class="glyphicon glyphicon-ok"></span> Verify</a></li>
|
||||||
<li><a href="#sign" data-toggle="tab"><span class="glyphicon glyphicon-pencil"></span> Sign</a></li>
|
<li><a href="#sign" data-toggle="tab"><span class="glyphicon glyphicon-pencil"></span> Sign</a></li>
|
||||||
<li><a href="#broadcast" data-toggle="tab"><span class="glyphicon glyphicon-globe"></span> Broadcast</a></li>
|
<li><a href="#broadcast" data-toggle="tab"><span class="glyphicon glyphicon-globe"></span> Broadcast</a></li>
|
||||||
<li><a href="#wallet" data-toggle="tab"><span class="glyphicon glyphicon-briefcase"></span> Wallet</a></li>
|
<li><a href="#wallet" data-toggle="tab"><span class="glyphicon glyphicon-briefcase"></span> Wallet</a></li>
|
||||||
<li><a href="#about" data-toggle="tab"><span class="glyphicon glyphicon-info-sign"></span> About</a></li>
|
<li><a href="#about" data-toggle="tab"><span class="glyphicon glyphicon-info-sign"></span> About</a></li>
|
||||||
|
|
||||||
<li class="hidden"><a href="#settings" data-toggle="tab"><span class="glyphicon glyphicon-cog"></span> Settings</a></li>
|
<li><a href="#settings" data-toggle="tab"><span class="glyphicon glyphicon-cog"></span> Settings</a></li>
|
||||||
<li class="hidden"><a href="#fees" data-toggle="tab"><span class="glyphicon glyphicon-tag"></span> Fees</a></li>
|
<li><a href="#fees" data-toggle="tab"><span class="glyphicon glyphicon-tag"></span> Fees</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@ -1932,33 +1932,36 @@ $(document).ready(function() {
|
|||||||
});
|
});
|
||||||
|
|
||||||
$("#coinjs_coin").change(function(){
|
$("#coinjs_coin").change(function(){
|
||||||
|
// set cookie for use after page (re)load
|
||||||
|
let cookie = new Cookie("coinbin_coin_option");
|
||||||
|
cookie.setValue($(this).val());
|
||||||
|
|
||||||
var o = ($("option:selected",this).attr("rel")).split(";");
|
optionSeleted = ($("option:selected",this).attr("rel")).split(";");
|
||||||
|
|
||||||
// deal with broadcasting settings
|
// deal with broadcasting settings
|
||||||
if(o[5]=="false"){
|
if(optionSeleted[5]=="false"){
|
||||||
$("#coinjs_broadcast, #rawTransaction, #rawSubmitBtn, #openBtn").attr('disabled',true);
|
$("#coinjs_broadcast, #rawTransaction, #rawSubmitBtn, #openBtn").attr('disabled',true);
|
||||||
$("#coinjs_broadcast").val("coinb.in");
|
$("#coinjs_broadcast").val("coinb.in");
|
||||||
} else {
|
} else {
|
||||||
$("#coinjs_broadcast").val(o[5]);
|
$("#coinjs_broadcast").val(optionSeleted[5]);
|
||||||
$("#coinjs_broadcast, #rawTransaction, #rawSubmitBtn, #openBtn").attr('disabled',false);
|
$("#coinjs_broadcast, #rawTransaction, #rawSubmitBtn, #openBtn").attr('disabled',false);
|
||||||
}
|
}
|
||||||
|
|
||||||
// deal with unspent output settings
|
// deal with unspent output settings
|
||||||
if(o[6]=="false"){
|
if(optionSeleted[6]=="false"){
|
||||||
$("#coinjs_utxo, #redeemFrom, #redeemFromBtn, #openBtn, .qrcodeScanner").attr('disabled',true);
|
$("#coinjs_utxo, #redeemFrom, #redeemFromBtn, #openBtn, .qrcodeScanner").attr('disabled',true);
|
||||||
$("#coinjs_utxo").val("coinb.in");
|
$("#coinjs_utxo").val("coinb.in");
|
||||||
} else {
|
} else {
|
||||||
$("#coinjs_utxo").val(o[6]);
|
$("#coinjs_utxo").val(optionSeleted[6]);
|
||||||
$("#coinjs_utxo, #redeemFrom, #redeemFromBtn, #openBtn, .qrcodeScanner").attr('disabled',false);
|
$("#coinjs_utxo, #redeemFrom, #redeemFromBtn, #openBtn, .qrcodeScanner").attr('disabled',false);
|
||||||
}
|
}
|
||||||
|
|
||||||
// deal with the reset
|
// deal with the reset
|
||||||
$("#coinjs_pub").val(o[0]);
|
$("#coinjs_pub").val(optionSeleted[0]);
|
||||||
$("#coinjs_priv").val(o[1]);
|
$("#coinjs_priv").val(optionSeleted[1]);
|
||||||
$("#coinjs_multisig").val(o[2]);
|
$("#coinjs_multisig").val(optionSeleted[2]);
|
||||||
$("#coinjs_hdpub").val(o[3]);
|
$("#coinjs_hdpub").val(optionSeleted[3]);
|
||||||
$("#coinjs_hdprv").val(o[4]);
|
$("#coinjs_hdprv").val(optionSeleted[4]);
|
||||||
|
|
||||||
// hide/show custom screen
|
// hide/show custom screen
|
||||||
if($("option:selected",this).val()=="custom"){
|
if($("option:selected",this).val()=="custom"){
|
||||||
@ -2285,4 +2288,16 @@ $(document).ready(function() {
|
|||||||
return true;
|
return true;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/* set network from cookie on page load */
|
||||||
|
|
||||||
|
function setNetwork () {
|
||||||
|
let cookie = new Cookie("coinbin_coin_option");
|
||||||
|
if(val = cookie.getValue())
|
||||||
|
{
|
||||||
|
$("#coinjs_coin").val(val)
|
||||||
|
$("#coinjs_coin").trigger("change")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
setNetwork()
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|||||||
85
js/cookie.js
Normal file
85
js/cookie.js
Normal file
@ -0,0 +1,85 @@
|
|||||||
|
class Cookie {
|
||||||
|
#name;
|
||||||
|
#value;
|
||||||
|
|
||||||
|
constructor(name) {
|
||||||
|
this.name = name;
|
||||||
|
this.value;
|
||||||
|
|
||||||
|
// read the cookies value (initializes value)
|
||||||
|
this.get();
|
||||||
|
}
|
||||||
|
|
||||||
|
get() {
|
||||||
|
var allCookies = document.cookie;
|
||||||
|
var cookie;
|
||||||
|
|
||||||
|
// find out how much cookies are set to be able to pick the right one
|
||||||
|
if(!allCookies)
|
||||||
|
{
|
||||||
|
// the tray is empty. leave fields as initialized
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(allCookies.indexOf(";") > 0)
|
||||||
|
{
|
||||||
|
// many cookies found, pick one
|
||||||
|
cookie = this.pickCookie(allCookies);
|
||||||
|
} else {
|
||||||
|
// only one cookie found. Check if its the right one
|
||||||
|
if(this.validateCookie(allCookies))
|
||||||
|
{
|
||||||
|
cookie = allCookies;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// read contents of the picked cookie
|
||||||
|
if(cookie) {
|
||||||
|
this.value = this.readCookieContents(cookie);
|
||||||
|
} else {
|
||||||
|
console.log("Coudn't get cookie");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
pickCookie(manyCookies) {
|
||||||
|
manyCookies.split(";").forEach((cookie, _) => {
|
||||||
|
if(this.validateCookie(cookie))
|
||||||
|
{
|
||||||
|
return cookie;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
validateCookie(cookie) {
|
||||||
|
if(cookie.indexOf("=") >= 0)
|
||||||
|
{
|
||||||
|
var cookieCredentials = cookie.split("=");
|
||||||
|
var name = cookieCredentials[0]
|
||||||
|
return name == this.name;
|
||||||
|
} else {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
readCookieContents(cookie) {
|
||||||
|
var cookieCredentials = cookie.split("=");
|
||||||
|
var value = cookieCredentials[1];
|
||||||
|
return JSON.parse(value);
|
||||||
|
}
|
||||||
|
|
||||||
|
setValue(valueToBeSet) {
|
||||||
|
// update internal record
|
||||||
|
this.value = valueToBeSet;
|
||||||
|
|
||||||
|
// prepare value for storing
|
||||||
|
var valueJSON = JSON.stringify(valueToBeSet);
|
||||||
|
|
||||||
|
// set cookie with expiry on browser close
|
||||||
|
document.cookie = this.name+"="+valueJSON;
|
||||||
|
}
|
||||||
|
|
||||||
|
getValue() {
|
||||||
|
this.get();
|
||||||
|
return this.value;
|
||||||
|
}
|
||||||
|
}
|
||||||
Loading…
x
Reference in New Issue
Block a user