mirror of
https://github.com/aljazceru/btcpayserver.git
synced 2026-01-07 16:14:20 +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
112 lines
5.3 KiB
Plaintext
112 lines
5.3 KiB
Plaintext
@using NBXplorer.Models
|
||
@model DerivationSchemeViewModel
|
||
@if (Model.CanUseHotWallet)
|
||
{
|
||
ViewData.Add(nameof(Model.CanUseRPCImport), Model.CanUseRPCImport);
|
||
|
||
<partial name="AddDerivationSchemes_NBXWalletGenerate" model="@(new GenerateWalletRequest())"/>
|
||
}
|
||
<partial name="CameraScanner"/>
|
||
<form id="qr-import-form" method="post">
|
||
<input type="hidden" asp-for="WalletFileContent"/>
|
||
</form>
|
||
<div class="modal fade" id="electrumimport" tabindex="-1" role="dialog" aria-labelledby="electrumimport" aria-hidden="true">
|
||
<div class="modal-dialog modal-lg" role="document">
|
||
<form class="modal-content" method="post" enctype="multipart/form-data">
|
||
<div class="modal-header">
|
||
<h5 class="modal-title" id="electrumimportLabel">Import Wallet from file</h5>
|
||
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
||
<span aria-hidden="true">×</span>
|
||
</button>
|
||
</div>
|
||
<div class="modal-body">
|
||
<p>Import your air-gapped hardware wallet by exporting a file and uploading it here.</p>
|
||
<table class="table table-sm table-responsive-md">
|
||
<thead>
|
||
<tr>
|
||
<th>Wallet</th>
|
||
<th>Instructions</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
<tr>
|
||
<td>Cobo Vault</td>
|
||
<td><kbd>Settings ❯ Watch-Only Wallet ❯ BTCPay ❯ Export Wallet</kbd></td>
|
||
</tr>
|
||
<tr>
|
||
<td>ColdCard</td>
|
||
<td>
|
||
<kbd>Advanced ❯ MicroSD Card ❯ Electrum Wallet</kbd> or
|
||
<kbd>Advanced ❯ MicroSD Card ❯ Wasabi Wallet</kbd>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td>Electrum</td>
|
||
<td><kbd>File ❯ Save backup</kbd></td>
|
||
</tr>
|
||
<tr>
|
||
<td>Wasabi</td>
|
||
<td><kbd>Tools ❯ Wallet Manager ❯ Open Wallets Folder</kbd></td>
|
||
</tr>
|
||
<tr>
|
||
<td>Specter</td>
|
||
<td><kbd>Wallet ❯ Settings ❯ Export ❯ Export To Wallet Software ❯ Save wallet file</kbd></td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
<div class="form-group">
|
||
<label asp-for="WalletFile"></label>
|
||
<input type="file" class="form-control-file" asp-for="WalletFile" required>
|
||
</div>
|
||
</div>
|
||
<div class="modal-footer">
|
||
<button type="button" class="btn btn-secondary" data-dismiss="modal">Cancel</button>
|
||
<button type="submit" class="btn btn-primary">Submit</button>
|
||
</div>
|
||
</form>
|
||
</div>
|
||
</div>
|
||
|
||
<template id="btcpayservervault_template">
|
||
<div class="modal-dialog" role="document">
|
||
<form class="modal-content" method="post" enctype="multipart/form-data">
|
||
<div class="modal-header">
|
||
<h5 class="modal-title" id="exampleModalLabel">Import from BTCPayServer Vault</h5>
|
||
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
||
<span aria-hidden="true">×</span>
|
||
</button>
|
||
</div>
|
||
<div class="modal-body">
|
||
<p>You may import from BTCPayServer Vault.</p>
|
||
<div class="form-group">
|
||
<div id="vaultPlaceholder"></div>
|
||
</div>
|
||
<div id="vault-xpub" style="display:none;">
|
||
<div class="form-group">
|
||
<label for="addressType">Address type</label>
|
||
<select name="addressType" class="form-control">
|
||
<option value="segwit">Segwit (Recommended, cheapest transaction fee)</option>
|
||
<option value="segwitWrapped">Segwit wrapped (less cheap but compatible with old wallets)</option>
|
||
<option value="legacy">Legacy (Not recommended)</option>
|
||
</select>
|
||
</div>
|
||
<div class="form-group">
|
||
<label for="accountNumber">Account</label>
|
||
<select name="accountNumber" class="form-control">
|
||
@for (int i = 0; i < 20; i++)
|
||
{
|
||
<option value="@i">@i</option>
|
||
}
|
||
</select>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="modal-footer">
|
||
<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>
|
||
<button type="button" class="btn btn-secondary" data-dismiss="modal">Cancel</button>
|
||
</div>
|
||
</form>
|
||
</div>
|
||
</template>
|