mirror of
https://github.com/btcpayserver/btcpayserver.git
synced 2025-03-01 09:00:03 +01:00
82 lines
2.8 KiB
JavaScript
82 lines
2.8 KiB
JavaScript
|
$(document).ready(function() {
|
||
|
var trezorInit = false;
|
||
|
$(".check-for-trezor").on("click",
|
||
|
function() {
|
||
|
if (!trezorInit || !window.trezorDevice) {
|
||
|
trezorClient.init();
|
||
|
trezorInit = true;
|
||
|
}
|
||
|
});
|
||
|
|
||
|
$("[data-trezorkeypath]").on("click",
|
||
|
function() {
|
||
|
|
||
|
$("#trezor-error").hide();
|
||
|
var keypath = $(this).data("trezorkeypath");
|
||
|
var suffix = $(this).data("derivation-suffix");
|
||
|
var keys = keypath.split("/");
|
||
|
if (trezorDevice != null) {
|
||
|
var hardeningConstant = 0x80000000;
|
||
|
|
||
|
trezorDevice.waitForSessionAndRun(function(session) {
|
||
|
|
||
|
var path = [];
|
||
|
for (var i = 0; i < keys.length; i++) {
|
||
|
var key = keys[i];
|
||
|
|
||
|
if (keys[i].endsWith("'")) {
|
||
|
key = key.substring(0, key.length - 1);
|
||
|
path.push((parseInt(key) | hardeningConstant) >>> 0);
|
||
|
continue;
|
||
|
}
|
||
|
path.push(parseInt(key));
|
||
|
}
|
||
|
return session.getHDNode(path, window.coinName);
|
||
|
})
|
||
|
.then(function(hdNode) {
|
||
|
$("#RootFingerprint").val(hdNode.parentFingerprint);
|
||
|
$("#KeyPath").val(keys[keys.length - 1]);
|
||
|
$("#DerivationScheme").val(hdNode.toBase58()+ suffix);
|
||
|
$("#trezorsubmitbutton").show();
|
||
|
}).catch(function(e){
|
||
|
alert(e.message);
|
||
|
|
||
|
$("#trezor-error").text("An error occurred when communicating with the trezor device. try with a different USB port?").show();
|
||
|
|
||
|
})
|
||
|
}
|
||
|
});
|
||
|
$("[data-hide]").on("click", function(){
|
||
|
$($(this).data("hide")).hide();
|
||
|
});
|
||
|
$("[data-show]").on("click", function(){
|
||
|
$($(this).data("show")).show();
|
||
|
});
|
||
|
|
||
|
$(".trezor-account-dropdown select").on("input", function(){
|
||
|
$(this).find(":selected").click();
|
||
|
});
|
||
|
|
||
|
$("#trezor-address-type-select").on("input", function(){
|
||
|
$(this).find(":selected").click();
|
||
|
$("#RootFingerprint").val("");
|
||
|
$("#KeyPath").val("");
|
||
|
$("#DerivationScheme").val("");
|
||
|
$("#trezorsubmitbutton").hide();
|
||
|
|
||
|
});
|
||
|
|
||
|
});
|
||
|
|
||
|
function onTrezorDeviceFound(device) {
|
||
|
$(".display-when-trezor-connected").show();
|
||
|
}
|
||
|
function onTrezorDeviceLost(){
|
||
|
$(".display-when-trezor-connected").hide();
|
||
|
$("#RootFingerprint").val("");
|
||
|
$(".trezor-account-dropdown").hide();
|
||
|
$("#KeyPath").val("");
|
||
|
$("#DerivationScheme").val("");
|
||
|
$("#trezorsubmitbutton").hide();
|
||
|
}
|