mirror of
https://github.com/btcpayserver/btcpayserver.git
synced 2025-02-23 06:35:13 +01:00
* Prepare existing layouts and views * Add icon view component and sprite svg * Add wallet setup basics * Add import method view basics * Use external sprite file instead of inline svg * Refactor hardware wallet setup flow * Manually enter an xpub * Prepare other views * Update views and models * Finalize wallet setup flow * Updat tests, part 1 * Update tests, part 2 * Vaul: Fix missing retry button * Add better Scan QR subtext Still tbd. * Make wallet account an advanced setting * Prevent empty xpub * Use textarea for seed input * Remove redundant error message for missing file upload * Confirm store updates after generating a new wallet * Update wording * Modify existing wallets * Fix proposed method name * Suggest using ColdCard Electrum export option only Advise the user to use the electrum export of the coldcard instead of saying either electrum or wasabi export file … the electurm one contains more info, e.g. the wasabi one doesn't include the account key path. * More concise WalletSetupMethod setting * Test fix * Update wallet removal code * Fix back navigation quirk in change wallet case * Fix behaviour on wallet enable/disable * Fix initial wallet setup * Improve modify view and messages * Test fixes * Seed import fix Uses the correct form url for confirming addresses * Quickfixes from design meeting * Add enable toggle switch on modify page * Confirm wallet removal * Update setup view * Update import view * Icon finetuning * Improve import options page * Refactor QR code scanner Allow for usage with and without modal * Update copy and instructions on import pages * Split generate options: Hot wallet and watch-only * Implement hot wallet options correctly * Minor test changes * Navbar improvements * Fix tables * Fix badge color * Routing related updates Thanks @kukks for the suggestions! * Wording updates Thanks @kukks for the suggestions! * Extend address types table for xpub import Thanks @kukks for the suggestions! * Rename controller * Unify precondition checks * Improve removal warning for hot wallets * Add tooltip on why seed import is not recommended * Add tooltip icon * Add Specter import info
67 lines
2.6 KiB
Text
67 lines
2.6 KiB
Text
@model WalletSendVaultModel
|
|
@{
|
|
Layout = "../Shared/_NavLayout.cshtml";
|
|
ViewData["Title"] = "Manage wallet";
|
|
ViewData.SetActivePageAndTitle(WalletsNavPages.Send);
|
|
}
|
|
|
|
<h4>Sign the transaction with BTCPayServer Vault</h4>
|
|
@if (TempData.HasStatusMessage())
|
|
{
|
|
<div class="row">
|
|
<div class="col-md-10 text-center">
|
|
<partial name="_StatusMessage" />
|
|
</div>
|
|
</div>
|
|
}
|
|
<div id="walletAlert" class="alert alert-danger alert-dismissible" style="display:none;" role="alert">
|
|
<button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">×</span></button>
|
|
<span id="alertMessage"></span>
|
|
</div>
|
|
<div class="row">
|
|
<div id="body" class="col-md-10">
|
|
<form id="broadcastForm" asp-action="WalletSendVault" asp-route-walletId="@this.Context.GetRouteValue("walletId")" method="post" style="display:none;">
|
|
<input type="hidden" id="WalletId" asp-for="WalletId" />
|
|
<input type="hidden" asp-for="WebsocketPath" />
|
|
<partial name="SigningContext" for="SigningContext" />
|
|
</form>
|
|
<div id="vaultPlaceholder"></div>
|
|
<button id="vault-retry" class="btn btn-primary" style="display:none;" type="button">Retry</button>
|
|
<button id="vault-confirm" class="btn btn-primary" style="display:none;"></button>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
<partial name="VaultElements" />
|
|
@section Scripts
|
|
{
|
|
<script src="~/js/vaultbridge.js" type="text/javascript" defer="defer" asp-append-version="true"></script>
|
|
<script src="~/js/vaultbridge.ui.js" type="text/javascript" defer="defer" asp-append-version="true"></script>
|
|
<script type="text/javascript">
|
|
async function askSign() {
|
|
var websocketPath = $("#WebsocketPath").val();
|
|
var loc = window.location, ws_uri;
|
|
if (loc.protocol === "https:") {
|
|
ws_uri = "wss:";
|
|
} else {
|
|
ws_uri = "ws:";
|
|
}
|
|
ws_uri += "//" + loc.host;
|
|
ws_uri += websocketPath;
|
|
var html = $("#VaultConnection").html();
|
|
$("#vaultPlaceholder").html(html);
|
|
var vaultUI = new vaultui.VaultBridgeUI(ws_uri);
|
|
|
|
while (!await vaultUI.askForDevice() || !await vaultUI.askSignPSBT({
|
|
walletId: $("#WalletId").val(),
|
|
psbt: $("#SigningContext_PSBT").val()
|
|
})) {
|
|
}
|
|
$("#SigningContext_PSBT").val(vaultUI.psbt);
|
|
$("#broadcastForm").submit();
|
|
}
|
|
$(function () {
|
|
askSign();
|
|
});
|
|
</script>
|
|
}
|