Removal of the Altcoins build (#6177)

* Remove some useless #if ALTCOINS

* Removal of the Altcoins build
This commit is contained in:
Nicolas Dorier 2024-08-30 08:34:23 +09:00 committed by GitHub
parent 25ccc6a9f9
commit a3cfb9e5e4
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
54 changed files with 23 additions and 292 deletions

View File

@ -12,7 +12,7 @@
<PackageLicenseExpression>MIT</PackageLicenseExpression>
<RepositoryUrl>https://github.com/btcpayserver/btcpayserver</RepositoryUrl>
<RepositoryType>git</RepositoryType>
<Configurations>Debug;Release;Altcoins-Debug;Altcoins-Release</Configurations>
<Configurations>Debug;Release</Configurations>
<Platforms>AnyCPU</Platforms>
</PropertyGroup>
<PropertyGroup>

View File

@ -7,9 +7,6 @@
<PackageReference Include="NBXplorer.Client" Version="4.3.1" />
<PackageReference Include="NicolasDorier.StandardConfiguration" Version="2.0.1" />
</ItemGroup>
<ItemGroup Condition="'$(Altcoins)' != 'true'">
<Compile Remove="Altcoins\**\*.cs"></Compile>
</ItemGroup>
<ItemGroup>
<Folder Include="Altcoins\" />
</ItemGroup>

View File

@ -41,9 +41,6 @@
<IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets>
</PackageReference>
</ItemGroup>
<ItemGroup Condition="'$(Altcoins)' != 'true'">
<Compile Remove="AltcoinTests\**\*.cs"></Compile>
</ItemGroup>
<ItemGroup>
<None Update=".dockerignore">
<DependentUpon>Dockerfile</DependentUpon>

View File

@ -31,12 +31,6 @@ using AuthenticationSchemes = BTCPayServer.Abstractions.Constants.Authentication
namespace BTCPayServer.Tests
{
public enum TestDatabases
{
Postgres,
MySQL,
}
public class BTCPayServerTester : IDisposable
{
internal readonly string _Directory;
@ -69,11 +63,6 @@ namespace BTCPayServer.Tests
set;
}
public string MySQL
{
get; set;
}
public string Postgres
{
get; set;
@ -89,11 +78,6 @@ namespace BTCPayServer.Tests
get; set;
}
public TestDatabases TestDatabase
{
get; set;
}
public async Task RestartStartupTask<T>()
{
var startupTask = GetService<IServiceProvider>().GetServices<Abstractions.Contracts.IStartupTask>()
@ -164,9 +148,7 @@ namespace BTCPayServer.Tests
if (!string.IsNullOrEmpty(SSHConnection))
config.AppendLine($"sshconnection={SSHConnection}");
if (TestDatabase == TestDatabases.MySQL && !String.IsNullOrEmpty(MySQL))
config.AppendLine($"mysql=" + MySQL);
else if (!String.IsNullOrEmpty(Postgres))
if (!String.IsNullOrEmpty(Postgres))
config.AppendLine($"postgres=" + Postgres);
if (!string.IsNullOrEmpty(ExplorerPostgres))

View File

@ -250,12 +250,10 @@ namespace BTCPayServer.Tests
Assert.Equal(id, id1);
Assert.Equal(id, id2);
Assert.Equal("LTC-LN", id.ToString());
#if ALTCOINS
id = PaymentMethodId.Parse("XMR");
id1 = PaymentMethodId.Parse("XMR-MoneroLike");
Assert.Equal(id, id1);
Assert.Equal("XMR-CHAIN", id.ToString());
#endif
}
[Fact]
@ -487,7 +485,7 @@ namespace BTCPayServer.Tests
#pragma warning restore CS0618
}
#if ALTCOINS
[Fact]
public void CanCalculateCryptoDue()
{
@ -658,7 +656,6 @@ namespace BTCPayServer.Tests
Assert.Equal(accounting.Paid, accounting.TotalDue);
#pragma warning restore CS0618
}
#endif
[Fact]
public void DeterministicUTXOSorter()

View File

@ -51,19 +51,16 @@ namespace BTCPayServer.Tests
PayTester = new BTCPayServerTester(TestLogs, LoggerProvider, Path.Combine(_Directory, "pay"))
{
NBXplorerUri = ExplorerClient.Address,
TestDatabase = Enum.Parse<TestDatabases>(GetEnvironment("TESTS_DB", TestDatabases.Postgres.ToString()), true),
// TODO: The fact that we use same conn string as development database can cause huge problems with tests
// since in dev we already can have some users / stores registered, while on CI database is being initalized
// for the first time and first registered user gets admin status by default
Postgres = GetEnvironment("TESTS_POSTGRES", DefaultConnectionString),
ExplorerPostgres = GetEnvironment("TESTS_EXPLORER_POSTGRES", "User ID=postgres;Include Error Detail=true;Host=127.0.0.1;Port=39372;Database=nbxplorer"),
MySQL = GetEnvironment("TESTS_MYSQL", "User ID=root;Host=127.0.0.1;Port=33036;Database=btcpayserver")
};
if (newDb)
{
var r = RandomUtils.GetUInt32();
PayTester.Postgres = PayTester.Postgres.Replace("btcpayserver", $"btcpayserver{r}");
PayTester.MySQL = PayTester.MySQL.Replace("btcpayserver", $"btcpayserver{r}");
TestLogs.LogInformation($"Database used: btcpayserver{r}");
}
PayTester.Port = int.Parse(GetEnvironment("TESTS_PORT", Utils.FreeTcpPort().ToString(CultureInfo.InvariantCulture)), CultureInfo.InvariantCulture);
@ -86,7 +83,7 @@ namespace BTCPayServer.Tests
File.Copy(file, Path.Combine(langdir, Path.GetFileName(file)));
}
#if ALTCOINS
public void ActivateLTC()
{
LTCExplorerNode = new RPCClient(RPCCredentialString.Parse(GetEnvironment("TESTS_LTCRPCCONNECTION", "server=http://127.0.0.1:43783;ceiwHEbqWI83:DwubwWsoo3")), NetworkProvider.GetNetwork<BTCPayNetwork>("LTC").NBitcoinNetwork);
@ -101,12 +98,7 @@ namespace BTCPayServer.Tests
PayTester.Chains.Add("LBTC");
PayTester.LBTCNBXplorerUri = LBTCExplorerClient.Address;
}
public void ActivateETH()
{
PayTester.Chains.Add("ETH");
}
#endif
public void ActivateLightning()
{
ActivateLightning(LightningConnectionType.CLightning);
@ -240,7 +232,7 @@ namespace BTCPayServer.Tests
{
get; set;
}
#if ALTCOINS
public RPCClient LTCExplorerNode
{
get; set;
@ -249,7 +241,6 @@ namespace BTCPayServer.Tests
public RPCClient LBTCExplorerNode { get; set; }
public ExplorerClient LTCExplorerClient { get; set; }
public ExplorerClient LBTCExplorerClient { get; set; }
#endif
public ExplorerClient ExplorerClient
{

View File

@ -63,9 +63,9 @@ namespace BTCPayServer.Tests
var bootstrap = Startup.CreateBootstrap(conf);
var services = new PluginServiceCollection(new ServiceCollection(), bootstrap);
var plugins = new List<BaseBTCPayServerPlugin>() { new BitcoinPlugin() };
#if ALTCOINS
plugins.Add(new BTCPayServer.Plugins.Altcoins.AltcoinsPlugin());
#endif
foreach (var p in plugins)
{
p.Execute(services);

View File

@ -321,7 +321,7 @@ retry:
base.VisitTagHelper(node);
}
private string ToString(IntermediateNode? node)
private string ToString(IntermediateNode node)
{
return _txt.Substring(node.Source.Value.AbsoluteIndex, node.Source.Value.Length);
}

View File

@ -10,14 +10,13 @@ services:
context: ..
dockerfile: BTCPayServer.Tests/Dockerfile
args:
CONFIGURATION_NAME: Altcoins-Release
CONFIGURATION_NAME: Release
environment:
TESTS_EXPERIMENTALV2_CONFIRM: "true"
TESTS_BTCRPCCONNECTION: server=http://bitcoind:43782;ceiwHEbqWI83:DwubwWsoo3
TESTS_LTCRPCCONNECTION: server=http://litecoind:43782;ceiwHEbqWI83:DwubwWsoo3
TESTS_BTCNBXPLORERURL: http://nbxplorer:32838/
TESTS_LTCNBXPLORERURL: http://nbxplorer:32838/
TESTS_DB: "Postgres"
TESTS_POSTGRES: User ID=postgres;Include Error Detail=true;Host=postgres;Port=5432;Database=btcpayserver
TESTS_EXPLORER_POSTGRES: User ID=postgres;Include Error Detail=true;Host=postgres;Port=5432;Database=nbxplorer
TESTS_HOSTNAME: tests

View File

@ -15,7 +15,6 @@ services:
TESTS_EXPERIMENTALV2_CONFIRM: "true"
TESTS_BTCRPCCONNECTION: server=http://bitcoind:43782;ceiwHEbqWI83:DwubwWsoo3
TESTS_BTCNBXPLORERURL: http://nbxplorer:32838/
TESTS_DB: "Postgres"
TESTS_POSTGRES: User ID=postgres;Include Error Detail=true;Host=postgres;Port=5432;Database=btcpayserver
TESTS_EXPLORER_POSTGRES: User ID=postgres;Include Error Detail=true;Host=postgres;Port=5432;Database=nbxplorer
TESTS_HOSTNAME: tests

View File

@ -36,15 +36,6 @@
<None Remove="Currencies.txt" />
</ItemGroup>
<ItemGroup Condition="'$(Altcoins)' != 'true'">
<Content Remove="Services\Altcoins\**\*" />
<Compile Remove="Plugins\Altcoins\**\*" />
<Content Remove="Views\UIMoneroLikeStore\**\*" />
<Content Remove="Views\UIZcashLikeStore\**\*" />
<Content Remove="Views\Shared\Monero\**\*" />
<Content Remove="Views\Shared\Zcash\**\*" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="BTCPayServer.NTag424" Version="1.0.23" />
<PackageReference Include="YamlDotNet" Version="8.0.0" />

View File

@ -66,9 +66,6 @@ namespace BTCPayServer.Components.MainNav
Store = store,
ContactUrl = serverSettings.ContactUrl
};
#if ALTCOINS
vm.AltcoinsBuild = true;
#endif
if (store != null)
{
var storeBlob = store.GetStoreBlob();

View File

@ -10,7 +10,6 @@ namespace BTCPayServer.Components.MainNav
public List<StoreDerivationScheme> DerivationSchemes { get; set; }
public List<StoreLightningNode> LightningNodes { get; set; }
public List<StoreApp> Apps { get; set; }
public bool AltcoinsBuild { get; set; }
public int ArchivedAppsCount { get; set; }
public string ContactUrl { get; set; }
public string UserName { get; set; }

View File

@ -163,10 +163,10 @@ namespace BTCPayServer.Configuration
var services = new PluginServiceCollection(collection, Startup.CreateBootstrap(conf));
var p1 = new BitcoinPlugin();
p1.Execute(services);
#if ALTCOINS
var p2 = new Plugins.Altcoins.AltcoinsPlugin();
p2.Execute(services);
#endif
services.AddSingleton(services.BootstrapServices.GetRequiredService<SelectedChains>());
services.AddSingleton(services.BootstrapServices.GetRequiredService<NBXplorerNetworkProvider>());
services.AddSingleton(services.BootstrapServices.GetRequiredService<Logs>());

View File

@ -858,11 +858,6 @@ namespace BTCPayServer.Controllers
Request.Host,
Request.PathBase) : null;
var isAltcoinsBuild = false;
#if ALTCOINS
isAltcoinsBuild = true;
#endif
var orderId = invoice.Metadata.OrderId;
var supportUrl = !string.IsNullOrEmpty(storeBlob.StoreSupportUrl)
? storeBlob.StoreSupportUrl
@ -870,11 +865,6 @@ namespace BTCPayServer.Controllers
.Replace("{InvoiceId}", Uri.EscapeDataString(invoice.Id))
: null;
string GetPaymentMethodName(PaymentMethodId paymentMethodId)
{
_paymentModelExtensions.TryGetValue(paymentMethodId, out var extension);
return extension?.DisplayName ?? paymentMethodId.ToString();
}
string GetPaymentMethodImage(PaymentMethodId paymentMethodId)
{
_paymentModelExtensions.TryGetValue(paymentMethodId, out var extension);
@ -883,7 +873,7 @@ namespace BTCPayServer.Controllers
var model = new PaymentModel
{
Activated = prompt.Activated,
PaymentMethodName = GetPaymentMethodName(paymentMethodId),
PaymentMethodName = _prettyName.PrettyName(paymentMethodId),
CryptoCode = prompt.Currency,
RootPath = Request.PathBase.Value.WithTrailingSlash(),
OrderId = orderId,
@ -939,15 +929,12 @@ namespace BTCPayServer.Controllers
.Select(kv =>
{
var handler = _handlers[kv.PaymentMethodId];
var pmName = GetPaymentMethodName(kv.PaymentMethodId);
return new PaymentModel.AvailableCrypto
{
Displayed = displayedPaymentMethods.Contains(kv.PaymentMethodId),
PaymentMethodId = kv.PaymentMethodId.ToString(),
CryptoCode = kv.Currency,
PaymentMethodName = isAltcoinsBuild
? pmName
: pmName.Replace("Bitcoin (", "").Replace(")", "").Replace("Lightning ", ""),
PaymentMethodName = _prettyName.PrettyName(kv.PaymentMethodId),
IsLightning = handler is ILightningPaymentHandler,
CryptoImage = Request.GetRelativePathOrAbsolute(GetPaymentMethodImage(kv.PaymentMethodId)),
Link = Url.Action(nameof(Checkout),

View File

@ -64,6 +64,7 @@ namespace BTCPayServer.Controllers
private readonly TransactionLinkProviders _transactionLinkProviders;
private readonly Dictionary<PaymentMethodId, IPaymentModelExtension> _paymentModelExtensions;
private readonly PaymentMethodViewProvider _viewProvider;
private readonly PrettyNameProvider _prettyName;
private readonly AppService _appService;
private readonly IFileService _fileService;
private readonly UriResolver _uriResolver;
@ -98,7 +99,8 @@ namespace BTCPayServer.Controllers
IAuthorizationService authorizationService,
TransactionLinkProviders transactionLinkProviders,
Dictionary<PaymentMethodId, IPaymentModelExtension> paymentModelExtensions,
PaymentMethodViewProvider viewProvider)
PaymentMethodViewProvider viewProvider,
PrettyNameProvider prettyName)
{
_displayFormatter = displayFormatter;
_CurrencyNameTable = currencyNameTable ?? throw new ArgumentNullException(nameof(currencyNameTable));
@ -123,6 +125,7 @@ namespace BTCPayServer.Controllers
_transactionLinkProviders = transactionLinkProviders;
_paymentModelExtensions = paymentModelExtensions;
_viewProvider = viewProvider;
_prettyName = prettyName;
_fileService = fileService;
_uriResolver = uriResolver;
_defaultRules = defaultRules;

View File

@ -141,7 +141,6 @@ public partial class UIStoresController
{
var strategy = derivationByCryptoCode.TryGet(network.CryptoCode);
var value = strategy?.ToPrettyString() ?? string.Empty;
derivationSchemes.Add(new StoreDerivationScheme
{
Crypto = network.CryptoCode,
@ -150,9 +149,8 @@ public partial class UIStoresController
Value = value,
WalletId = new WalletId(store.Id, network.CryptoCode),
Enabled = !excludeFilters.Match(handler.PaymentMethodId) && strategy != null,
#if ALTCOINS
Collapsed = network is Plugins.Altcoins.ElementsBTCPayNetwork elementsBTCPayNetwork && elementsBTCPayNetwork.NetworkCryptoCode != elementsBTCPayNetwork.CryptoCode && string.IsNullOrEmpty(value)
#endif
Collapsed = network is Plugins.Altcoins.ElementsBTCPayNetwork { IsNativeAsset : false } && string.IsNullOrEmpty(value)
});
}
else if (handler is LightningLikePaymentHandler)

View File

@ -401,12 +401,10 @@ namespace BTCPayServer.Controllers
{
var c = this.ExplorerClientProvider.GetExplorerClient(walletId.CryptoCode);
var cashCow = cheater.GetCashCow(walletId.CryptoCode);
#if ALTCOINS
if (walletId.CryptoCode == "LBTC")
{
await cashCow.SendCommandAsync("rescanblockchain");
}
#endif
var addresses = Enumerable.Range(0, 200).Select(_ => c.GetUnusedAsync(paymentMethod.AccountDerivation, DerivationFeature.Deposit, reserve: true)).ToArray();
await Task.WhenAll(addresses);

View File

@ -18,7 +18,6 @@ namespace BTCPayServer
return money.ToDecimal(MoneyUnit.BTC);
case MoneyBag mb:
return mb.Select(money => money.GetValue(network)).Sum();
#if ALTCOINS
case AssetMoney assetMoney:
if (network is BTCPayServer.Plugins.Altcoins.ElementsBTCPayNetwork elementsBTCPayNetwork)
{
@ -27,7 +26,6 @@ namespace BTCPayServer
: 0;
}
throw new NotSupportedException("IMoney type not supported");
#endif
default:
throw new NotSupportedException("IMoney type not supported");
}

View File

@ -71,19 +71,9 @@ using BTCPayServer.Payments.LNURLPay;
using System.Collections.Generic;
using BTCPayServer.Payouts;
using ExchangeSharp;
using Microsoft.Extensions.Localization;
using Microsoft.AspNetCore.Mvc.Localization;
#if ALTCOINS
using BTCPayServer.Services.Altcoins.Monero;
using BTCPayServer.Services.Altcoins.Zcash;
#endif
namespace BTCPayServer.Hosting
{
public static class BTCPayServerServices

View File

@ -1,8 +1,4 @@
#nullable enable
#if ALTCOINS
using BTCPayServer.Services.Altcoins.Monero.Payments;
using BTCPayServer.Services.Altcoins.Zcash.Payments;
#endif
namespace BTCPayServer.Payments
{

View File

@ -1,4 +1,3 @@
#if ALTCOINS
using System;
using System.Collections.Generic;
@ -19,4 +18,3 @@ namespace BTCPayServer.Services.Altcoins.Monero.Configuration
public string Password { get; set; }
}
}
#endif

View File

@ -1,4 +1,3 @@
#if ALTCOINS
using BTCPayServer.Payments;
namespace BTCPayServer.Services.Altcoins.Monero.Payments
@ -10,4 +9,3 @@ namespace BTCPayServer.Services.Altcoins.Monero.Payments
public long? InvoiceSettledConfirmationThreshold { get; set; }
}
}
#endif

View File

@ -1,4 +1,3 @@
#if ALTCOINS
using BTCPayServer.Client.Models;
using BTCPayServer.Payments;
using BTCPayServer.Plugins.Altcoins;
@ -23,4 +22,3 @@ namespace BTCPayServer.Services.Altcoins.Monero.Payments
}
}
}
#endif

View File

@ -1,4 +1,3 @@
#if ALTCOINS
using System;
using System.Collections.Generic;
using System.Globalization;
@ -129,4 +128,3 @@ namespace BTCPayServer.Services.Altcoins.Monero.Payments
}
}
}
#endif

View File

@ -1,4 +1,3 @@
#if ALTCOINS
#nullable enable
using System.Globalization;
using BTCPayServer.Payments;
@ -26,4 +25,3 @@ namespace BTCPayServer.Services.Altcoins.Monero.Payments
}
}
}
#endif

View File

@ -1,4 +1,3 @@
#if ALTCOINS
using BTCPayServer.Payments;
using Newtonsoft.Json;
@ -10,4 +9,3 @@ namespace BTCPayServer.Services.Altcoins.Monero.Payments
public long? InvoiceSettledConfirmationThreshold { get; set; }
}
}
#endif

View File

@ -1,4 +1,3 @@
#if ALTCOINS
using BTCPayServer.Filters;
using Microsoft.AspNetCore.Mvc;
@ -37,4 +36,3 @@ namespace BTCPayServer.Services.Altcoins.Monero.RPC
}
}
#endif

View File

@ -1,4 +1,3 @@
#if ALTCOINS
namespace BTCPayServer.Services.Altcoins.Monero.RPC
{
public class MoneroEvent
@ -14,4 +13,3 @@ namespace BTCPayServer.Services.Altcoins.Monero.RPC
}
}
}
#endif

View File

@ -1,4 +1,3 @@
#if ALTCOINS
using System;
using System.Threading;
using System.Threading.Tasks;
@ -69,4 +68,3 @@ namespace BTCPayServer.Services.Altcoins.Monero.Services
}
}
}
#endif

View File

@ -1,4 +1,3 @@
#if ALTCOINS
using System;
using System.Collections.Concurrent;
using System.Collections.Generic;
@ -409,4 +408,3 @@ namespace BTCPayServer.Services.Altcoins.Monero.Services
}
}
}
#endif

View File

@ -1,4 +1,3 @@
#if ALTCOINS
using System;
using System.Collections.Concurrent;
using System.Collections.Immutable;
@ -117,4 +116,3 @@ namespace BTCPayServer.Services.Altcoins.Monero.Services
}
}
}
#endif

View File

@ -1,4 +1,3 @@
#if ALTCOINS
using System.Collections.Generic;
using System.Linq;
using BTCPayServer.Abstractions.Contracts;
@ -43,4 +42,3 @@ namespace BTCPayServer.Services.Altcoins.Monero.Services
public MoneroRPCProvider.MoneroLikeSummary Summary { get; set; }
}
}
#endif

View File

@ -1,4 +1,3 @@
#if ALTCOINS
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
@ -393,4 +392,3 @@ namespace BTCPayServer.Services.Altcoins.Monero.UI
}
}
}
#endif

View File

@ -1,4 +1,3 @@
#if ALTCOINS
using System;
namespace BTCPayServer.Services.Altcoins.Monero.UI
@ -14,4 +13,3 @@ namespace BTCPayServer.Services.Altcoins.Monero.UI
public string TransactionLink { get; set; }
}
}
#endif

View File

@ -1,4 +1,3 @@
#if ALTCOINS
using System;
using System.Collections.Generic;
@ -17,4 +16,3 @@ namespace BTCPayServer.Services.Altcoins.Zcash.Configuration
public string WalletDirectory { get; set; }
}
}
#endif

View File

@ -1,4 +1,3 @@
#if ALTCOINS
using BTCPayServer.Client.Models;
using BTCPayServer.Payments;
using BTCPayServer.Plugins.Altcoins;
@ -20,4 +19,3 @@ namespace BTCPayServer.Services.Altcoins.Zcash.Payments
}
}
}
#endif

View File

@ -1,4 +1,3 @@
#if ALTCOINS
using System;
using System.Collections.Generic;
using System.Globalization;
@ -123,4 +122,3 @@ namespace BTCPayServer.Services.Altcoins.Zcash.Payments
}
}
}
#endif

View File

@ -1,4 +1,3 @@
#if ALTCOINS
#nullable enable
using System.Globalization;
using BTCPayServer.Payments;
@ -26,4 +25,3 @@ namespace BTCPayServer.Services.Altcoins.Zcash.Payments
}
}
}
#endif

View File

@ -1,4 +1,3 @@
#if ALTCOINS
using BTCPayServer.Payments;
using Newtonsoft.Json;
@ -9,4 +8,3 @@ namespace BTCPayServer.Services.Altcoins.Zcash.Payments
public long AccountIndex { get; set; }
}
}
#endif

View File

@ -1,4 +1,3 @@
#if ALTCOINS
using BTCPayServer.Payments;
namespace BTCPayServer.Services.Altcoins.Zcash.Payments
@ -10,4 +9,3 @@ namespace BTCPayServer.Services.Altcoins.Zcash.Payments
public string DepositAddress { get; set; }
}
}
#endif

View File

@ -1,4 +1,3 @@
#if ALTCOINS
using BTCPayServer.Filters;
using Microsoft.AspNetCore.Mvc;
@ -37,4 +36,3 @@ namespace BTCPayServer.Services.Altcoins.Zcash.RPC
}
}
#endif

View File

@ -1,4 +1,3 @@
#if ALTCOINS
namespace BTCPayServer.Services.Altcoins.Zcash.RPC
{
public class ZcashEvent
@ -14,4 +13,3 @@ namespace BTCPayServer.Services.Altcoins.Zcash.RPC
}
}
}
#endif

View File

@ -1,4 +1,3 @@
#if ALTCOINS
using System;
using System.Threading;
using System.Threading.Tasks;
@ -70,4 +69,3 @@ namespace BTCPayServer.Services.Altcoins.Zcash.Services
}
}
}
#endif

View File

@ -1,4 +1,3 @@
#if ALTCOINS
using System;
using System.Collections.Concurrent;
using System.Collections.Generic;
@ -397,4 +396,3 @@ namespace BTCPayServer.Services.Altcoins.Zcash.Services
}
}
}
#endif

View File

@ -1,4 +1,3 @@
#if ALTCOINS
using System;
using System.Collections.Concurrent;
using System.Collections.Immutable;
@ -122,4 +121,3 @@ namespace BTCPayServer.Services.Altcoins.Zcash.Services
}
}
}
#endif

View File

@ -1,4 +1,3 @@
#if ALTCOINS
using System.Collections.Generic;
using System.Linq;
using BTCPayServer.Abstractions.Contracts;
@ -43,4 +42,3 @@ namespace BTCPayServer.Services.Altcoins.Zcash.Services
public ZcashRPCProvider.ZcashLikeSummary Summary { get; set; }
}
}
#endif

View File

@ -1,4 +1,3 @@
#if ALTCOINS
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
@ -308,4 +307,3 @@ namespace BTCPayServer.Services.Altcoins.Zcash.UI
}
}
}
#endif

View File

@ -1,4 +1,3 @@
#if ALTCOINS
using System;
namespace BTCPayServer.Services.Altcoins.Zcash.UI
@ -14,4 +13,3 @@ namespace BTCPayServer.Services.Altcoins.Zcash.UI
public string TransactionLink { get; set; }
}
}
#endif

View File

@ -25,11 +25,6 @@ namespace BTCPayServer.Services
#else
Build = "Release";
#endif
#if ALTCOINS
AltcoinsVersion = true;
#else
AltcoinsVersion = false;
#endif
Environment = env;
NetworkType = provider.NetworkType;
@ -60,7 +55,6 @@ namespace BTCPayServer.Services
{
get; set;
}
public bool AltcoinsVersion { get; set; }
public bool IsDeveloping
{
@ -86,8 +80,6 @@ namespace BTCPayServer.Services
txt.Append(CultureInfo.InvariantCulture, $"© BTCPay Server v{Version}");
if (Commit != null)
txt.Append($"+{Commit}");
if (AltcoinsVersion)
txt.Append(" (Altcoins)");
if (!Environment.IsProduction() || !Build.Equals("Release", StringComparison.OrdinalIgnoreCase))
{
txt.Append(CultureInfo.InvariantCulture, $" Environment: {Environment.EnvironmentName} ({Build})");

View File

@ -34,7 +34,6 @@ namespace BTCPayServer.Services
async Task IHostedService.StartAsync(CancellationToken cancellationToken)
{
#if ALTCOINS
var liquid = _prov.GetNetwork("LBTC");
if (liquid is not null)
{
@ -56,7 +55,7 @@ namespace BTCPayServer.Services
}
}
}
#endif
await Task.WhenAll(_prov.GetAll().Select(o => o.Item2.RPCClient.ScanRPCCapabilitiesAsync()));
}

View File

@ -123,14 +123,8 @@ public class OnChainWalletReportProvider : ReportProvider
private string? GetAssetId(BTCPayNetwork network)
{
#if ALTCOINS
if (network is Plugins.Altcoins.ElementsBTCPayNetwork elNetwork)
{
if (elNetwork.CryptoCode == elNetwork.NetworkCryptoCode)
return "";
return elNetwork.AssetId.ToString();
}
#endif
return elNetwork.IsNativeAsset ? "" : elNetwork.AssetId.ToString();
return null;
}
}

View File

@ -9,26 +9,11 @@
</PropertyGroup>
<PropertyGroup>
<Configurations>Debug;Release;Altcoins-Release;Altcoins-Debug</Configurations>
<Configurations>Debug;Release</Configurations>
<Platforms>AnyCPU</Platforms>
</PropertyGroup>
<!-- Default similar to Debug/Release -->
<PropertyGroup Condition=" '$(Configuration)' == 'Altcoins-Release' ">
<Optimize Condition=" '$(Optimize)' == '' ">true</Optimize>
<Altcoins>true</Altcoins>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)' == 'Altcoins-Debug'">
<DefineConstants>$(DefineConstants);DEBUG</DefineConstants>
<Altcoins>true</Altcoins>
</PropertyGroup>
<!-- -->
<PropertyGroup Condition="( '$(Configuration)' == 'Debug' Or '$(Configuration)' == 'Altcoins-Debug') And '$(RazorCompileOnBuild)' != 'true' And '$(DotNetWatchBuild)' != 'true' And '$(DesignTimeBuild)' != 'true'">
<PropertyGroup Condition="'$(Configuration)' == 'Debug' And '$(RazorCompileOnBuild)' != 'true' And '$(DotNetWatchBuild)' != 'true' And '$(DesignTimeBuild)' != 'true'">
<RazorCompileOnBuild>false</RazorCompileOnBuild>
</PropertyGroup>
<PropertyGroup Condition="'$(Altcoins)' == 'true'">
<DefineConstants>$(DefineConstants);ALTCOINS</DefineConstants>
</PropertyGroup>
</Project>

View File

@ -34,12 +34,6 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BTCPayServer.PluginPacker",
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Altcoins-Debug|Any CPU = Altcoins-Debug|Any CPU
Altcoins-Debug|x64 = Altcoins-Debug|x64
Altcoins-Debug|x86 = Altcoins-Debug|x86
Altcoins-Release|Any CPU = Altcoins-Release|Any CPU
Altcoins-Release|x64 = Altcoins-Release|x64
Altcoins-Release|x86 = Altcoins-Release|x86
Debug|Any CPU = Debug|Any CPU
Debug|x64 = Debug|x64
Debug|x86 = Debug|x86
@ -48,18 +42,6 @@ Global
Release|x86 = Release|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{949A0870-8D8C-4DE5-8845-DDD560489177}.Altcoins-Debug|Any CPU.ActiveCfg = Altcoins-Debug|Any CPU
{949A0870-8D8C-4DE5-8845-DDD560489177}.Altcoins-Debug|Any CPU.Build.0 = Altcoins-Debug|Any CPU
{949A0870-8D8C-4DE5-8845-DDD560489177}.Altcoins-Debug|x64.ActiveCfg = Altcoins-Debug|Any CPU
{949A0870-8D8C-4DE5-8845-DDD560489177}.Altcoins-Debug|x64.Build.0 = Altcoins-Debug|Any CPU
{949A0870-8D8C-4DE5-8845-DDD560489177}.Altcoins-Debug|x86.ActiveCfg = Altcoins-Debug|Any CPU
{949A0870-8D8C-4DE5-8845-DDD560489177}.Altcoins-Debug|x86.Build.0 = Altcoins-Debug|Any CPU
{949A0870-8D8C-4DE5-8845-DDD560489177}.Altcoins-Release|Any CPU.ActiveCfg = Altcoins-Release|Any CPU
{949A0870-8D8C-4DE5-8845-DDD560489177}.Altcoins-Release|Any CPU.Build.0 = Altcoins-Release|Any CPU
{949A0870-8D8C-4DE5-8845-DDD560489177}.Altcoins-Release|x64.ActiveCfg = Altcoins-Release|Any CPU
{949A0870-8D8C-4DE5-8845-DDD560489177}.Altcoins-Release|x64.Build.0 = Altcoins-Release|Any CPU
{949A0870-8D8C-4DE5-8845-DDD560489177}.Altcoins-Release|x86.ActiveCfg = Altcoins-Release|Any CPU
{949A0870-8D8C-4DE5-8845-DDD560489177}.Altcoins-Release|x86.Build.0 = Altcoins-Release|Any CPU
{949A0870-8D8C-4DE5-8845-DDD560489177}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{949A0870-8D8C-4DE5-8845-DDD560489177}.Debug|Any CPU.Build.0 = Debug|Any CPU
{949A0870-8D8C-4DE5-8845-DDD560489177}.Debug|x64.ActiveCfg = Debug|Any CPU
@ -72,18 +54,6 @@ Global
{949A0870-8D8C-4DE5-8845-DDD560489177}.Release|x64.Build.0 = Release|Any CPU
{949A0870-8D8C-4DE5-8845-DDD560489177}.Release|x86.ActiveCfg = Release|Any CPU
{949A0870-8D8C-4DE5-8845-DDD560489177}.Release|x86.Build.0 = Release|Any CPU
{B373F439-6E75-4A94-985D-10A0C7C500D0}.Altcoins-Debug|Any CPU.ActiveCfg = Altcoins-Debug|Any CPU
{B373F439-6E75-4A94-985D-10A0C7C500D0}.Altcoins-Debug|Any CPU.Build.0 = Altcoins-Debug|Any CPU
{B373F439-6E75-4A94-985D-10A0C7C500D0}.Altcoins-Debug|x64.ActiveCfg = Altcoins-Debug|Any CPU
{B373F439-6E75-4A94-985D-10A0C7C500D0}.Altcoins-Debug|x64.Build.0 = Altcoins-Debug|Any CPU
{B373F439-6E75-4A94-985D-10A0C7C500D0}.Altcoins-Debug|x86.ActiveCfg = Altcoins-Debug|Any CPU
{B373F439-6E75-4A94-985D-10A0C7C500D0}.Altcoins-Debug|x86.Build.0 = Altcoins-Debug|Any CPU
{B373F439-6E75-4A94-985D-10A0C7C500D0}.Altcoins-Release|Any CPU.ActiveCfg = Altcoins-Release|Any CPU
{B373F439-6E75-4A94-985D-10A0C7C500D0}.Altcoins-Release|Any CPU.Build.0 = Altcoins-Release|Any CPU
{B373F439-6E75-4A94-985D-10A0C7C500D0}.Altcoins-Release|x64.ActiveCfg = Altcoins-Release|Any CPU
{B373F439-6E75-4A94-985D-10A0C7C500D0}.Altcoins-Release|x64.Build.0 = Altcoins-Release|Any CPU
{B373F439-6E75-4A94-985D-10A0C7C500D0}.Altcoins-Release|x86.ActiveCfg = Altcoins-Release|Any CPU
{B373F439-6E75-4A94-985D-10A0C7C500D0}.Altcoins-Release|x86.Build.0 = Altcoins-Release|Any CPU
{B373F439-6E75-4A94-985D-10A0C7C500D0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{B373F439-6E75-4A94-985D-10A0C7C500D0}.Debug|Any CPU.Build.0 = Debug|Any CPU
{B373F439-6E75-4A94-985D-10A0C7C500D0}.Debug|x64.ActiveCfg = Debug|Any CPU
@ -96,18 +66,6 @@ Global
{B373F439-6E75-4A94-985D-10A0C7C500D0}.Release|x64.Build.0 = Release|Any CPU
{B373F439-6E75-4A94-985D-10A0C7C500D0}.Release|x86.ActiveCfg = Release|Any CPU
{B373F439-6E75-4A94-985D-10A0C7C500D0}.Release|x86.Build.0 = Release|Any CPU
{6DC77459-D52F-45EE-B3F3-315043D33A1B}.Altcoins-Debug|Any CPU.ActiveCfg = Altcoins-Debug|Any CPU
{6DC77459-D52F-45EE-B3F3-315043D33A1B}.Altcoins-Debug|Any CPU.Build.0 = Altcoins-Debug|Any CPU
{6DC77459-D52F-45EE-B3F3-315043D33A1B}.Altcoins-Debug|x64.ActiveCfg = Altcoins-Debug|Any CPU
{6DC77459-D52F-45EE-B3F3-315043D33A1B}.Altcoins-Debug|x64.Build.0 = Altcoins-Debug|Any CPU
{6DC77459-D52F-45EE-B3F3-315043D33A1B}.Altcoins-Debug|x86.ActiveCfg = Altcoins-Debug|Any CPU
{6DC77459-D52F-45EE-B3F3-315043D33A1B}.Altcoins-Debug|x86.Build.0 = Altcoins-Debug|Any CPU
{6DC77459-D52F-45EE-B3F3-315043D33A1B}.Altcoins-Release|Any CPU.ActiveCfg = Altcoins-Release|Any CPU
{6DC77459-D52F-45EE-B3F3-315043D33A1B}.Altcoins-Release|Any CPU.Build.0 = Altcoins-Release|Any CPU
{6DC77459-D52F-45EE-B3F3-315043D33A1B}.Altcoins-Release|x64.ActiveCfg = Altcoins-Release|Any CPU
{6DC77459-D52F-45EE-B3F3-315043D33A1B}.Altcoins-Release|x64.Build.0 = Altcoins-Release|Any CPU
{6DC77459-D52F-45EE-B3F3-315043D33A1B}.Altcoins-Release|x86.ActiveCfg = Altcoins-Release|Any CPU
{6DC77459-D52F-45EE-B3F3-315043D33A1B}.Altcoins-Release|x86.Build.0 = Altcoins-Release|Any CPU
{6DC77459-D52F-45EE-B3F3-315043D33A1B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{6DC77459-D52F-45EE-B3F3-315043D33A1B}.Debug|Any CPU.Build.0 = Debug|Any CPU
{6DC77459-D52F-45EE-B3F3-315043D33A1B}.Debug|x64.ActiveCfg = Debug|Any CPU
@ -120,18 +78,6 @@ Global
{6DC77459-D52F-45EE-B3F3-315043D33A1B}.Release|x64.Build.0 = Release|Any CPU
{6DC77459-D52F-45EE-B3F3-315043D33A1B}.Release|x86.ActiveCfg = Release|Any CPU
{6DC77459-D52F-45EE-B3F3-315043D33A1B}.Release|x86.Build.0 = Release|Any CPU
{4BE42370-6114-4176-BFB3-37C6B6DA094D}.Altcoins-Debug|Any CPU.ActiveCfg = Altcoins-Debug|Any CPU
{4BE42370-6114-4176-BFB3-37C6B6DA094D}.Altcoins-Debug|Any CPU.Build.0 = Altcoins-Debug|Any CPU
{4BE42370-6114-4176-BFB3-37C6B6DA094D}.Altcoins-Debug|x64.ActiveCfg = Altcoins-Debug|Any CPU
{4BE42370-6114-4176-BFB3-37C6B6DA094D}.Altcoins-Debug|x64.Build.0 = Altcoins-Debug|Any CPU
{4BE42370-6114-4176-BFB3-37C6B6DA094D}.Altcoins-Debug|x86.ActiveCfg = Altcoins-Debug|Any CPU
{4BE42370-6114-4176-BFB3-37C6B6DA094D}.Altcoins-Debug|x86.Build.0 = Altcoins-Debug|Any CPU
{4BE42370-6114-4176-BFB3-37C6B6DA094D}.Altcoins-Release|Any CPU.ActiveCfg = Altcoins-Release|Any CPU
{4BE42370-6114-4176-BFB3-37C6B6DA094D}.Altcoins-Release|Any CPU.Build.0 = Altcoins-Release|Any CPU
{4BE42370-6114-4176-BFB3-37C6B6DA094D}.Altcoins-Release|x64.ActiveCfg = Altcoins-Release|Any CPU
{4BE42370-6114-4176-BFB3-37C6B6DA094D}.Altcoins-Release|x64.Build.0 = Altcoins-Release|Any CPU
{4BE42370-6114-4176-BFB3-37C6B6DA094D}.Altcoins-Release|x86.ActiveCfg = Altcoins-Release|Any CPU
{4BE42370-6114-4176-BFB3-37C6B6DA094D}.Altcoins-Release|x86.Build.0 = Altcoins-Release|Any CPU
{4BE42370-6114-4176-BFB3-37C6B6DA094D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{4BE42370-6114-4176-BFB3-37C6B6DA094D}.Debug|Any CPU.Build.0 = Debug|Any CPU
{4BE42370-6114-4176-BFB3-37C6B6DA094D}.Debug|x64.ActiveCfg = Debug|Any CPU
@ -144,18 +90,6 @@ Global
{4BE42370-6114-4176-BFB3-37C6B6DA094D}.Release|x64.Build.0 = Release|Any CPU
{4BE42370-6114-4176-BFB3-37C6B6DA094D}.Release|x86.ActiveCfg = Release|Any CPU
{4BE42370-6114-4176-BFB3-37C6B6DA094D}.Release|x86.Build.0 = Release|Any CPU
{4D7A865D-3945-4C70-9CC8-B09A274A697E}.Altcoins-Debug|Any CPU.ActiveCfg = Altcoins-Debug|Any CPU
{4D7A865D-3945-4C70-9CC8-B09A274A697E}.Altcoins-Debug|Any CPU.Build.0 = Altcoins-Debug|Any CPU
{4D7A865D-3945-4C70-9CC8-B09A274A697E}.Altcoins-Debug|x64.ActiveCfg = Altcoins-Debug|Any CPU
{4D7A865D-3945-4C70-9CC8-B09A274A697E}.Altcoins-Debug|x64.Build.0 = Altcoins-Debug|Any CPU
{4D7A865D-3945-4C70-9CC8-B09A274A697E}.Altcoins-Debug|x86.ActiveCfg = Altcoins-Debug|Any CPU
{4D7A865D-3945-4C70-9CC8-B09A274A697E}.Altcoins-Debug|x86.Build.0 = Altcoins-Debug|Any CPU
{4D7A865D-3945-4C70-9CC8-B09A274A697E}.Altcoins-Release|Any CPU.ActiveCfg = Altcoins-Release|Any CPU
{4D7A865D-3945-4C70-9CC8-B09A274A697E}.Altcoins-Release|Any CPU.Build.0 = Altcoins-Release|Any CPU
{4D7A865D-3945-4C70-9CC8-B09A274A697E}.Altcoins-Release|x64.ActiveCfg = Altcoins-Release|Any CPU
{4D7A865D-3945-4C70-9CC8-B09A274A697E}.Altcoins-Release|x64.Build.0 = Altcoins-Release|Any CPU
{4D7A865D-3945-4C70-9CC8-B09A274A697E}.Altcoins-Release|x86.ActiveCfg = Altcoins-Release|Any CPU
{4D7A865D-3945-4C70-9CC8-B09A274A697E}.Altcoins-Release|x86.Build.0 = Altcoins-Release|Any CPU
{4D7A865D-3945-4C70-9CC8-B09A274A697E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{4D7A865D-3945-4C70-9CC8-B09A274A697E}.Debug|Any CPU.Build.0 = Debug|Any CPU
{4D7A865D-3945-4C70-9CC8-B09A274A697E}.Debug|x64.ActiveCfg = Debug|Any CPU
@ -168,18 +102,6 @@ Global
{4D7A865D-3945-4C70-9CC8-B09A274A697E}.Release|x64.Build.0 = Release|Any CPU
{4D7A865D-3945-4C70-9CC8-B09A274A697E}.Release|x86.ActiveCfg = Release|Any CPU
{4D7A865D-3945-4C70-9CC8-B09A274A697E}.Release|x86.Build.0 = Release|Any CPU
{21A13304-7168-49A0-86C2-0A1A9453E9C7}.Altcoins-Debug|Any CPU.ActiveCfg = Debug|Any CPU
{21A13304-7168-49A0-86C2-0A1A9453E9C7}.Altcoins-Debug|Any CPU.Build.0 = Debug|Any CPU
{21A13304-7168-49A0-86C2-0A1A9453E9C7}.Altcoins-Debug|x64.ActiveCfg = Debug|Any CPU
{21A13304-7168-49A0-86C2-0A1A9453E9C7}.Altcoins-Debug|x64.Build.0 = Debug|Any CPU
{21A13304-7168-49A0-86C2-0A1A9453E9C7}.Altcoins-Debug|x86.ActiveCfg = Debug|Any CPU
{21A13304-7168-49A0-86C2-0A1A9453E9C7}.Altcoins-Debug|x86.Build.0 = Debug|Any CPU
{21A13304-7168-49A0-86C2-0A1A9453E9C7}.Altcoins-Release|Any CPU.ActiveCfg = Release|Any CPU
{21A13304-7168-49A0-86C2-0A1A9453E9C7}.Altcoins-Release|Any CPU.Build.0 = Release|Any CPU
{21A13304-7168-49A0-86C2-0A1A9453E9C7}.Altcoins-Release|x64.ActiveCfg = Release|Any CPU
{21A13304-7168-49A0-86C2-0A1A9453E9C7}.Altcoins-Release|x64.Build.0 = Release|Any CPU
{21A13304-7168-49A0-86C2-0A1A9453E9C7}.Altcoins-Release|x86.ActiveCfg = Release|Any CPU
{21A13304-7168-49A0-86C2-0A1A9453E9C7}.Altcoins-Release|x86.Build.0 = Release|Any CPU
{21A13304-7168-49A0-86C2-0A1A9453E9C7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{21A13304-7168-49A0-86C2-0A1A9453E9C7}.Debug|Any CPU.Build.0 = Debug|Any CPU
{21A13304-7168-49A0-86C2-0A1A9453E9C7}.Debug|x64.ActiveCfg = Debug|Any CPU
@ -192,18 +114,6 @@ Global
{21A13304-7168-49A0-86C2-0A1A9453E9C7}.Release|x64.Build.0 = Release|Any CPU
{21A13304-7168-49A0-86C2-0A1A9453E9C7}.Release|x86.ActiveCfg = Release|Any CPU
{21A13304-7168-49A0-86C2-0A1A9453E9C7}.Release|x86.Build.0 = Release|Any CPU
{A0D50BB6-FE2C-4671-8693-F7582B66178F}.Altcoins-Debug|Any CPU.ActiveCfg = Debug|Any CPU
{A0D50BB6-FE2C-4671-8693-F7582B66178F}.Altcoins-Debug|Any CPU.Build.0 = Debug|Any CPU
{A0D50BB6-FE2C-4671-8693-F7582B66178F}.Altcoins-Debug|x64.ActiveCfg = Debug|Any CPU
{A0D50BB6-FE2C-4671-8693-F7582B66178F}.Altcoins-Debug|x64.Build.0 = Debug|Any CPU
{A0D50BB6-FE2C-4671-8693-F7582B66178F}.Altcoins-Debug|x86.ActiveCfg = Debug|Any CPU
{A0D50BB6-FE2C-4671-8693-F7582B66178F}.Altcoins-Debug|x86.Build.0 = Debug|Any CPU
{A0D50BB6-FE2C-4671-8693-F7582B66178F}.Altcoins-Release|Any CPU.ActiveCfg = Debug|Any CPU
{A0D50BB6-FE2C-4671-8693-F7582B66178F}.Altcoins-Release|Any CPU.Build.0 = Debug|Any CPU
{A0D50BB6-FE2C-4671-8693-F7582B66178F}.Altcoins-Release|x64.ActiveCfg = Debug|Any CPU
{A0D50BB6-FE2C-4671-8693-F7582B66178F}.Altcoins-Release|x64.Build.0 = Debug|Any CPU
{A0D50BB6-FE2C-4671-8693-F7582B66178F}.Altcoins-Release|x86.ActiveCfg = Debug|Any CPU
{A0D50BB6-FE2C-4671-8693-F7582B66178F}.Altcoins-Release|x86.Build.0 = Debug|Any CPU
{A0D50BB6-FE2C-4671-8693-F7582B66178F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{A0D50BB6-FE2C-4671-8693-F7582B66178F}.Debug|Any CPU.Build.0 = Debug|Any CPU
{A0D50BB6-FE2C-4671-8693-F7582B66178F}.Debug|x64.ActiveCfg = Debug|Any CPU
@ -216,18 +126,6 @@ Global
{A0D50BB6-FE2C-4671-8693-F7582B66178F}.Release|x64.Build.0 = Release|Any CPU
{A0D50BB6-FE2C-4671-8693-F7582B66178F}.Release|x86.ActiveCfg = Release|Any CPU
{A0D50BB6-FE2C-4671-8693-F7582B66178F}.Release|x86.Build.0 = Release|Any CPU
{7DC94B25-1CFC-4170-AA41-7BA983E4C0B8}.Altcoins-Debug|Any CPU.ActiveCfg = Debug|Any CPU
{7DC94B25-1CFC-4170-AA41-7BA983E4C0B8}.Altcoins-Debug|Any CPU.Build.0 = Debug|Any CPU
{7DC94B25-1CFC-4170-AA41-7BA983E4C0B8}.Altcoins-Debug|x64.ActiveCfg = Debug|Any CPU
{7DC94B25-1CFC-4170-AA41-7BA983E4C0B8}.Altcoins-Debug|x64.Build.0 = Debug|Any CPU
{7DC94B25-1CFC-4170-AA41-7BA983E4C0B8}.Altcoins-Debug|x86.ActiveCfg = Debug|Any CPU
{7DC94B25-1CFC-4170-AA41-7BA983E4C0B8}.Altcoins-Debug|x86.Build.0 = Debug|Any CPU
{7DC94B25-1CFC-4170-AA41-7BA983E4C0B8}.Altcoins-Release|Any CPU.ActiveCfg = Debug|Any CPU
{7DC94B25-1CFC-4170-AA41-7BA983E4C0B8}.Altcoins-Release|Any CPU.Build.0 = Debug|Any CPU
{7DC94B25-1CFC-4170-AA41-7BA983E4C0B8}.Altcoins-Release|x64.ActiveCfg = Debug|Any CPU
{7DC94B25-1CFC-4170-AA41-7BA983E4C0B8}.Altcoins-Release|x64.Build.0 = Debug|Any CPU
{7DC94B25-1CFC-4170-AA41-7BA983E4C0B8}.Altcoins-Release|x86.ActiveCfg = Debug|Any CPU
{7DC94B25-1CFC-4170-AA41-7BA983E4C0B8}.Altcoins-Release|x86.Build.0 = Debug|Any CPU
{7DC94B25-1CFC-4170-AA41-7BA983E4C0B8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{7DC94B25-1CFC-4170-AA41-7BA983E4C0B8}.Debug|Any CPU.Build.0 = Debug|Any CPU
{7DC94B25-1CFC-4170-AA41-7BA983E4C0B8}.Debug|x64.ActiveCfg = Debug|Any CPU