Compare commits

..
Author SHA1 Message Date
JosephFerano 66424d9d6e Follow Up 2022-08-04 15:49:48 +07:00
JosephFerano c95f6c642d Shouldn't need this 2022-08-04 15:39:50 +07:00
JosephFerano 05291c2dbc Restock 2022-08-04 15:27:24 +07:00
11 changed files with 76 additions and 235 deletions

No files matched your search

+35
View File
@@ -125,6 +125,35 @@ let getUserInvites userIds =
|> Sql.executeAsync (fun read -> {| Username = read.string "display_name" ; DiscordId = read.string "inviter" |> uint64 ; TotalInvites = read.int "total_invites" |}) |> Sql.executeAsync (fun read -> {| Username = read.string "display_name" ; DiscordId = read.string "inviter" |> uint64 ; TotalInvites = read.int "total_invites" |})
|> Async.AwaitTask |> Async.AwaitTask
type MerrisItem =
| NuuPing = 0
| Noodles = 1
| Pizza = 2
let updateMerrisItem itemName amount =
let itemId =
match itemName with
| MerrisItem.Noodles -> "NOODLES"
| MerrisItem.Pizza -> "PIZZA"
| MerrisItem.NuuPing | _ -> "GRILLED_RAT"
GuildEnvironment.connectionString
|> Sql.connect
|> Sql.parameters [ "itemId" , Sql.string itemId ; "amount" , Sql.int amount ]
|> Sql.query "UPDATE mart_item SET stock = @amount WHERE id = @itemId"
|> Sql.executeNonQueryAsync
|> Async.AwaitTask
let restockMerris itemName amount (ctx : IDiscordContext) =
task {
do! Messaging.defer ctx
if amount > 0 && amount < 1000 then
do! updateMerrisItem itemName amount |> Async.Ignore
do! Messaging.sendFollowUpMessage ctx $"Restocked {itemName} by {amount}"
else
do! Messaging.sendFollowUpMessage ctx $"Provide a restock amount between 0 and 1000"
} :> Task
let getUsersFromMessageReactions (channel : DiscordChannel) (message : string) (ctx : IDiscordContext) = let getUsersFromMessageReactions (channel : DiscordChannel) (message : string) (ctx : IDiscordContext) =
task { task {
do! Messaging.defer ctx do! Messaging.defer ctx
@@ -284,6 +313,12 @@ type AdminBot() =
member this.GetRaffleWinners (ctx : InteractionContext, [<Option("count", "How many winners to pick")>] count : int64) = member this.GetRaffleWinners (ctx : InteractionContext, [<Option("count", "How many winners to pick")>] count : int64) =
enforceAdmin (DiscordInteractionContext ctx) (getRaffleWinners count) enforceAdmin (DiscordInteractionContext ctx) (getRaffleWinners count)
[<SlashCommand("restock-merris", "Restock Merris Mart Item")>]
member this.ResstockMerris (ctx : InteractionContext,
[<Option("item-id", "Which item to restock")>] itemId : MerrisItem,
[<Option("amount", "How much to restock by")>] amount : int64) =
restockMerris itemId (int amount) (DiscordInteractionContext ctx)
// [<SlashCommand("admin-raffles-toggle", "Toggle availability of an item")>] // [<SlashCommand("admin-raffles-toggle", "Toggle availability of an item")>]
// member this.ToggleRaffle (ctx : InteractionContext, [<Option("enabled", "Enable or Disable?")>] enable : EnableDisable) = // member this.ToggleRaffle (ctx : InteractionContext, [<Option("enabled", "Enable or Disable?")>] enable : EnableDisable) =
// enforceAdmin (DiscordInteractionContext ctx) (toggleRaffleAvailability (enable = EnableDisable.Enable)) // enforceAdmin (DiscordInteractionContext ctx) (toggleRaffleAvailability (enable = EnableDisable.Enable))
+1
View File
@@ -59,6 +59,7 @@ let roleWhitelistPending = getId "ROLE_WHITELIST_PENDING"
let roleWhiteOGPending = getId "ROLE_WHITEOG_PENDING" let roleWhiteOGPending = getId "ROLE_WHITEOG_PENDING"
let roleWhitelist = getId "ROLE_WHITELIST" let roleWhitelist = getId "ROLE_WHITELIST"
let roleWhiteOG = getId "ROLE_WHITEOG" let roleWhiteOG = getId "ROLE_WHITEOG"
// let roleMod = getId "ROLE_MOD"
let roleAdmin = getId "ROLE_ADMIN" let roleAdmin = getId "ROLE_ADMIN"
let roleMagicEden = getId "ROLE_MAGICEDEN" let roleMagicEden = getId "ROLE_MAGICEDEN"
let roleRecruiter1x = getId "ROLE_RECRUITER_1X" let roleRecruiter1x = getId "ROLE_RECRUITER_1X"
-1
View File
@@ -8,4 +8,3 @@ mixpanel-csharp
Solnet.Rpc Solnet.Rpc
FsToolkit.ErrorHandling FsToolkit.ErrorHandling
FSharp.Data FSharp.Data
Newtonsoft.Json
-117
View File
@@ -1,117 +0,0 @@
module CurrencyAPI.App
open System
open System.IO
open Microsoft.AspNetCore.Builder
open Microsoft.AspNetCore.Hosting
open Microsoft.AspNetCore.Http
open Microsoft.Extensions.Hosting
open Microsoft.Extensions.Logging
open Microsoft.Extensions.DependencyInjection
open Giraffe
open dotenv.net
open Npgsql.FSharp
DotEnv.Load(DotEnvOptions(envFilePaths = [ "../.prod.env" ], overwriteExistingVars = false))
let connStr = Environment.GetEnvironmentVariable("DATABASE_URL")
.Replace("postgresql://", "postgres://")
.Replace("?sslmode=require", "")
let apiKey = Environment.GetEnvironmentVariable("API_KEY")
let validateApiKey (ctx : HttpContext) =
match ctx.TryGetRequestHeader "X-API-Key" with
| Some key -> apiKey.Equals key
| None -> false
let accessDenied = setStatusCode 401 >=> text "Access Denied"
let requiresApiKey = authorizeRequest validateApiKey accessDenied
let getCurrentBalance (discordId : string) =
task {
let! amounts =
connStr
|> Sql.connect
|> Sql.parameters [ "did" , Sql.string discordId ]
|> Sql.query """SELECT gbt FROM "user" WHERE discord_id = @did"""
|> Sql.executeAsync (fun r -> r.int "gbt")
match amounts with
| [] -> return Error "User not found"
| a::_ -> return Ok a
}
let get (discordId : string) : HttpHandler =
fun (next : HttpFunc) (ctx : HttpContext) ->
task {
try
match! getCurrentBalance discordId with
| Ok amount -> return! json {| Amount = amount |} next ctx
| Error e -> return! RequestErrors.notFound (json {| Error = e |}) next ctx
with ex ->
return! ServerErrors.internalError (json {| Error = ex.Message |}) next ctx
}
let modify sign (discordId : string) : HttpHandler =
fun (next : HttpFunc) (ctx : HttpContext) ->
task {
let! body = ctx.BindJsonAsync<{|Amount:int|}>()
match! getCurrentBalance discordId with
| Ok current ->
let amount = body.Amount * sign
if current + amount < 0 then
return! RequestErrors.badRequest (json {| Error = "Insufficient funds" |}) next ctx
else
try
let! _ =
connStr
|> Sql.connect
|> Sql.parameters [ "did" , Sql.string discordId ; "amount" , Sql.int amount ]
|> Sql.query """UPDATE "user" SET gbt = GREATEST(gbt + @amount, 0) WHERE discord_id = @did"""
|> Sql.executeNonQueryAsync
return! json {| NewBalance = current + amount |} next ctx
with ex -> return! RequestErrors.notFound (json {| Error = ex.Message |}) next ctx
| Error e -> return! RequestErrors.notFound (json {| Error = e |}) next ctx
}
let webApp =
choose [
GET >=> requiresApiKey >=> routef "/user/%s/balance" get
PATCH >=> requiresApiKey >=> routef "/user/%s/balance/withdraw" (modify -1)
PATCH >=> requiresApiKey >=> routef "/user/%s/balance/deposit" (modify +1)
RequestErrors.NOT_FOUND "Not Found" ]
let errorHandler (ex : Exception) (logger : ILogger) =
logger.LogError(ex, "An unhandled exception has occurred while executing the request.")
clearResponse >=> setStatusCode 500 >=> text ex.Message
let configureApp (app : IApplicationBuilder) =
let env = app.ApplicationServices.GetService<IWebHostEnvironment>()
if env.IsDevelopment() then
app.UseDeveloperExceptionPage()
else
app.UseGiraffeErrorHandler(errorHandler)
|> ignore
app.UseGiraffe(webApp)
let configureServices (services : IServiceCollection) =
services.AddGiraffe() |> ignore
let configureLogging (builder : ILoggingBuilder) =
builder.AddConsole()
.AddDebug() |> ignore
[<EntryPoint>]
let main args =
Host.CreateDefaultBuilder(args)
.ConfigureWebHostDefaults(
fun webHostBuilder ->
webHostBuilder
.ConfigureKestrel(fun opt ->
opt.AddServerHeader <- false)
.Configure(Action<IApplicationBuilder> configureApp)
.ConfigureServices(configureServices)
.ConfigureLogging(configureLogging)
|> ignore)
.Build()
.Run()
0
-19
View File
@@ -1,19 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<TargetFramework>net6.0</TargetFramework>
<AssemblyName>CurrencyAPI.App</AssemblyName>
<EnableDefaultContentItems>false</EnableDefaultContentItems>
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
</PropertyGroup>
<ItemGroup>
<Compile Include="Currency.fs" />
</ItemGroup>
<ItemGroup>
<None Include="web.config" CopyToOutputDirectory="PreserveNewest" />
<Content Include="WebRoot\**\*">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
</ItemGroup>
<Import Project="..\.paket\Paket.Restore.targets" />
</Project>
-5
View File
@@ -1,5 +0,0 @@
FSharp.Data
FSharp.Core
dotenv.net
Npgsql.FSharp
Giraffe
-9
View File
@@ -1,9 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.webServer>
<handlers>
<add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModuleV2" resourceType="Unspecified" />
</handlers>
<aspNetCore processPath="dotnet" arguments="CurrencyAPI.dll" stdoutLogEnabled="false" stdoutLogFile="logs/stdout" />
</system.webServer>
</configuration>
-6
View File
@@ -5,8 +5,6 @@ VisualStudioVersion = 16.0.30114.105
MinimumVisualStudioVersion = 10.0.40219.1 MinimumVisualStudioVersion = 10.0.40219.1
Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "Bot", "Bot\Bot.fsproj", "{FF9E58A6-1A1D-4DEC-B52D-265F215BF315}" Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "Bot", "Bot\Bot.fsproj", "{FF9E58A6-1A1D-4DEC-B52D-265F215BF315}"
EndProject EndProject
Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "CurrencyAPI", "CurrencyAPI\CurrencyAPI.fsproj", "{AFA1A9F3-625E-44CA-83DA-A50756D119B5}"
EndProject
Global Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU Debug|Any CPU = Debug|Any CPU
@@ -24,9 +22,5 @@ Global
{44151B85-0D17-4270-AD72-490A6D8D6290}.Debug|Any CPU.Build.0 = Debug|Any CPU {44151B85-0D17-4270-AD72-490A6D8D6290}.Debug|Any CPU.Build.0 = Debug|Any CPU
{44151B85-0D17-4270-AD72-490A6D8D6290}.Release|Any CPU.ActiveCfg = Release|Any CPU {44151B85-0D17-4270-AD72-490A6D8D6290}.Release|Any CPU.ActiveCfg = Release|Any CPU
{44151B85-0D17-4270-AD72-490A6D8D6290}.Release|Any CPU.Build.0 = Release|Any CPU {44151B85-0D17-4270-AD72-490A6D8D6290}.Release|Any CPU.Build.0 = Release|Any CPU
{AFA1A9F3-625E-44CA-83DA-A50756D119B5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{AFA1A9F3-625E-44CA-83DA-A50756D119B5}.Debug|Any CPU.Build.0 = Debug|Any CPU
{AFA1A9F3-625E-44CA-83DA-A50756D119B5}.Release|Any CPU.ActiveCfg = Release|Any CPU
{AFA1A9F3-625E-44CA-83DA-A50756D119B5}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection EndGlobalSection
EndGlobal EndGlobal
+6 -8
View File
@@ -8,18 +8,16 @@ COPY . .
RUN dotnet tool restore RUN dotnet tool restore
RUN dotnet restore "CurrencyAPI/CurrencyAPI.fsproj" RUN dotnet restore "Bot/Bot.fsproj"
WORKDIR "/src/CurrencyAPI/" WORKDIR "/src/Bot"
RUN dotnet build "CurrencyAPI.fsproj" -c Release -o /app/build RUN dotnet build "Bot.fsproj" -c Release -o /app/build
FROM build AS publish FROM build AS publish
RUN dotnet publish "CurrencyAPI.fsproj" -c Release -o /app/publish --no-restore RUN dotnet publish "Bot.fsproj" -c Release -o /app/publish
FROM mcr.microsoft.com/dotnet/aspnet:6.0 FROM base AS final
WORKDIR /app WORKDIR /app
COPY --from=publish /app/publish . COPY --from=publish /app/publish .
EXPOSE 80 ENTRYPOINT "./Bot"
EXPOSE 443
ENTRYPOINT [ "dotnet", "./CurrencyAPI.App.dll" ]
+3 -5
View File
@@ -5,9 +5,9 @@ framework: net6.0, netstandard2.0, netstandard2.1
nuget FSharp.Core >= 6.0.0 nuget FSharp.Core >= 6.0.0
nuget DSharpPlus >= 4.3.0-nightly-01135 nuget DSharpPlus >= 4.3.0-nightly-01160
nuget DSharpPlus.Interactivity >= 4.3.0-nightly-01135 nuget DSharpPlus.Interactivity >= 4.3.0-nightly-01160
nuget DSharpPlus.SlashCommands >= 4.3.0-nightly-01135 nuget DSharpPlus.SlashCommands >= 4.3.0-nightly-01160
nuget FSharp.Data nuget FSharp.Data
nuget FsToolkit.ErrorHandling nuget FsToolkit.ErrorHandling
@@ -18,5 +18,3 @@ nuget Solnet.Extensions
nuget Solnet.KeyStore nuget Solnet.KeyStore
nuget Solnet.Programs nuget Solnet.Programs
nuget Solnet.Rpc nuget Solnet.Rpc
nuget Giraffe
+31 -65
View File
@@ -6,7 +6,7 @@ NUGET
ConcurrentHashSet (1.3) ConcurrentHashSet (1.3)
dotenv.net (3.1.1) dotenv.net (3.1.1)
System.Memory (>= 4.5.4) - restriction: || (&& (== net6.0) (< netstandard2.0)) (&& (== net6.0) (< netstandard2.1)) (== netstandard2.0) (&& (== netstandard2.1) (< netstandard2.0)) System.Memory (>= 4.5.4) - restriction: || (&& (== net6.0) (< netstandard2.0)) (&& (== net6.0) (< netstandard2.1)) (== netstandard2.0) (&& (== netstandard2.1) (< netstandard2.0))
DSharpPlus (4.3.0-nightly-01135) DSharpPlus (4.3.0-nightly-01160)
Emzi0767.Common (>= 2.6.2) Emzi0767.Common (>= 2.6.2)
Microsoft.Extensions.Logging.Abstractions (>= 5.0) Microsoft.Extensions.Logging.Abstractions (>= 5.0)
Newtonsoft.Json (>= 13.0.1) Newtonsoft.Json (>= 13.0.1)
@@ -16,34 +16,22 @@ NUGET
System.Net.WebSockets.Client (>= 4.3.2) System.Net.WebSockets.Client (>= 4.3.2)
System.Runtime.InteropServices.RuntimeInformation (>= 4.3) System.Runtime.InteropServices.RuntimeInformation (>= 4.3)
System.Threading.Channels (>= 5.0) System.Threading.Channels (>= 5.0)
DSharpPlus.Interactivity (4.3.0-nightly-01135) DSharpPlus.Interactivity (4.3.0-nightly-01160)
ConcurrentHashSet (>= 1.1) ConcurrentHashSet (>= 1.1)
DSharpPlus (>= 4.3.0-nightly-01135) DSharpPlus (>= 4.3.0-nightly-01160)
DSharpPlus.SlashCommands (4.3.0-nightly-01135) DSharpPlus.SlashCommands (4.3.0-nightly-01160)
DSharpPlus (>= 4.3.0-nightly-01135) DSharpPlus (>= 4.3.0-nightly-01160)
Microsoft.Extensions.DependencyInjection (>= 5.0.1) Microsoft.Extensions.DependencyInjection (>= 5.0.1)
Emzi0767.Common (2.6.2) Emzi0767.Common (2.6.6)
System.Collections.Immutable (>= 5.0) System.Collections.Immutable (>= 6.0)
System.Memory (>= 4.5.4) System.Runtime.CompilerServices.Unsafe (>= 6.0)
System.Runtime.CompilerServices.Unsafe (>= 5.0) FSharp.Core (6.0.5)
System.ValueTuple (>= 4.5) FSharp.Data (4.2.9)
FSharp.Core (6.0.3) FSharp.Core (>= 5.0.1)
FSharp.Data (4.2.8)
FSharp.Core (>= 4.7.2)
FsToolkit.ErrorHandling (2.13) FsToolkit.ErrorHandling (2.13)
FSharp.Core (>= 4.7.2) FSharp.Core (>= 4.7.2)
Giraffe (6.0) Microsoft.Bcl.AsyncInterfaces (6.0) - restriction: || (&& (== net6.0) (>= net461)) (&& (== net6.0) (< netstandard2.1)) (== netstandard2.0) (&& (== netstandard2.1) (>= net461))
FSharp.Core (>= 6.0.1) - restriction: || (== net6.0) (&& (== netstandard2.0) (>= net6.0)) (&& (== netstandard2.1) (>= net6.0))
Giraffe.ViewEngine (>= 1.3) - restriction: || (== net6.0) (&& (== netstandard2.0) (>= net6.0)) (&& (== netstandard2.1) (>= net6.0))
Microsoft.IO.RecyclableMemoryStream (>= 2.2) - restriction: || (== net6.0) (&& (== netstandard2.0) (>= net6.0)) (&& (== netstandard2.1) (>= net6.0))
Newtonsoft.Json (>= 13.0.1) - restriction: || (== net6.0) (&& (== netstandard2.0) (>= net6.0)) (&& (== netstandard2.1) (>= net6.0))
System.Text.Json (>= 6.0.2) - restriction: || (== net6.0) (&& (== netstandard2.0) (>= net6.0)) (&& (== netstandard2.1) (>= net6.0))
Utf8Json (>= 1.3.7) - restriction: || (== net6.0) (&& (== netstandard2.0) (>= net6.0)) (&& (== netstandard2.1) (>= net6.0))
Giraffe.ViewEngine (1.4) - restriction: || (== net6.0) (&& (== netstandard2.0) (>= net6.0)) (&& (== netstandard2.1) (>= net6.0))
FSharp.Core (>= 5.0)
Microsoft.Bcl.AsyncInterfaces (6.0) - restriction: || (&& (== net6.0) (< netstandard2.1)) (== netstandard2.0)
System.Threading.Tasks.Extensions (>= 4.5.4) - restriction: || (&& (== net6.0) (>= net461)) (&& (== net6.0) (< netstandard2.1)) (== netstandard2.0) (&& (== netstandard2.1) (>= net461)) System.Threading.Tasks.Extensions (>= 4.5.4) - restriction: || (&& (== net6.0) (>= net461)) (&& (== net6.0) (< netstandard2.1)) (== netstandard2.0) (&& (== netstandard2.1) (>= net461))
Microsoft.Bcl.HashCode (1.1.1) - restriction: || (&& (== net6.0) (< netstandard2.1)) (== netstandard2.0)
Microsoft.Extensions.Configuration (6.0.1) - restriction: || (== net6.0) (&& (== netstandard2.0) (>= net6.0)) (&& (== netstandard2.1) (>= net6.0)) Microsoft.Extensions.Configuration (6.0.1) - restriction: || (== net6.0) (&& (== netstandard2.0) (>= net6.0)) (&& (== netstandard2.1) (>= net6.0))
Microsoft.Extensions.Configuration.Abstractions (>= 6.0) Microsoft.Extensions.Configuration.Abstractions (>= 6.0)
Microsoft.Extensions.Primitives (>= 6.0) Microsoft.Extensions.Primitives (>= 6.0)
@@ -95,8 +83,7 @@ NUGET
Microsoft.Extensions.Primitives (>= 6.0) Microsoft.Extensions.Primitives (>= 6.0)
Microsoft.Extensions.Primitives (6.0) - restriction: || (== net6.0) (&& (== netstandard2.0) (>= net6.0)) (&& (== netstandard2.1) (>= net6.0)) Microsoft.Extensions.Primitives (6.0) - restriction: || (== net6.0) (&& (== netstandard2.0) (>= net6.0)) (&& (== netstandard2.1) (>= net6.0))
System.Runtime.CompilerServices.Unsafe (>= 6.0) System.Runtime.CompilerServices.Unsafe (>= 6.0)
Microsoft.IO.RecyclableMemoryStream (2.2) - restriction: || (== net6.0) (&& (== netstandard2.0) (>= net6.0)) (&& (== netstandard2.1) (>= net6.0)) Microsoft.NETCore.Platforms (6.0.5)
Microsoft.NETCore.Platforms (6.0.2)
Microsoft.NETCore.Targets (5.0) Microsoft.NETCore.Targets (5.0)
Microsoft.Win32.Primitives (4.3) Microsoft.Win32.Primitives (4.3)
Microsoft.NETCore.Platforms (>= 1.1) Microsoft.NETCore.Platforms (>= 1.1)
@@ -104,24 +91,11 @@ NUGET
System.Runtime (>= 4.3) System.Runtime (>= 4.3)
mixpanel-csharp (5.0) mixpanel-csharp (5.0)
Newtonsoft.Json (13.0.1) Newtonsoft.Json (13.0.1)
Npgsql (6.0.3) Npgsql (6.0.5) - restriction: || (== net6.0) (&& (== netstandard2.0) (>= net6.0)) (&& (== netstandard2.1) (>= net6.0))
Microsoft.Bcl.AsyncInterfaces (>= 6.0) - restriction: || (&& (== net6.0) (< netstandard2.1)) (== netstandard2.0)
Microsoft.Bcl.HashCode (>= 1.1.1) - restriction: || (&& (== net6.0) (< netstandard2.1)) (== netstandard2.0)
System.Collections.Immutable (>= 6.0) - restriction: || (&& (== net6.0) (< netcoreapp3.1)) (&& (== net6.0) (< netstandard2.1)) (== netstandard2.0) (== netstandard2.1)
System.Diagnostics.DiagnosticSource (>= 6.0) - restriction: || (&& (== net6.0) (< net5.0)) (&& (== net6.0) (< netcoreapp3.1)) (&& (== net6.0) (< netstandard2.1)) (== netstandard2.0) (== netstandard2.1)
System.Memory (>= 4.5.4) - restriction: || (&& (== net6.0) (< netstandard2.1)) (== netstandard2.0)
System.Runtime.CompilerServices.Unsafe (>= 6.0) System.Runtime.CompilerServices.Unsafe (>= 6.0)
System.Text.Json (>= 6.0) - restriction: || (&& (== net6.0) (< netcoreapp3.1)) (&& (== net6.0) (< netstandard2.1)) (== netstandard2.0) (== netstandard2.1) Npgsql.FSharp (5.2)
System.Threading.Channels (>= 6.0) - restriction: || (&& (== net6.0) (< netcoreapp3.1)) (&& (== net6.0) (< netstandard2.1)) (== netstandard2.0) (== netstandard2.1) FSharp.Core (>= 6.0.2) - restriction: || (== net6.0) (&& (== netstandard2.0) (>= net6.0)) (&& (== netstandard2.1) (>= net6.0))
System.Threading.Tasks.Extensions (>= 4.5.4) - restriction: || (&& (== net6.0) (< netstandard2.1)) (== netstandard2.0) Npgsql (>= 6.0.5) - restriction: || (== net6.0) (&& (== netstandard2.0) (>= net6.0)) (&& (== netstandard2.1) (>= net6.0))
System.ValueTuple (>= 4.5) - restriction: || (&& (== net6.0) (< netstandard2.1)) (== netstandard2.0)
Npgsql.FSharp (4.1)
FSharp.Core (>= 4.7.2)
Npgsql (>= 5.0.3)
Ply (>= 0.3.1)
Ply (0.3.1)
FSharp.Core (>= 4.6.2)
System.Threading.Tasks.Extensions (>= 4.5.4)
Portable.BouncyCastle (1.9) - restriction: || (== net6.0) (&& (== netstandard2.0) (>= net6.0)) (&& (== netstandard2.1) (>= net6.0)) Portable.BouncyCastle (1.9) - restriction: || (== net6.0) (&& (== netstandard2.0) (>= net6.0)) (&& (== netstandard2.1) (>= net6.0))
runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3.3) runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3.3)
runtime.debian.9-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3.3) runtime.debian.9-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3.3)
@@ -166,21 +140,21 @@ NUGET
runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3.3) runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3.3)
runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3.3) runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3.3)
runtime.ubuntu.18.04-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3.3) runtime.ubuntu.18.04-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3.3)
Solnet.Extensions (6.0.11) Solnet.Extensions (6.1)
Solnet.Programs (>= 6.0.11) - restriction: || (== net6.0) (&& (== netstandard2.0) (>= net6.0)) (&& (== netstandard2.1) (>= net6.0)) Solnet.Programs (>= 6.1) - restriction: || (== net6.0) (&& (== netstandard2.0) (>= net6.0)) (&& (== netstandard2.1) (>= net6.0))
Solnet.Rpc (>= 6.0.11) - restriction: || (== net6.0) (&& (== netstandard2.0) (>= net6.0)) (&& (== netstandard2.1) (>= net6.0)) Solnet.Rpc (>= 6.1) - restriction: || (== net6.0) (&& (== netstandard2.0) (>= net6.0)) (&& (== netstandard2.1) (>= net6.0))
Solnet.Wallet (>= 6.0.11) - restriction: || (== net6.0) (&& (== netstandard2.0) (>= net6.0)) (&& (== netstandard2.1) (>= net6.0)) Solnet.Wallet (>= 6.1) - restriction: || (== net6.0) (&& (== netstandard2.0) (>= net6.0)) (&& (== netstandard2.1) (>= net6.0))
Solnet.KeyStore (6.0.11) Solnet.KeyStore (6.1)
Chaos.NaCl.Standard (>= 1.0) - restriction: || (== net6.0) (&& (== netstandard2.0) (>= net6.0)) (&& (== netstandard2.1) (>= net6.0)) Chaos.NaCl.Standard (>= 1.0) - restriction: || (== net6.0) (&& (== netstandard2.0) (>= net6.0)) (&& (== netstandard2.1) (>= net6.0))
Portable.BouncyCastle (>= 1.9) - restriction: || (== net6.0) (&& (== netstandard2.0) (>= net6.0)) (&& (== netstandard2.1) (>= net6.0)) Portable.BouncyCastle (>= 1.9) - restriction: || (== net6.0) (&& (== netstandard2.0) (>= net6.0)) (&& (== netstandard2.1) (>= net6.0))
Solnet.Wallet (>= 6.0.11) - restriction: || (== net6.0) (&& (== netstandard2.0) (>= net6.0)) (&& (== netstandard2.1) (>= net6.0)) Solnet.Wallet (>= 6.1) - restriction: || (== net6.0) (&& (== netstandard2.0) (>= net6.0)) (&& (== netstandard2.1) (>= net6.0))
Solnet.Programs (6.0.11) Solnet.Programs (6.1)
Solnet.Rpc (>= 6.0.11) - restriction: || (== net6.0) (&& (== netstandard2.0) (>= net6.0)) (&& (== netstandard2.1) (>= net6.0)) Solnet.Rpc (>= 6.1) - restriction: || (== net6.0) (&& (== netstandard2.0) (>= net6.0)) (&& (== netstandard2.1) (>= net6.0))
Solnet.Rpc (6.0.11) Solnet.Rpc (6.1)
Microsoft.Extensions.Logging (>= 6.0) - restriction: || (== net6.0) (&& (== netstandard2.0) (>= net6.0)) (&& (== netstandard2.1) (>= net6.0)) Microsoft.Extensions.Logging (>= 6.0) - restriction: || (== net6.0) (&& (== netstandard2.0) (>= net6.0)) (&& (== netstandard2.1) (>= net6.0))
Microsoft.Extensions.Logging.Console (>= 6.0) - restriction: || (== net6.0) (&& (== netstandard2.0) (>= net6.0)) (&& (== netstandard2.1) (>= net6.0)) Microsoft.Extensions.Logging.Console (>= 6.0) - restriction: || (== net6.0) (&& (== netstandard2.0) (>= net6.0)) (&& (== netstandard2.1) (>= net6.0))
Solnet.Wallet (>= 6.0.11) - restriction: || (== net6.0) (&& (== netstandard2.0) (>= net6.0)) (&& (== netstandard2.1) (>= net6.0)) Solnet.Wallet (>= 6.1) - restriction: || (== net6.0) (&& (== netstandard2.0) (>= net6.0)) (&& (== netstandard2.1) (>= net6.0))
Solnet.Wallet (6.0.11) - restriction: || (== net6.0) (&& (== netstandard2.0) (>= net6.0)) (&& (== netstandard2.1) (>= net6.0)) Solnet.Wallet (6.1) - restriction: || (== net6.0) (&& (== netstandard2.0) (>= net6.0)) (&& (== netstandard2.1) (>= net6.0))
Chaos.NaCl.Standard (>= 1.0) - restriction: || (== net6.0) (&& (== netstandard2.0) (>= net6.0)) (&& (== netstandard2.1) (>= net6.0)) Chaos.NaCl.Standard (>= 1.0) - restriction: || (== net6.0) (&& (== netstandard2.0) (>= net6.0)) (&& (== netstandard2.1) (>= net6.0))
Portable.BouncyCastle (>= 1.9) - restriction: || (== net6.0) (&& (== netstandard2.0) (>= net6.0)) (&& (== netstandard2.1) (>= net6.0)) Portable.BouncyCastle (>= 1.9) - restriction: || (== net6.0) (&& (== netstandard2.0) (>= net6.0)) (&& (== netstandard2.1) (>= net6.0))
System.Buffers (4.5.1) - restriction: || (&& (== net6.0) (>= monotouch)) (&& (== net6.0) (>= net461)) (&& (== net6.0) (< netcoreapp2.0) (< netstandard2.1)) (&& (== net6.0) (< netstandard1.1)) (&& (== net6.0) (< netstandard2.0)) (&& (== net6.0) (< netstandard2.1) (>= xamarinios)) (&& (== net6.0) (< netstandard2.1) (>= xamarinmac)) (&& (== net6.0) (< netstandard2.1) (>= xamarintvos)) (&& (== net6.0) (< netstandard2.1) (>= xamarinwatchos)) (== netstandard2.0) (== netstandard2.1) System.Buffers (4.5.1) - restriction: || (&& (== net6.0) (>= monotouch)) (&& (== net6.0) (>= net461)) (&& (== net6.0) (< netcoreapp2.0) (< netstandard2.1)) (&& (== net6.0) (< netstandard1.1)) (&& (== net6.0) (< netstandard2.0)) (&& (== net6.0) (< netstandard2.1) (>= xamarinios)) (&& (== net6.0) (< netstandard2.1) (>= xamarinmac)) (&& (== net6.0) (< netstandard2.1) (>= xamarintvos)) (&& (== net6.0) (< netstandard2.1) (>= xamarinwatchos)) (== netstandard2.0) (== netstandard2.1)
@@ -252,7 +226,7 @@ NUGET
System.Resources.ResourceManager (>= 4.3) System.Resources.ResourceManager (>= 4.3)
System.Runtime (>= 4.3) System.Runtime (>= 4.3)
System.Runtime.Extensions (>= 4.3) System.Runtime.Extensions (>= 4.3)
System.Memory (4.5.4) System.Memory (4.5.5)
System.Buffers (>= 4.5.1) - restriction: || (&& (== net6.0) (>= monotouch)) (&& (== net6.0) (>= net461)) (&& (== net6.0) (< netcoreapp2.0)) (&& (== net6.0) (< netstandard1.1)) (&& (== net6.0) (< netstandard2.0)) (&& (== net6.0) (>= xamarinios)) (&& (== net6.0) (>= xamarinmac)) (&& (== net6.0) (>= xamarintvos)) (&& (== net6.0) (>= xamarinwatchos)) (== netstandard2.0) (== netstandard2.1) System.Buffers (>= 4.5.1) - restriction: || (&& (== net6.0) (>= monotouch)) (&& (== net6.0) (>= net461)) (&& (== net6.0) (< netcoreapp2.0)) (&& (== net6.0) (< netstandard1.1)) (&& (== net6.0) (< netstandard2.0)) (&& (== net6.0) (>= xamarinios)) (&& (== net6.0) (>= xamarinmac)) (&& (== net6.0) (>= xamarintvos)) (&& (== net6.0) (>= xamarinwatchos)) (== netstandard2.0) (== netstandard2.1)
System.Numerics.Vectors (>= 4.4) - restriction: || (&& (== net6.0) (< netcoreapp2.0)) (== netstandard2.0) (== netstandard2.1) System.Numerics.Vectors (>= 4.4) - restriction: || (&& (== net6.0) (< netcoreapp2.0)) (== netstandard2.0) (== netstandard2.1)
System.Runtime.CompilerServices.Unsafe (>= 4.5.3) - restriction: || (&& (== net6.0) (>= monotouch)) (&& (== net6.0) (>= net461)) (&& (== net6.0) (< netcoreapp2.0)) (&& (== net6.0) (< netcoreapp2.1)) (&& (== net6.0) (< netstandard1.1)) (&& (== net6.0) (< netstandard2.0)) (&& (== net6.0) (>= uap10.1)) (&& (== net6.0) (>= xamarinios)) (&& (== net6.0) (>= xamarinmac)) (&& (== net6.0) (>= xamarintvos)) (&& (== net6.0) (>= xamarinwatchos)) (== netstandard2.0) (== netstandard2.1) System.Runtime.CompilerServices.Unsafe (>= 4.5.3) - restriction: || (&& (== net6.0) (>= monotouch)) (&& (== net6.0) (>= net461)) (&& (== net6.0) (< netcoreapp2.0)) (&& (== net6.0) (< netcoreapp2.1)) (&& (== net6.0) (< netstandard1.1)) (&& (== net6.0) (< netstandard2.0)) (&& (== net6.0) (>= uap10.1)) (&& (== net6.0) (>= xamarinios)) (&& (== net6.0) (>= xamarinmac)) (&& (== net6.0) (>= xamarintvos)) (&& (== net6.0) (>= xamarinwatchos)) (== netstandard2.0) (== netstandard2.1)
@@ -383,8 +357,6 @@ NUGET
System.IO (>= 4.3) System.IO (>= 4.3)
System.Reflection.Primitives (>= 4.3) System.Reflection.Primitives (>= 4.3)
System.Runtime (>= 4.3) System.Runtime (>= 4.3)
System.Reflection.Emit (4.7) - restriction: || (== net6.0) (&& (== netstandard2.0) (>= net6.0)) (&& (== netstandard2.1) (>= net6.0))
System.Reflection.Emit.Lightweight (4.7) - restriction: || (== net6.0) (&& (== netstandard2.0) (>= net6.0)) (&& (== netstandard2.1) (>= net6.0))
System.Reflection.Extensions (4.3) System.Reflection.Extensions (4.3)
Microsoft.NETCore.Platforms (>= 1.1) Microsoft.NETCore.Platforms (>= 1.1)
Microsoft.NETCore.Targets (>= 1.1) Microsoft.NETCore.Targets (>= 1.1)
@@ -534,7 +506,7 @@ NUGET
System.Text.Encoding (>= 4.3) System.Text.Encoding (>= 4.3)
System.Text.Encodings.Web (6.0) - restriction: || (== net6.0) (&& (== netstandard2.0) (>= net6.0)) (&& (== netstandard2.1) (>= net6.0)) System.Text.Encodings.Web (6.0) - restriction: || (== net6.0) (&& (== netstandard2.0) (>= net6.0)) (&& (== netstandard2.1) (>= net6.0))
System.Runtime.CompilerServices.Unsafe (>= 6.0) System.Runtime.CompilerServices.Unsafe (>= 6.0)
System.Text.Json (6.0.2) System.Text.Json (6.0.5) - restriction: || (== net6.0) (&& (== netstandard2.0) (>= net6.0)) (&& (== netstandard2.1) (>= net6.0))
System.Runtime.CompilerServices.Unsafe (>= 6.0) System.Runtime.CompilerServices.Unsafe (>= 6.0)
System.Text.Encodings.Web (>= 6.0) System.Text.Encodings.Web (>= 6.0)
System.Threading (4.3) System.Threading (4.3)
@@ -546,7 +518,7 @@ NUGET
Microsoft.NETCore.Platforms (>= 1.1) Microsoft.NETCore.Platforms (>= 1.1)
Microsoft.NETCore.Targets (>= 1.1) Microsoft.NETCore.Targets (>= 1.1)
System.Runtime (>= 4.3) System.Runtime (>= 4.3)
System.Threading.Tasks.Extensions (4.5.4) System.Threading.Tasks.Extensions (4.5.4) - restriction: || (&& (== net6.0) (>= net461)) (&& (== net6.0) (< netstandard2.1)) (== netstandard2.0) (&& (== netstandard2.1) (>= net461))
System.Runtime.CompilerServices.Unsafe (>= 4.5.3) - restriction: || (&& (== net6.0) (>= net461)) (&& (== net6.0) (< netcoreapp2.1)) (&& (== net6.0) (< netstandard1.0)) (&& (== net6.0) (< netstandard2.0)) (&& (== net6.0) (>= wp8)) (== netstandard2.0) (== netstandard2.1) System.Runtime.CompilerServices.Unsafe (>= 4.5.3) - restriction: || (&& (== net6.0) (>= net461)) (&& (== net6.0) (< netcoreapp2.1)) (&& (== net6.0) (< netstandard1.0)) (&& (== net6.0) (< netstandard2.0)) (&& (== net6.0) (>= wp8)) (== netstandard2.0) (== netstandard2.1)
System.Threading.ThreadPool (4.3) System.Threading.ThreadPool (4.3)
System.Runtime (>= 4.3) System.Runtime (>= 4.3)
@@ -555,9 +527,3 @@ NUGET
Microsoft.NETCore.Platforms (>= 1.1) Microsoft.NETCore.Platforms (>= 1.1)
Microsoft.NETCore.Targets (>= 1.1) Microsoft.NETCore.Targets (>= 1.1)
System.Runtime (>= 4.3) System.Runtime (>= 4.3)
System.ValueTuple (4.5)
Utf8Json (1.3.7) - restriction: || (== net6.0) (&& (== netstandard2.0) (>= net6.0)) (&& (== netstandard2.1) (>= net6.0))
System.Reflection.Emit (>= 4.3)
System.Reflection.Emit.Lightweight (>= 4.3)
System.Threading.Tasks.Extensions (>= 4.4)
System.ValueTuple (>= 4.4)