mirror of
https://github.com/aljazceru/btcpayserver.git
synced 2025-12-19 06:54:19 +01:00
Set a longer timeout for the cache for /rates, update NBXPlorer, bump
This commit is contained in:
@@ -37,7 +37,7 @@ services:
|
|||||||
- postgres
|
- postgres
|
||||||
|
|
||||||
nbxplorer:
|
nbxplorer:
|
||||||
image: nicolasdorier/nbxplorer:1.0.1.3
|
image: nicolasdorier/nbxplorer:1.0.1.10
|
||||||
ports:
|
ports:
|
||||||
- "32838:32838"
|
- "32838:32838"
|
||||||
expose:
|
expose:
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<OutputType>Exe</OutputType>
|
<OutputType>Exe</OutputType>
|
||||||
<TargetFramework>netcoreapp2.0</TargetFramework>
|
<TargetFramework>netcoreapp2.0</TargetFramework>
|
||||||
<Version>1.0.1.18</Version>
|
<Version>1.0.1.19</Version>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Compile Remove="Build\dockerfiles\**" />
|
<Compile Remove="Build\dockerfiles\**" />
|
||||||
@@ -21,10 +21,10 @@
|
|||||||
<PackageReference Include="Hangfire.MemoryStorage" Version="1.5.2" />
|
<PackageReference Include="Hangfire.MemoryStorage" Version="1.5.2" />
|
||||||
<PackageReference Include="Hangfire.PostgreSql" Version="1.4.8.1" />
|
<PackageReference Include="Hangfire.PostgreSql" Version="1.4.8.1" />
|
||||||
<PackageReference Include="Microsoft.Extensions.Logging.Filter" Version="1.1.2" />
|
<PackageReference Include="Microsoft.Extensions.Logging.Filter" Version="1.1.2" />
|
||||||
<PackageReference Include="NBitcoin" Version="4.0.0.52" />
|
<PackageReference Include="NBitcoin" Version="4.0.0.54" />
|
||||||
<PackageReference Include="NBitpayClient" Version="1.0.0.16" />
|
<PackageReference Include="NBitpayClient" Version="1.0.0.16" />
|
||||||
<PackageReference Include="DBreeze" Version="1.87.0" />
|
<PackageReference Include="DBreeze" Version="1.87.0" />
|
||||||
<PackageReference Include="NBXplorer.Client" Version="1.0.1.2" />
|
<PackageReference Include="NBXplorer.Client" Version="1.0.1.8" />
|
||||||
<PackageReference Include="NicolasDorier.CommandLine" Version="1.0.0.1" />
|
<PackageReference Include="NicolasDorier.CommandLine" Version="1.0.0.1" />
|
||||||
<PackageReference Include="NicolasDorier.CommandLine.Configuration" Version="1.0.0.2" />
|
<PackageReference Include="NicolasDorier.CommandLine.Configuration" Version="1.0.0.2" />
|
||||||
<PackageReference Include="NicolasDorier.StandardConfiguration" Version="1.0.0.13" />
|
<PackageReference Include="NicolasDorier.StandardConfiguration" Version="1.0.0.13" />
|
||||||
|
|||||||
@@ -119,7 +119,7 @@ namespace BTCPayServer.Controllers
|
|||||||
.Select(derivationStrategy => (Wallet: _WalletProvider.GetWallet(derivationStrategy.Network),
|
.Select(derivationStrategy => (Wallet: _WalletProvider.GetWallet(derivationStrategy.Network),
|
||||||
DerivationStrategy: derivationStrategy.DerivationStrategyBase,
|
DerivationStrategy: derivationStrategy.DerivationStrategyBase,
|
||||||
Network: derivationStrategy.Network,
|
Network: derivationStrategy.Network,
|
||||||
RateProvider: _RateProviders.GetRateProvider(derivationStrategy.Network),
|
RateProvider: _RateProviders.GetRateProvider(derivationStrategy.Network, false),
|
||||||
FeeRateProvider: _FeeProviderFactory.CreateFeeProvider(derivationStrategy.Network)))
|
FeeRateProvider: _FeeProviderFactory.CreateFeeProvider(derivationStrategy.Network)))
|
||||||
.Where(_ => _.Wallet != null &&
|
.Where(_ => _.Wallet != null &&
|
||||||
_.FeeRateProvider != null &&
|
_.FeeRateProvider != null &&
|
||||||
@@ -164,7 +164,7 @@ namespace BTCPayServer.Controllers
|
|||||||
#pragma warning disable CS0618
|
#pragma warning disable CS0618
|
||||||
var btc = _NetworkProvider.BTC;
|
var btc = _NetworkProvider.BTC;
|
||||||
var feeProvider = _FeeProviderFactory.CreateFeeProvider(btc);
|
var feeProvider = _FeeProviderFactory.CreateFeeProvider(btc);
|
||||||
var rateProvider = storeBlob.ApplyRateRules(btc, _RateProviders.GetRateProvider(btc));
|
var rateProvider = storeBlob.ApplyRateRules(btc, _RateProviders.GetRateProvider(btc, false));
|
||||||
if (feeProvider != null && rateProvider != null)
|
if (feeProvider != null && rateProvider != null)
|
||||||
{
|
{
|
||||||
var gettingFee = feeProvider.GetFeeRateAsync();
|
var gettingFee = feeProvider.GetFeeRateAsync();
|
||||||
|
|||||||
@@ -49,7 +49,7 @@ namespace BTCPayServer.Controllers
|
|||||||
var network = _NetworkProvider.GetNetwork(cryptoCode);
|
var network = _NetworkProvider.GetNetwork(cryptoCode);
|
||||||
if (network == null)
|
if (network == null)
|
||||||
return NotFound();
|
return NotFound();
|
||||||
var rateProvider = _RateProviderFactory.GetRateProvider(network);
|
var rateProvider = _RateProviderFactory.GetRateProvider(network, true);
|
||||||
if (rateProvider == null)
|
if (rateProvider == null)
|
||||||
return NotFound();
|
return NotFound();
|
||||||
|
|
||||||
|
|||||||
@@ -258,7 +258,7 @@ namespace BTCPayServer.Controllers
|
|||||||
for (int i = 0; i < 10; i++)
|
for (int i = 0; i < 10; i++)
|
||||||
{
|
{
|
||||||
var address = line.Derive((uint)i);
|
var address = line.Derive((uint)i);
|
||||||
vm.AddressSamples.Add((line.Path.Derive((uint)i).ToString(), address.ScriptPubKey.GetDestinationAddress(network.NBitcoinNetwork).ToString()));
|
vm.AddressSamples.Add((DerivationStrategyBase.GetKeyPath(DerivationFeature.Deposit).Derive((uint)i).ToString(), address.ScriptPubKey.GetDestinationAddress(network.NBitcoinNetwork).ToString()));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch
|
catch
|
||||||
|
|||||||
@@ -11,6 +11,7 @@ namespace BTCPayServer.Services.Rates
|
|||||||
{
|
{
|
||||||
IMemoryCache _Cache;
|
IMemoryCache _Cache;
|
||||||
ConcurrentDictionary<string, IRateProvider> _Providers = new ConcurrentDictionary<string, IRateProvider>();
|
ConcurrentDictionary<string, IRateProvider> _Providers = new ConcurrentDictionary<string, IRateProvider>();
|
||||||
|
ConcurrentDictionary<string, IRateProvider> _LongCacheProviders = new ConcurrentDictionary<string, IRateProvider>();
|
||||||
|
|
||||||
public IMemoryCache Cache
|
public IMemoryCache Cache
|
||||||
{
|
{
|
||||||
@@ -30,9 +31,10 @@ namespace BTCPayServer.Services.Rates
|
|||||||
public IRateProvider RateProvider { get; set; }
|
public IRateProvider RateProvider { get; set; }
|
||||||
|
|
||||||
public TimeSpan CacheSpan { get; set; } = TimeSpan.FromMinutes(1.0);
|
public TimeSpan CacheSpan { get; set; } = TimeSpan.FromMinutes(1.0);
|
||||||
public IRateProvider GetRateProvider(BTCPayNetwork network)
|
public TimeSpan LongCacheSpan { get; set; } = TimeSpan.FromMinutes(15.0);
|
||||||
|
public IRateProvider GetRateProvider(BTCPayNetwork network, bool longCache)
|
||||||
{
|
{
|
||||||
return _Providers.GetOrAdd(network.CryptoCode, new CachedRateProvider(network.CryptoCode, RateProvider ?? network.DefaultRateProvider, _Cache) { CacheSpan = CacheSpan });
|
return (longCache ? _LongCacheProviders : _Providers).GetOrAdd(network.CryptoCode, new CachedRateProvider(network.CryptoCode, RateProvider ?? network.DefaultRateProvider, _Cache) { CacheSpan = longCache ? LongCacheSpan : CacheSpan });
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -7,6 +7,6 @@ namespace BTCPayServer.Services.Rates
|
|||||||
{
|
{
|
||||||
public interface IRateProviderFactory
|
public interface IRateProviderFactory
|
||||||
{
|
{
|
||||||
IRateProvider GetRateProvider(BTCPayNetwork network);
|
IRateProvider GetRateProvider(BTCPayNetwork network, bool longCache);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ namespace BTCPayServer.Services.Rates
|
|||||||
{
|
{
|
||||||
_Mocks.Add(mock);
|
_Mocks.Add(mock);
|
||||||
}
|
}
|
||||||
public IRateProvider GetRateProvider(BTCPayNetwork network)
|
public IRateProvider GetRateProvider(BTCPayNetwork network, bool longCache)
|
||||||
{
|
{
|
||||||
return _Mocks.FirstOrDefault(m => m.CryptoCode == network.CryptoCode);
|
return _Mocks.FirstOrDefault(m => m.CryptoCode == network.CryptoCode);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user