This commit is contained in:
Andrew Camilleri
2025-02-13 21:28:08 +01:00
parent f6ecc8fd72
commit 8046d11ee4
3 changed files with 51 additions and 51 deletions

View File

@@ -11,7 +11,7 @@
<PropertyGroup> <PropertyGroup>
<Product>Nostr</Product> <Product>Nostr</Product>
<Description>NIP5 addresses, Zap support, Nostr Wallet Connect Lightning support</Description> <Description>NIP5 addresses, Zap support, Nostr Wallet Connect Lightning support</Description>
<Version>1.1.17</Version> <Version>1.1.18</Version>
<CopyLocalLockFileAssemblies>true</CopyLocalLockFileAssemblies> <CopyLocalLockFileAssemblies>true</CopyLocalLockFileAssemblies>
</PropertyGroup> </PropertyGroup>
<!-- Plugin development properties --> <!-- Plugin development properties -->
@@ -36,7 +36,7 @@
<ProjectReference Include="..\..\submodules\btcpayserver\BTCPayServer\BTCPayServer.csproj" /> <ProjectReference Include="..\..\submodules\btcpayserver\BTCPayServer\BTCPayServer.csproj" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="NNostr.Client" Version="0.0.51" /> <PackageReference Include="NNostr.Client" Version="0.0.54" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<Folder Include="Resources" /> <Folder Include="Resources" />

View File

@@ -1,48 +1,48 @@
using System; // using System;
using System.Threading; // using System.Threading;
using NNostr.Client; // using NNostr.Client;
//
namespace BTCPayServer.Plugins.NIP05; // namespace BTCPayServer.Plugins.NIP05;
//
public class NostrClientWrapper : IDisposable // public class NostrClientWrapper : IDisposable
{ // {
public INostrClient Client { get; private set; } // public INostrClient Client { get; private set; }
private int _usageCount = 0; // private int _usageCount = 0;
private bool _isDisposed = false; // private bool _isDisposed = false;
private DateTimeOffset _lastUsed; // private DateTimeOffset _lastUsed;
//
public NostrClientWrapper(INostrClient client) // public NostrClientWrapper(INostrClient client)
{ // {
Client = client; // Client = client;
_lastUsed = DateTimeOffset.UtcNow; // _lastUsed = DateTimeOffset.UtcNow;
} // }
//
public void IncrementUsage() // public void IncrementUsage()
{ // {
_lastUsed = DateTimeOffset.UtcNow; // _lastUsed = DateTimeOffset.UtcNow;
Interlocked.Increment(ref _usageCount); // Interlocked.Increment(ref _usageCount);
} // }
//
public void DecrementUsage() // public void DecrementUsage()
{ // {
_lastUsed = DateTimeOffset.UtcNow; // _lastUsed = DateTimeOffset.UtcNow;
if (Interlocked.Decrement(ref _usageCount) == 0 && IsExpired()) // if (Interlocked.Decrement(ref _usageCount) == 0 && IsExpired())
{ // {
Dispose(); // Dispose();
} // }
} // }
//
public bool IsExpired() // public bool IsExpired()
{ // {
return DateTimeOffset.UtcNow - _lastUsed > TimeSpan.FromMinutes(5); // return DateTimeOffset.UtcNow - _lastUsed > TimeSpan.FromMinutes(5);
} // }
//
public void Dispose() // public void Dispose()
{ // {
if (!_isDisposed) // if (!_isDisposed)
{ // {
Client.Dispose(); // Client.Dispose();
_isDisposed = true; // _isDisposed = true;
} // }
} // }
} // }

View File

@@ -44,7 +44,7 @@
</ProjectReference> </ProjectReference>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="NNostr.Client" Version="0.0.51"></PackageReference> <PackageReference Include="NNostr.Client" Version="0.0.54"></PackageReference>
<PackageReference Include="WabiSabi" Version="1.0.1.2"/> <PackageReference Include="WabiSabi" Version="1.0.1.2"/>
</ItemGroup> </ItemGroup>
<Target Name="DeleteExampleFile" AfterTargets="Publish"> <Target Name="DeleteExampleFile" AfterTargets="Publish">