feat: add Reserved Addresses view with filtering, pagination and labels (#6796)

* feat: add reservedAt metadata when address is generated from receive

* feat: add link to Reserved Addresses in wallet navigation

* feat: add ReservedAddressesViewModel with labels and reserved timestamp

* feat: implement Reserved Addresses view with filtering, pagination and label management

* feat: add GetReservedAddressesWithDetails with label and timestamp support

* feat: add ReservedAddresses endpoint

* test: add Reserved Addresses view test with label, filter and pagination

* test: use stable ID for filter input instead of placeholder

* Moving Reserved Addresses to Receive page

* feat: sync labels created via Label Manager using labelmanager:changed event

* refactor: optimize GetReservedAddressesWithDetails using direct SQL query

* feat: add link to filter Reserved Addresses by label from Wallet Labels view

* refactor: remove legacy selenium test

* test: add playwright tests with label filtering, pagination and redirect from Wallet Labels view

* refactor: optimize Reserved Addresses filtering with Set and Safe.Json

---------

Co-authored-by: rockstardev <5191402+rockstardev@users.noreply.github.com>
This commit is contained in:
thgO.O
2025-07-03 21:30:23 -03:00
committed by GitHub
parent 5d5eb19142
commit 632d4433e0
11 changed files with 422 additions and 8 deletions

View File

@@ -0,0 +1,19 @@
using System;
using System.Collections.Generic;
namespace BTCPayServer.Models.WalletViewModels;
public class ReservedAddressesViewModel
{
public string WalletId { get; set; }
public string CryptoCode { get; set; }
public List<ReservedAddress> Addresses { get; set; }
}
public class ReservedAddress
{
public string Address { get; set; }
public List<TransactionTagModel> Labels { get; set; } = new();
public DateTimeOffset? ReservedAt { get; set; }
}