diff --git a/.run/Pack Test Extension.run.xml b/.run/Pack Test Extension.run.xml deleted file mode 100644 index ca96376de..000000000 --- a/.run/Pack Test Extension.run.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - - diff --git a/BTCPayServer/Properties/launchSettings.json b/BTCPayServer/Properties/launchSettings.json index deabba81b..477b0b177 100644 --- a/BTCPayServer/Properties/launchSettings.json +++ b/BTCPayServer/Properties/launchSettings.json @@ -27,7 +27,7 @@ "BTCPAY_SOCKSENDPOINT": "localhost:9050", "BTCPAY_UPDATEURL": "", "BTCPAY_DOCKERDEPLOYMENT": "true", - "BTCPAY_RECOMMENDED-PLUGINS": "BTCPayServer.Plugins.Test", + "BTCPAY_RECOMMENDED-PLUGINS": "", "BTCPAY_CHEATMODE": "true", "BTCPAY_EXPLORERPOSTGRES": "User ID=postgres;Include Error Detail=true;Host=127.0.0.1;Port=39372;Database=nbxplorer" }, @@ -64,7 +64,7 @@ "BTCPAY_TORRCFILE": "../BTCPayServer.Tests/TestData/Tor/torrc", "BTCPAY_SOCKSENDPOINT": "localhost:9050", "BTCPAY_DOCKERDEPLOYMENT": "true", - "BTCPAY_RECOMMENDED-PLUGINS": "BTCPayServer.Plugins.Test", + "BTCPAY_RECOMMENDED-PLUGINS": "", "BTCPAY_CHEATMODE": "true", "BTCPAY_EXPLORERPOSTGRES": "User ID=postgres;Include Error Detail=true;Host=127.0.0.1;Port=39372;Database=nbxplorer" }, @@ -103,7 +103,7 @@ "BTCPAY_TORRCFILE": "../BTCPayServer.Tests/TestData/Tor/torrc", "BTCPAY_SOCKSENDPOINT": "localhost:9050", "BTCPAY_DOCKERDEPLOYMENT": "true", - "BTCPAY_RECOMMENDED-PLUGINS": "BTCPayServer.Plugins.Test", + "BTCPAY_RECOMMENDED-PLUGINS": "", "BTCPAY_CHEATMODE": "true", "BTCPAY_EXPLORERPOSTGRES": "User ID=postgres;Include Error Detail=true;Host=127.0.0.1;Port=39372;Database=nbxplorer" }, diff --git a/Plugins/BTCPayServer.Plugins.Test/BTCPayServer.Plugins.Test.csproj b/Plugins/BTCPayServer.Plugins.Test/BTCPayServer.Plugins.Test.csproj deleted file mode 100644 index d0cfd8291..000000000 --- a/Plugins/BTCPayServer.Plugins.Test/BTCPayServer.Plugins.Test.csproj +++ /dev/null @@ -1,21 +0,0 @@ - - - net6.0 - true - false - true - 1.0.0 - - - - - - - - - - all - runtime; build; native; contentfiles; analyzers; buildtransitive - - - diff --git a/Plugins/BTCPayServer.Plugins.Test/Controllers/UITestExtensionController.cs b/Plugins/BTCPayServer.Plugins.Test/Controllers/UITestExtensionController.cs deleted file mode 100644 index 4c3fcb349..000000000 --- a/Plugins/BTCPayServer.Plugins.Test/Controllers/UITestExtensionController.cs +++ /dev/null @@ -1,35 +0,0 @@ -using System.Collections.Generic; -using System.Threading.Tasks; -using BTCPayServer.Plugins.Test.Data; -using BTCPayServer.Plugins.Test.Services; -using Microsoft.AspNetCore.Mvc; - -namespace BTCPayServer.Plugins.Test -{ - [Route("extensions/test")] - public class UITestExtensionController : Controller - { - private readonly TestPluginService _testPluginService; - - public UITestExtensionController(TestPluginService testPluginService) - { - _testPluginService = testPluginService; - } - - // GET - public async Task Index() - { - return View(new TestPluginPageViewModel() - { - Data = await _testPluginService.Get() - }); - } - - - } - - public class TestPluginPageViewModel - { - public List Data { get; set; } - } -} diff --git a/Plugins/BTCPayServer.Plugins.Test/Data/TestPluginData.cs b/Plugins/BTCPayServer.Plugins.Test/Data/TestPluginData.cs deleted file mode 100644 index 776ec80c9..000000000 --- a/Plugins/BTCPayServer.Plugins.Test/Data/TestPluginData.cs +++ /dev/null @@ -1,14 +0,0 @@ -using System; -using System.ComponentModel.DataAnnotations.Schema; - -namespace BTCPayServer.Plugins.Test.Data -{ - public class TestPluginData - { - [DatabaseGenerated(DatabaseGeneratedOption.Identity)] - public string Id { get; set; } - public DateTimeOffset Timestamp { get; set; } - - - } -} diff --git a/Plugins/BTCPayServer.Plugins.Test/Data/TestPluginDbContext.cs b/Plugins/BTCPayServer.Plugins.Test/Data/TestPluginDbContext.cs deleted file mode 100644 index 022bbb58e..000000000 --- a/Plugins/BTCPayServer.Plugins.Test/Data/TestPluginDbContext.cs +++ /dev/null @@ -1,46 +0,0 @@ -using System; -using System.Linq; -using BTCPayServer.Plugins.Test.Data; -using Microsoft.EntityFrameworkCore; - -namespace BTCPayServer.Plugins.Test -{ - public class TestPluginDbContext : DbContext - { - private readonly bool _designTime; - - public DbSet TestPluginRecords { get; set; } - - public TestPluginDbContext(DbContextOptions options, bool designTime = false) - : base(options) - { - _designTime = designTime; - } - - protected override void OnModelCreating(ModelBuilder modelBuilder) - { - base.OnModelCreating(modelBuilder); - modelBuilder.HasDefaultSchema("BTCPayServer.Plugins.Test"); - if (Database.IsSqlite() && !_designTime) - { - // SQLite does not have proper support for DateTimeOffset via Entity Framework Core, see the limitations - // here: https://docs.microsoft.com/en-us/ef/core/providers/sqlite/limitations#query-limitations - // To work around this, when the Sqlite database provider is used, all model properties of type DateTimeOffset - // use the DateTimeOffsetToBinaryConverter - // Based on: https://github.com/aspnet/EntityFrameworkCore/issues/10784#issuecomment-415769754 - // This only supports millisecond precision, but should be sufficient for most use cases. - foreach (var entityType in modelBuilder.Model.GetEntityTypes()) - { - var properties = entityType.ClrType.GetProperties().Where(p => p.PropertyType == typeof(DateTimeOffset)); - foreach (var property in properties) - { - modelBuilder - .Entity(entityType.Name) - .Property(property.Name) - .HasConversion(new Microsoft.EntityFrameworkCore.Storage.ValueConversion.DateTimeOffsetToBinaryConverter()); - } - } - } - } - } -} diff --git a/Plugins/BTCPayServer.Plugins.Test/Migrations/20201117154419_Init.cs b/Plugins/BTCPayServer.Plugins.Test/Migrations/20201117154419_Init.cs deleted file mode 100644 index 0af1b4cb8..000000000 --- a/Plugins/BTCPayServer.Plugins.Test/Migrations/20201117154419_Init.cs +++ /dev/null @@ -1,37 +0,0 @@ -using System; -using Microsoft.EntityFrameworkCore.Infrastructure; -using Microsoft.EntityFrameworkCore.Migrations; - -namespace BTCPayServer.Plugins.Test.Migrations -{ - [DbContext(typeof(TestPluginDbContext))] - [Migration("20201117154419_Init")] - public partial class Init : Migration - { - protected override void Up(MigrationBuilder migrationBuilder) - { - migrationBuilder.EnsureSchema( - name: "BTCPayServer.Plugins.Test"); - - migrationBuilder.CreateTable( - name: "TestPluginRecords", - schema: "BTCPayServer.Plugins.Test", - columns: table => new - { - Id = table.Column(nullable: false), - Timestamp = table.Column(nullable: false) - }, - constraints: table => - { - table.PrimaryKey("PK_TestPluginRecords", x => x.Id); - }); - } - - protected override void Down(MigrationBuilder migrationBuilder) - { - migrationBuilder.DropTable( - name: "TestPluginRecords", - schema: "BTCPayServer.Plugins.Test"); - } - } -} diff --git a/Plugins/BTCPayServer.Plugins.Test/Migrations/TestPluginDbContextModelSnapshot.cs b/Plugins/BTCPayServer.Plugins.Test/Migrations/TestPluginDbContextModelSnapshot.cs deleted file mode 100644 index d96cd7d03..000000000 --- a/Plugins/BTCPayServer.Plugins.Test/Migrations/TestPluginDbContextModelSnapshot.cs +++ /dev/null @@ -1,36 +0,0 @@ -// -using System; -using BTCPayServer.Plugins.Test; -using Microsoft.EntityFrameworkCore; -using Microsoft.EntityFrameworkCore.Infrastructure; -using Microsoft.EntityFrameworkCore.Storage.ValueConversion; - -namespace BTCPayServer.Plugins.Test.Migrations -{ - [DbContext(typeof(TestPluginDbContext))] - partial class TestPluginDbContextModelSnapshot : ModelSnapshot - { - protected override void BuildModel(ModelBuilder modelBuilder) - { -#pragma warning disable 612, 618 - modelBuilder - .HasDefaultSchema("BTCPayServer.Plugins.Test") - .HasAnnotation("ProductVersion", "3.1.10"); - - modelBuilder.Entity("BTCPayServer.Plugins.Test.Data.TestPluginData", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("TEXT"); - - b.Property("Timestamp") - .HasColumnType("TEXT"); - - b.HasKey("Id"); - - b.ToTable("TestPluginRecords"); - }); -#pragma warning restore 612, 618 - } - } -} diff --git a/Plugins/BTCPayServer.Plugins.Test/Resources/img/screengrab.png b/Plugins/BTCPayServer.Plugins.Test/Resources/img/screengrab.png deleted file mode 100644 index bb571a435..000000000 Binary files a/Plugins/BTCPayServer.Plugins.Test/Resources/img/screengrab.png and /dev/null differ diff --git a/Plugins/BTCPayServer.Plugins.Test/Services/ApplicationPartsLogger.cs b/Plugins/BTCPayServer.Plugins.Test/Services/ApplicationPartsLogger.cs deleted file mode 100644 index d7bbd57bc..000000000 --- a/Plugins/BTCPayServer.Plugins.Test/Services/ApplicationPartsLogger.cs +++ /dev/null @@ -1,44 +0,0 @@ -using System.Linq; -using System.Threading; -using System.Threading.Tasks; -using Microsoft.AspNetCore.Mvc.ApplicationParts; -using Microsoft.AspNetCore.Mvc.Controllers; -using Microsoft.Extensions.Hosting; -using Microsoft.Extensions.Logging; - -namespace BTCPayServer.Plugins.Test -{ - public class ApplicationPartsLogger : IHostedService - { - private readonly ILogger _logger; - private readonly ApplicationPartManager _partManager; - - public ApplicationPartsLogger(ILogger logger, ApplicationPartManager partManager) - { - _logger = logger; - _partManager = partManager; - } - - public Task StartAsync(CancellationToken cancellationToken) - { - // Get the names of all the application parts. This is the short assembly name for AssemblyParts - var applicationParts = _partManager.ApplicationParts.Select(x => x.Name); - - // Create a controller feature, and populate it from the application parts - var controllerFeature = new ControllerFeature(); - _partManager.PopulateFeature(controllerFeature); - - // Get the names of all of the controllers - var controllers = controllerFeature.Controllers.Select(x => x.Name); - - // Log the application parts and controllers - _logger.LogInformation("Found the following application parts: '{ApplicationParts}' with the following controllers: '{Controllers}'", - string.Join(", ", applicationParts), string.Join(", ", controllers)); - - return Task.CompletedTask; - } - - // Required by the interface - public Task StopAsync(CancellationToken cancellationToken) => Task.CompletedTask; - } -} diff --git a/Plugins/BTCPayServer.Plugins.Test/Services/TestPluginDbContextFactory.cs b/Plugins/BTCPayServer.Plugins.Test/Services/TestPluginDbContextFactory.cs deleted file mode 100644 index 204f54477..000000000 --- a/Plugins/BTCPayServer.Plugins.Test/Services/TestPluginDbContextFactory.cs +++ /dev/null @@ -1,37 +0,0 @@ -using BTCPayServer.Abstractions.Contracts; -using BTCPayServer.Abstractions.Models; -using Microsoft.EntityFrameworkCore; -using Microsoft.EntityFrameworkCore.Design; -using Microsoft.Extensions.Options; - -namespace BTCPayServer.Plugins.Test -{ - - public class DesignTimeDbContextFactory : IDesignTimeDbContextFactory - { - public TestPluginDbContext CreateDbContext(string[] args) - { - - var builder = new DbContextOptionsBuilder(); - - builder.UseSqlite("Data Source=temp.db"); - - return new TestPluginDbContext(builder.Options, true); - } - } - - public class TestPluginDbContextFactory : BaseDbContextFactory - { - public TestPluginDbContextFactory(IOptions options) : base(options, "BTCPayServer.Plugins.Test") - { - } - - public override TestPluginDbContext CreateContext() - { - var builder = new DbContextOptionsBuilder(); - ConfigureBuilder(builder); - return new TestPluginDbContext(builder.Options); - - } - } -} diff --git a/Plugins/BTCPayServer.Plugins.Test/Services/TestPluginService.cs b/Plugins/BTCPayServer.Plugins.Test/Services/TestPluginService.cs deleted file mode 100644 index 84aecd83b..000000000 --- a/Plugins/BTCPayServer.Plugins.Test/Services/TestPluginService.cs +++ /dev/null @@ -1,34 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Threading.Tasks; -using BTCPayServer.Plugins.Test.Data; -using Microsoft.EntityFrameworkCore; - -namespace BTCPayServer.Plugins.Test.Services -{ - public class TestPluginService - { - private readonly TestPluginDbContextFactory _testPluginDbContextFactory; - - public TestPluginService(TestPluginDbContextFactory testPluginDbContextFactory) - { - _testPluginDbContextFactory = testPluginDbContextFactory; - } - - public async Task AddTestDataRecord() - { - await using var context = _testPluginDbContextFactory.CreateContext(); - - await context.TestPluginRecords.AddAsync(new TestPluginData() { Timestamp = DateTimeOffset.UtcNow }); - await context.SaveChangesAsync(); - } - - - public async Task> Get() - { - await using var context = _testPluginDbContextFactory.CreateContext(); - - return await context.TestPluginRecords.ToListAsync(); - } - } -} diff --git a/Plugins/BTCPayServer.Plugins.Test/TestExtension.cs b/Plugins/BTCPayServer.Plugins.Test/TestExtension.cs deleted file mode 100644 index 1ee28a06d..000000000 --- a/Plugins/BTCPayServer.Plugins.Test/TestExtension.cs +++ /dev/null @@ -1,29 +0,0 @@ -using BTCPayServer.Abstractions.Contracts; -using BTCPayServer.Abstractions.Models; -using BTCPayServer.Abstractions.Services; -using BTCPayServer.Plugins.Test.Services; -using Microsoft.Extensions.DependencyInjection; - -namespace BTCPayServer.Plugins.Test -{ - public class TestPlugin : BaseBTCPayServerPlugin - { - public override string Identifier { get; } = "BTCPayServer.Plugins.Test"; - public override string Name { get; } = "Test Plugin!"; - public override string Description { get; } = "This is a description of the loaded test extension!"; - - public override void Execute(IServiceCollection services) - { - services.AddSingleton(new UIExtension("TestExtensionNavExtension", "header-nav")); - services.AddHostedService(); - services.AddHostedService(); - services.AddSingleton(); - services.AddSingleton(); - services.AddDbContext((provider, o) => - { - var factory = provider.GetRequiredService(); - factory.ConfigureBuilder(o); - }); - } - } -} diff --git a/Plugins/BTCPayServer.Plugins.Test/TestPluginMigrationRunner.cs b/Plugins/BTCPayServer.Plugins.Test/TestPluginMigrationRunner.cs deleted file mode 100644 index 07f0caaa6..000000000 --- a/Plugins/BTCPayServer.Plugins.Test/TestPluginMigrationRunner.cs +++ /dev/null @@ -1,44 +0,0 @@ -using System.Threading; -using System.Threading.Tasks; -using BTCPayServer.Abstractions.Contracts; -using BTCPayServer.Plugins.Test.Services; -using Microsoft.EntityFrameworkCore; -using Microsoft.Extensions.Hosting; - -namespace BTCPayServer.Plugins.Test; - -public class TestPluginMigrationRunner : IHostedService -{ - public class TestPluginDataMigrationHistory - { - public bool UpdatedSomething { get; set; } - } - private readonly TestPluginDbContextFactory _testPluginDbContextFactory; - private readonly ISettingsRepository _settingsRepository; - private readonly TestPluginService _testPluginService; - - public TestPluginMigrationRunner(TestPluginDbContextFactory testPluginDbContextFactory, ISettingsRepository settingsRepository, TestPluginService testPluginService) - { - _testPluginDbContextFactory = testPluginDbContextFactory; - _settingsRepository = settingsRepository; - _testPluginService = testPluginService; - } - public async Task StartAsync(CancellationToken cancellationToken) - { - var settings = await _settingsRepository.GetSettingAsync() ?? - new TestPluginDataMigrationHistory(); - await using var ctx = _testPluginDbContextFactory.CreateContext(); - await ctx.Database.MigrateAsync(cancellationToken: cancellationToken); - if (!settings.UpdatedSomething) - { - await _testPluginService.AddTestDataRecord(); - settings.UpdatedSomething = true; - await _settingsRepository.UpdateSetting(settings); - } - } - - public Task StopAsync(CancellationToken cancellationToken) - { - return Task.CompletedTask; - } -} diff --git a/Plugins/BTCPayServer.Plugins.Test/Views/Shared/TestExtensionNavExtension.cshtml b/Plugins/BTCPayServer.Plugins.Test/Views/Shared/TestExtensionNavExtension.cshtml deleted file mode 100644 index 28fc7a06c..000000000 --- a/Plugins/BTCPayServer.Plugins.Test/Views/Shared/TestExtensionNavExtension.cshtml +++ /dev/null @@ -1,2 +0,0 @@ - - diff --git a/Plugins/BTCPayServer.Plugins.Test/Views/UITestExtension/Index.cshtml b/Plugins/BTCPayServer.Plugins.Test/Views/UITestExtension/Index.cshtml deleted file mode 100644 index 24a7581ad..000000000 --- a/Plugins/BTCPayServer.Plugins.Test/Views/UITestExtension/Index.cshtml +++ /dev/null @@ -1,21 +0,0 @@ -@model BTCPayServer.Plugins.Test.TestPluginPageViewModel - -
-

Challenge Completed!!

- Here is also an image loaded from the plugin
- - - - -
-

Persisted Data

-

The following is data persisted to the configured database but in an isolated DbContext. Every time you start BTCPay Server with this plugin enabled, a timestamp is logged.

-
    - @foreach (var item in Model.Data) - { -
  • @item.Id at @item.Timestamp.ToString("F")
  • - } -
-
-
- diff --git a/Plugins/BTCPayServer.Plugins.Test/Views/_ViewImports.cshtml b/Plugins/BTCPayServer.Plugins.Test/Views/_ViewImports.cshtml deleted file mode 100644 index afa82bbf2..000000000 --- a/Plugins/BTCPayServer.Plugins.Test/Views/_ViewImports.cshtml +++ /dev/null @@ -1 +0,0 @@ -@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers diff --git a/btcpayserver.sln b/btcpayserver.sln index c76f4d441..3ade6449e 100644 --- a/btcpayserver.sln +++ b/btcpayserver.sln @@ -31,10 +31,6 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BTCPayServer.Client", "BTCP EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BTCPayServer.Abstractions", "BTCPayServer.Abstractions\BTCPayServer.Abstractions.csproj", "{A0D50BB6-FE2C-4671-8693-F7582B66178F}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BTCPayServer.Plugins.Test", "Plugins\BTCPayServer.Plugins.Test\BTCPayServer.Plugins.Test.csproj", "{545AFC8E-7BC2-43D9-84CA-F9468F4FF295}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Plugins", "Plugins", "{1FC7F660-ADF1-4D55-B61A-85C6AB083C33}" -EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BTCPayServer.PluginPacker", "BTCPayServer.PluginPacker\BTCPayServer.PluginPacker.csproj", "{7DC94B25-1CFC-4170-AA41-7BA983E4C0B8}" EndProject Global @@ -221,30 +217,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 - {545AFC8E-7BC2-43D9-84CA-F9468F4FF295}.Altcoins-Debug|Any CPU.ActiveCfg = Debug|Any CPU - {545AFC8E-7BC2-43D9-84CA-F9468F4FF295}.Altcoins-Debug|Any CPU.Build.0 = Debug|Any CPU - {545AFC8E-7BC2-43D9-84CA-F9468F4FF295}.Altcoins-Debug|x64.ActiveCfg = Debug|Any CPU - {545AFC8E-7BC2-43D9-84CA-F9468F4FF295}.Altcoins-Debug|x64.Build.0 = Debug|Any CPU - {545AFC8E-7BC2-43D9-84CA-F9468F4FF295}.Altcoins-Debug|x86.ActiveCfg = Debug|Any CPU - {545AFC8E-7BC2-43D9-84CA-F9468F4FF295}.Altcoins-Debug|x86.Build.0 = Debug|Any CPU - {545AFC8E-7BC2-43D9-84CA-F9468F4FF295}.Altcoins-Release|Any CPU.ActiveCfg = Debug|Any CPU - {545AFC8E-7BC2-43D9-84CA-F9468F4FF295}.Altcoins-Release|Any CPU.Build.0 = Debug|Any CPU - {545AFC8E-7BC2-43D9-84CA-F9468F4FF295}.Altcoins-Release|x64.ActiveCfg = Debug|Any CPU - {545AFC8E-7BC2-43D9-84CA-F9468F4FF295}.Altcoins-Release|x64.Build.0 = Debug|Any CPU - {545AFC8E-7BC2-43D9-84CA-F9468F4FF295}.Altcoins-Release|x86.ActiveCfg = Debug|Any CPU - {545AFC8E-7BC2-43D9-84CA-F9468F4FF295}.Altcoins-Release|x86.Build.0 = Debug|Any CPU - {545AFC8E-7BC2-43D9-84CA-F9468F4FF295}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {545AFC8E-7BC2-43D9-84CA-F9468F4FF295}.Debug|Any CPU.Build.0 = Debug|Any CPU - {545AFC8E-7BC2-43D9-84CA-F9468F4FF295}.Debug|x64.ActiveCfg = Debug|Any CPU - {545AFC8E-7BC2-43D9-84CA-F9468F4FF295}.Debug|x64.Build.0 = Debug|Any CPU - {545AFC8E-7BC2-43D9-84CA-F9468F4FF295}.Debug|x86.ActiveCfg = Debug|Any CPU - {545AFC8E-7BC2-43D9-84CA-F9468F4FF295}.Debug|x86.Build.0 = Debug|Any CPU - {545AFC8E-7BC2-43D9-84CA-F9468F4FF295}.Release|Any CPU.ActiveCfg = Release|Any CPU - {545AFC8E-7BC2-43D9-84CA-F9468F4FF295}.Release|Any CPU.Build.0 = Release|Any CPU - {545AFC8E-7BC2-43D9-84CA-F9468F4FF295}.Release|x64.ActiveCfg = Release|Any CPU - {545AFC8E-7BC2-43D9-84CA-F9468F4FF295}.Release|x64.Build.0 = Release|Any CPU - {545AFC8E-7BC2-43D9-84CA-F9468F4FF295}.Release|x86.ActiveCfg = Release|Any CPU - {545AFC8E-7BC2-43D9-84CA-F9468F4FF295}.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 @@ -274,8 +246,6 @@ Global HideSolutionNode = FALSE EndGlobalSection GlobalSection(NestedProjects) = preSolution - {545AFC8E-7BC2-43D9-84CA-F9468F4FF295} = {1FC7F660-ADF1-4D55-B61A-85C6AB083C33} - {7DC94B25-1CFC-4170-AA41-7BA983E4C0B8} = {1FC7F660-ADF1-4D55-B61A-85C6AB083C33} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {203A3162-BE45-4721-937D-6804E0E1AFF8}