2019-09-30 10:32:43 +02:00
@using BTCPayServer.Views.Stores
2021-07-27 20:00:33 +02:00
@using BTCPayServer.Abstractions.Extensions
2024-03-14 17:31:27 +08:00
@using MoneroLikePaymentMethodViewModel = BTCPayServer.Services.Altcoins.Monero.UI.UIMoneroLikeStoreController.MoneroLikePaymentMethodViewModel
@using MoneroLikeSettlementThresholdChoice = BTCPayServer.Services.Altcoins.Monero.UI.UIMoneroLikeStoreController.MoneroLikeSettlementThresholdChoice;
@model MoneroLikePaymentMethodViewModel
2019-09-30 10:32:43 +02:00
@{
Layout = "../Shared/_NavLayout.cshtml";
2022-01-07 12:32:00 +09:00
ViewData["NavPartialName"] = "../UIStores/_Nav";
2023-10-11 14:12:33 +02:00
ViewData.SetActivePage(Model.CryptoCode, $"{Model.CryptoCode} Settings", Model.CryptoCode);
2019-09-30 10:32:43 +02:00
}
<div class="row">
<div class="col-md-8">
2024-03-14 17:31:27 +08:00
<div asp-validation-summary="All"></div>
2019-09-30 10:32:43 +02:00
@if (Model.Summary != null)
{
<div class="card">
<ul class="list-group list-group-flush">
<li class="list-group-item">Node available: @Model.Summary.DaemonAvailable</li>
<li class="list-group-item">Wallet available: @Model.Summary.WalletAvailable (@(Model.WalletFileFound ? "Wallet file present" : "Wallet file not found"))</li>
<li class="list-group-item">Last updated: @Model.Summary.UpdatedAt</li>
<li class="list-group-item">Synced: @Model.Summary.Synced (@Model.Summary.CurrentHeight / @Model.Summary.TargetHeight)</li>
</ul>
</div>
}
2021-04-08 15:32:42 +02:00
@if (!Model.WalletFileFound || Model.Summary.WalletHeight == default)
2019-09-30 10:32:43 +02:00
{
2020-01-14 12:46:07 +01:00
<form method="post" asp-action="GetStoreMoneroLikePaymentMethod"
2021-04-08 15:32:42 +02:00
asp-route-storeId="@Context.GetRouteValue("storeId")"
asp-route-cryptoCode="@Context.GetRouteValue("cryptoCode")"
2020-01-14 12:46:07 +01:00
class="mt-4" enctype="multipart/form-data">
2019-09-30 10:32:43 +02:00
<div class="card my-2">
<h3 class="card-title p-2">Upload Wallet</h3>
<div class="form-group p-2">
2021-06-06 13:44:54 +02:00
<label asp-for="WalletFile" class="form-label"></label>
2021-05-19 04:39:27 +02:00
<input class="form-control" asp-for="WalletFile" required>
2019-09-30 10:32:43 +02:00
<span asp-validation-for="WalletFile" class="text-danger"></span>
</div>
<div class="form-group p-2">
2021-06-06 13:44:54 +02:00
<label asp-for="WalletKeysFile" class="form-label"></label>
2021-05-19 04:39:27 +02:00
<input class="form-control" asp-for="WalletKeysFile" required>
2019-09-30 10:32:43 +02:00
<span asp-validation-for="WalletKeysFile" class="text-danger"></span>
</div>
<div class="form-group p-2">
2021-06-06 13:44:54 +02:00
<label asp-for="WalletPassword" class="form-label"></label>
2019-09-30 10:32:43 +02:00
<input class="form-control" asp-for="WalletPassword">
<span asp-validation-for="WalletPassword" class="text-danger"></span>
</div>
<div class="card-footer text-right">
<button name="command" value="upload-wallet" class="btn btn-secondary" type="submit">Upload</button>
</div>
</div>
</form>
}
2020-01-14 12:46:07 +01:00
<form method="post" asp-action="GetStoreMoneroLikePaymentMethod"
2021-04-08 15:32:42 +02:00
asp-route-storeId="@Context.GetRouteValue("storeId")"
asp-route-cryptoCode="@Context.GetRouteValue("cryptoCode")"
2020-01-14 12:46:07 +01:00
class="mt-4" enctype="multipart/form-data">
2019-09-30 10:32:43 +02:00
<input type="hidden" asp-for="CryptoCode"/>
2021-04-08 15:32:42 +02:00
@if (!Model.WalletFileFound || Model.Summary.WalletHeight == default)
2019-09-30 10:32:43 +02:00
{
<input type="hidden" asp-for="AccountIndex"/>
}
else
{
<div class="form-group">
<label asp-for="AccountIndex" class="control-label"></label>
@if (@Model.Accounts != null && Model.Accounts.Any())
{
<select asp-for="AccountIndex" asp-items="Model.Accounts" class="form-control"></select>
<span asp-validation-for="AccountIndex" class="text-danger"></span>
}
else
{
<span>No accounts available on the current wallet</span>
<input type="hidden" asp-for="AccountIndex"/>
}
</div>
<div class="form-group">
<div class="input-group my-3">
<input type="text" class="form-control" placeholder="New account label" asp-for="NewAccountLabel">
2021-05-19 04:39:27 +02:00
<button name="command" value="add-account" class="input-group-text btn btn-secondary" type="submit">Add account</button>
2019-09-30 10:32:43 +02:00
</div>
</div>
}
<div class="form-group">
<label asp-for="Enabled"></label>
<input asp-for="Enabled" type="checkbox" class="form-check"/>
<span asp-validation-for="Enabled" class="text-danger"></span>
</div>
2024-03-14 17:31:27 +08:00
<div class="form-group">
<label asp-for="SettlementConfirmationThresholdChoice" class="form-label"></label>
<a href="https://docs.btcpayserver.org/FAQ/Stores/#consider-the-invoice-confirmed-when-the-payment-transaction" target="_blank" rel="noreferrer noopener" title="More information...">
<vc:icon symbol="info" />
</a>
<select
asp-for="SettlementConfirmationThresholdChoice"
asp-items="Html.GetEnumSelectList<MoneroLikeSettlementThresholdChoice>()"
class="form-select w-auto"
onchange="
document.getElementById('unconfirmed-warning').hidden = this.value !== '@((int)MoneroLikeSettlementThresholdChoice.ZeroConfirmation)';
document.getElementById('custom-confirmation-value').hidden = this.value !== '@((int)MoneroLikeSettlementThresholdChoice.Custom)';">
</select>
<span asp-validation-for="SettlementConfirmationThresholdChoice" class="text-danger"></span>
<p class="info-note my-3 text-warning" id="unconfirmed-warning" role="alert" hidden="@(Model.SettlementConfirmationThresholdChoice is not MoneroLikeSettlementThresholdChoice.ZeroConfirmation)">
<vc:icon symbol="warning" />
Choosing to accept an unconfirmed invoice can lead to double-spending and is strongly discouraged.
</p>
</div>
<div class="form-group" id="custom-confirmation-value" hidden="@(Model.SettlementConfirmationThresholdChoice is not MoneroLikeSettlementThresholdChoice.Custom)">
<label asp-for="CustomSettlementConfirmationThreshold" class="form-label"></label>
<input
asp-for="CustomSettlementConfirmationThreshold"
type="number"
value="@(Model.CustomSettlementConfirmationThreshold)"
class="form-control w-auto"
min="0"
max="100"
pattern="\d+"
/>
<span asp-validation-for="CustomSettlementConfirmationThreshold" class="text-danger"></span>
</div>
2019-09-30 10:32:43 +02:00
<div class="form-group">
<button type="submit" class="btn btn-primary" id="SaveButton">Save</button>
2020-01-14 12:46:07 +01:00
<a class="btn btn-secondary" asp-action="GetStoreMoneroLikePaymentMethods"
2021-04-08 15:32:42 +02:00
asp-route-storeId="@Context.GetRouteValue("storeId")"
asp-route-cryptoCode="@Context.GetRouteValue("cryptoCode")"
2022-01-07 12:32:00 +09:00
asp-controller="UIMoneroLikeStore">
2020-01-14 12:46:07 +01:00
Back to list
</a>
2019-09-30 10:32:43 +02:00
</div>
</form>
</div>
</div>
2021-05-19 04:39:27 +02:00
@section PageFootContent {
2019-09-30 10:32:43 +02:00
@await Html.PartialAsync("_ValidationScriptsPartial")
}