mirror of
https://github.com/btcpayserver/btcpayserver.git
synced 2025-03-01 09:00:03 +01:00
* Allowing for POS to be displayed at website root * Switching to asp attributes for form post action * Applying default formatting rules on HTML * The destination pays mining fees => Subtract fees from amount * small cleanup (#851) * Part2: Openiddict: Init OpenIddict & Database Migration & Auth Policies (#567) * Part 1: OpenIddict - Minor Changes & Config prep * Part 1: OpenIddict - Minor Changes & Config prep * Part2: Openiddict: Init OpenIddict & Database Migration & Auth Policies * pr changes * pr changes * fix merge * pr fixes * remove config for openid -- no need for it for now * fix compile * fix compile #2 * remove extra ns using * Update Startup.cs * compile * adjust settings a bit * remove duplicate * remove external login provider placeholder html * remove unused directives * regenerate db snapshot model * Remove dynamic policy * Provide Pretty descriptions for payment methods from their handlers (#852) * small cleanup * Provide Pretty descriptions for payment methods from their handlers * remove PrettyMethod() * integration with trezor * rough load xpub from trezor * update deriv scheme trezor * move ledger import to dialog * add import from hw wallet dropdown * Support temporary links for local file system provider (#848) * wip * Support temporary links for local file system provider * pass base url to file services * fix test * do not crash on errors with local filesystem * remove console * fix paranthesis * work on trezor.net integration * pushed non compiling sign wallet code * comment out wallet code * abstract ledger ws in add deriv * Auto stash before merge of "trezor" and "btcpayserver/master" * final add changes * cleanup * improve connectivity and fix e2e tests * fix selenium * add experimental warning for trezor * move import button to right and convert to text link * switch to defer and async scripts in add deriv scheme * make defer not async * more elaborate import trezor dialog * Fix small issues * hide trezor for now
73 lines
3.4 KiB
JavaScript
73 lines
3.4 KiB
JavaScript
window.deviceList = null;
|
|
window.trezorClient = {
|
|
init: function () {
|
|
document.getElementById("trezor-loading").style.display = "block";
|
|
window.trezorDeviceList = new trezor.DeviceList({
|
|
config: window.trezorConfig || null,
|
|
debug: true,
|
|
transport: new trezorLink.Lowlevel(new trezorLink.WebUsb(), function () {
|
|
return null;
|
|
})
|
|
});
|
|
|
|
trezorDeviceList.on("connect", trezorClient.onDeviceConnected);
|
|
trezorDeviceList.on("connectUnacquired", function(e){
|
|
e.steal.then(trezorClient.onDeviceConnected);
|
|
});
|
|
|
|
trezorDeviceList.on("transport", function(){
|
|
if (trezorDeviceList.asArray().length < 1 || trezorDeviceList.requestNeeded) {
|
|
if (!navigator.usb) {
|
|
document.getElementById("trezor-loading").style.display = "none";
|
|
document.getElementById("trezor-error").style.display = "block";
|
|
document.getElementById("trezor-error").innerHTML = 'Your browser does not support WebUsb. Please switch to a <a href="https://caniuse.com/#feat=webusb" target="_blank">supported browser</a> or request Trezor to implement <a href="https://github.com/trezor/trezord-go/issues/155" target="_blank">this feature</a>.';
|
|
return;
|
|
}
|
|
trezorClient.requestDevice();
|
|
}
|
|
});
|
|
|
|
|
|
},
|
|
requestDevice: function () {
|
|
return trezorDeviceList.requestDevice().catch(function () {
|
|
|
|
document.getElementById("trezor-loading").style.display = "none";
|
|
document.getElementById("trezor-error").style.display = "block";
|
|
document.getElementById("trezor-error").innerText = 'Device could not be acquired. Do you have another app using the device?';
|
|
})
|
|
},
|
|
onDeviceConnected: function (device) {
|
|
window.trezorDevice = null;
|
|
document.getElementById("trezor-error").style.display = "none";
|
|
document.getElementById("trezor-error").innerText = 'Device could not be used.';
|
|
device.on('disconnect', function () {
|
|
window.trezorDevice = null;
|
|
document.getElementById("trezor-error").style.display = "block";
|
|
document.getElementById("trezor-error").innerText = 'Device was disconnected';
|
|
document.getElementById("trezor-loading").style.display = "block";
|
|
document.getElementById("trezor-success").style.display = "none";
|
|
if (window.onTrezorDeviceLost) {
|
|
window.onTrezorDeviceLost();
|
|
}
|
|
});
|
|
if (device.isBootloader()) {
|
|
document.getElementById("trezor-error").style.display = "block";
|
|
document.getElementById("trezor-error").innerText = 'Device is in Bootloader, please reconnect it.';
|
|
return;
|
|
}
|
|
if (!device.isInitialized()) {
|
|
document.getElementById("trezor-error").style.display = "block";
|
|
document.getElementById("trezor-error").innerText = 'Device is not yet setup.';
|
|
return;
|
|
}
|
|
document.getElementById("trezor-loading").style.display = "none";
|
|
document.getElementById("trezor-success").style.display = "block";
|
|
window.trezorDevice = device;
|
|
if (window.onTrezorDeviceFound) {
|
|
document.getElementById("trezor-devicename").innerText = device.features.label;
|
|
window.onTrezorDeviceFound(device);
|
|
}
|
|
}
|
|
};
|
|
|