mirror of
https://github.com/btcpayserver/btcpayserver.git
synced 2025-02-26 23:49:57 +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
107 lines
3.5 KiB
Text
107 lines
3.5 KiB
Text
@model WalletSetupViewModel
|
|
@addTagHelper *, BundlerMinifier.TagHelpers
|
|
@{
|
|
Layout = "_LayoutWalletSetup";
|
|
ViewData["Title"] = $"Enter your extended public key";
|
|
}
|
|
|
|
@section Navbar {
|
|
<a asp-controller="Stores" asp-action="ImportWallet" asp-route-storeId="@Model.StoreId" asp-route-cryptoCode="@Model.CryptoCode" asp-route-method="">
|
|
<vc:icon symbol="back" />
|
|
</a>
|
|
}
|
|
|
|
<header class="text-center">
|
|
<h1>@ViewData["Title"]</h1>
|
|
<p class="lead text-secondary mt-3">
|
|
This key, also called "xpub", is used to generate individual destination addresses for your invoices.
|
|
<a href="https://docs.btcpayserver.org/FAQ/FAQ-Wallet/#what-is-a-derivation-scheme" target="_blank"><span class="fa fa-question-circle-o" title="More information..."></span></a>
|
|
</p>
|
|
</header>
|
|
|
|
<form method="post" class="my-5">
|
|
<input asp-for="Config" type="hidden" />
|
|
<input asp-for="CryptoCode" type="hidden" />
|
|
<input asp-for="DerivationSchemeFormat" type="hidden" />
|
|
<input asp-for="AccountKey" type="hidden" />
|
|
|
|
<div class="form-group">
|
|
<label asp-for="DerivationScheme">Extended public key</label>
|
|
<textarea asp-for="DerivationScheme" class="form-control store-derivation-scheme text-monospace py-2" rows="2"></textarea>
|
|
<span asp-validation-for="DerivationScheme" class="text-danger"></span>
|
|
</div>
|
|
|
|
<button name="command" type="submit" class="btn btn-primary" value="save" id="Continue">Continue</button>
|
|
</form>
|
|
|
|
<table class="table table-sm">
|
|
<thead>
|
|
<tr>
|
|
<th>Address type</th>
|
|
<th>Example</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr>
|
|
<td rowspan="4">P2WPKH</td>
|
|
<td class="text-monospace">xpub…</td>
|
|
</tr>
|
|
<tr>
|
|
<td class="text-monospace">zpub…</td>
|
|
</tr>
|
|
<tr>
|
|
<td class="text-monospace">wpkh(xpub…/0/*)</td>
|
|
</tr>
|
|
<tr>
|
|
<td class="text-monospace">wpkh([…/84'/0'/0']xpub…/0/*)</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="4">P2SH-P2WPKH</td>
|
|
<td class="text-monospace">xpub…-[p2sh]</td>
|
|
</tr>
|
|
<tr>
|
|
<td class="text-monospace">ypub…</td>
|
|
</tr>
|
|
<tr>
|
|
<td class="text-monospace">sh(wpkh(xpub…/0/*)</td>
|
|
</tr>
|
|
<tr>
|
|
<td class="text-monospace">sh(wpkh([…/49'/0'/0']xpub…/0/*)</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="3">P2PKH</td>
|
|
<td class="text-monospace">xpub…-[legacy]</td>
|
|
</tr>
|
|
<tr>
|
|
<td class="text-monospace">pkh([…/44'/0'/0']xpub…/0/*)</td>
|
|
</tr>
|
|
<tr>
|
|
<td class="text-monospace">pkh(xpub…/0/*)</td>
|
|
</tr>
|
|
<tr>
|
|
<td class="text-nowrap" rowspan="2">Multi-sig P2WSH</td>
|
|
<td class="text-monospace">2-of-xpub1…-xpub2…</td>
|
|
</tr>
|
|
<tr>
|
|
<td class="text-monospace">wsh(multi(2,<br>[…/48'/0'/0'/2']xpub…/0/*,<br>[…/48'/0'/0'/2']xpub…/0/*))</td>
|
|
</tr>
|
|
<tr>
|
|
<td class="text-nowrap" rowspan="2">Multi-sig P2SH-P2WSH</td>
|
|
<td class="text-monospace">2-of-xpub1…-xpub2…-[p2sh]</td>
|
|
</tr>
|
|
<tr>
|
|
<td class="text-monospace">sh(wsh(multi(2,<br>[…/48'/0'/0'/1']xpub…/0/*,<br>[…/48'/0'/0'/1']xpub…/0/*)))</td>
|
|
</tr>
|
|
<tr>
|
|
<td class="text-nowrap" rowspan="2">Multi-sig P2SH</td>
|
|
<td class="text-monospace">2-of-xpub1…-xpub2…-[legacy]</td>
|
|
</tr>
|
|
<tr>
|
|
<td class="text-monospace">sh(multi(2,<br>[…/45'/0]xpub…/0/*,<br>[…/45'/0]xpub…/0/*))</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
|
|
@section Scripts {
|
|
@await Html.PartialAsync("_ValidationScriptsPartial")
|
|
}
|