Compare commits
14
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
61285d6bc4 | ||
|
|
3d1a863ab5 | ||
|
|
9e4a37baab | ||
|
|
f921d7b123 | ||
|
|
b86adff83d | ||
|
|
fc04e5f2b5 | ||
|
|
489a39c06a | ||
|
|
fab68a5d39 | ||
|
|
e00f3a865e | ||
|
|
2ac29d526c | ||
|
|
76a3351090 | ||
|
|
96a11721ac | ||
|
|
f6f37654a1 | ||
|
|
c704a21787 |
No files matched your search
@@ -125,35 +125,6 @@ let getUserInvites userIds =
|
||||
|> Sql.executeAsync (fun read -> {| Username = read.string "display_name" ; DiscordId = read.string "inviter" |> uint64 ; TotalInvites = read.int "total_invites" |})
|
||||
|> 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) =
|
||||
task {
|
||||
do! Messaging.defer ctx
|
||||
@@ -313,12 +284,6 @@ type AdminBot() =
|
||||
member this.GetRaffleWinners (ctx : InteractionContext, [<Option("count", "How many winners to pick")>] count : int64) =
|
||||
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")>]
|
||||
// member this.ToggleRaffle (ctx : InteractionContext, [<Option("enabled", "Enable or Disable?")>] enable : EnableDisable) =
|
||||
// enforceAdmin (DiscordInteractionContext ctx) (toggleRaffleAvailability (enable = EnableDisable.Enable))
|
||||
|
||||
+3
-3
@@ -154,14 +154,14 @@ let getRafflesWithPurchases storeId =
|
||||
|> Sql.connect
|
||||
|> Sql.parameters [ "sid" , Sql.string storeId ]
|
||||
|> Sql.query """
|
||||
WITH raffles AS
|
||||
WITH raffles AS
|
||||
(SELECT store_id,stock,available,limit_stock,i.id AS raffle_id,name,description,icon_url,image_url,category,require_role,require_invites,sale_end,rank,
|
||||
buy_price,sell_price,rate_limit,expiration,drop_chance,can_trade,can_consume,attack_power,defense_power,class_name,max_stack,mods
|
||||
FROM store_item
|
||||
JOIN item i on store_item.item_id = i.id
|
||||
WHERE store_id = @sid AND store_item.unlisted = false)
|
||||
SELECT * FROM raffles
|
||||
FULL JOIN (SELECT item_id, count(*) AS total FROM inventory_item
|
||||
SELECT * FROM raffles
|
||||
FULL JOIN (SELECT item_id, count(*) AS total FROM inventory_item
|
||||
WHERE item_id = ANY (SELECT raffle_id FROM raffles)
|
||||
GROUP BY item_id) total_raffles ON total_raffles.item_id = raffle_id;
|
||||
"""
|
||||
|
||||
@@ -76,7 +76,7 @@ let strengthBonus attacker defender =
|
||||
|> (*) 0.01
|
||||
|> (*) 200.0 // Bonus
|
||||
|> int
|
||||
|
||||
|
||||
let runHackerBattle defender (hack : HackItem) =
|
||||
defender
|
||||
|> Player.removeExpiredActions
|
||||
@@ -108,7 +108,7 @@ let updateCombatants successfulHack (attacker : PlayerData) (defender : PlayerDa
|
||||
DbService.addPlayerEvent defender.DiscordId (event true) ]
|
||||
|> Async.Parallel
|
||||
|> Async.Ignore
|
||||
|
||||
|
||||
let hackerResult successfulHack (ctx : IDiscordContext) attacker defender (hack : HackItem) =
|
||||
async {
|
||||
let prizeAmount , bonus =
|
||||
@@ -120,9 +120,9 @@ let hackerResult successfulHack (ctx : IDiscordContext) attacker defender (hack
|
||||
if hack.Power < int attacker.Bank
|
||||
then gbt hack.Power , 0<GBT>
|
||||
else attacker.Bank , 0<GBT>
|
||||
|
||||
|
||||
do! updateCombatants successfulHack attacker defender hack prizeAmount
|
||||
|
||||
|
||||
let! defenderMember = ctx.GetGuild().GetMemberAsync(defender.DiscordId) |> Async.AwaitTask
|
||||
let embed = Embeds.responseSuccessfulHack2 successfulHack attacker defender (ctx.GetDiscordMember()) defenderMember prizeAmount bonus hack
|
||||
do! ctx.GetChannel().SendMessageAsync(embed)
|
||||
@@ -368,7 +368,7 @@ type HackerGame() =
|
||||
[<SlashCommand("scan", "Find 5 targets connected to the network we can try to hack")>]
|
||||
member this.ScanCommand (ctx : InteractionContext) =
|
||||
enforceChannels (DiscordInteractionContext ctx) scan scan
|
||||
|
||||
|
||||
// [<SlashCommand("test-autocomplete", "Create a passive defense that will last 24 hours")>]
|
||||
member this.TestAutoComplete (ctx : InteractionContext) =
|
||||
async {
|
||||
@@ -377,4 +377,4 @@ type HackerGame() =
|
||||
do! ctx.Interaction.CreateResponseAsync(InteractionResponseType.ChannelMessageWithSource, builder)
|
||||
|> Async.AwaitTask
|
||||
} |> Async.StartAsTask
|
||||
:> Task
|
||||
:> Task
|
||||
@@ -59,7 +59,6 @@ let roleWhitelistPending = getId "ROLE_WHITELIST_PENDING"
|
||||
let roleWhiteOGPending = getId "ROLE_WHITEOG_PENDING"
|
||||
let roleWhitelist = getId "ROLE_WHITELIST"
|
||||
let roleWhiteOG = getId "ROLE_WHITEOG"
|
||||
// let roleMod = getId "ROLE_MOD"
|
||||
let roleAdmin = getId "ROLE_ADMIN"
|
||||
let roleMagicEden = getId "ROLE_MAGICEDEN"
|
||||
let roleRecruiter1x = getId "ROLE_RECRUITER_1X"
|
||||
|
||||
@@ -7,4 +7,5 @@ Npgsql.FSharp
|
||||
mixpanel-csharp
|
||||
Solnet.Rpc
|
||||
FsToolkit.ErrorHandling
|
||||
FSharp.Data
|
||||
FSharp.Data
|
||||
Newtonsoft.Json
|
||||
@@ -0,0 +1,117 @@
|
||||
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
|
||||
@@ -0,0 +1,19 @@
|
||||
<?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>
|
||||
@@ -0,0 +1,5 @@
|
||||
FSharp.Data
|
||||
FSharp.Core
|
||||
dotenv.net
|
||||
Npgsql.FSharp
|
||||
Giraffe
|
||||
@@ -0,0 +1,9 @@
|
||||
<?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>
|
||||
@@ -5,6 +5,8 @@ VisualStudioVersion = 16.0.30114.105
|
||||
MinimumVisualStudioVersion = 10.0.40219.1
|
||||
Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "Bot", "Bot\Bot.fsproj", "{FF9E58A6-1A1D-4DEC-B52D-265F215BF315}"
|
||||
EndProject
|
||||
Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "CurrencyAPI", "CurrencyAPI\CurrencyAPI.fsproj", "{AFA1A9F3-625E-44CA-83DA-A50756D119B5}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Any CPU = Debug|Any CPU
|
||||
@@ -22,5 +24,9 @@ Global
|
||||
{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.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
|
||||
EndGlobal
|
||||
+8
-6
@@ -8,16 +8,18 @@ COPY . .
|
||||
|
||||
RUN dotnet tool restore
|
||||
|
||||
RUN dotnet restore "Bot/Bot.fsproj"
|
||||
RUN dotnet restore "CurrencyAPI/CurrencyAPI.fsproj"
|
||||
|
||||
WORKDIR "/src/Bot"
|
||||
WORKDIR "/src/CurrencyAPI/"
|
||||
|
||||
RUN dotnet build "Bot.fsproj" -c Release -o /app/build
|
||||
RUN dotnet build "CurrencyAPI.fsproj" -c Release -o /app/build
|
||||
|
||||
FROM build AS publish
|
||||
RUN dotnet publish "Bot.fsproj" -c Release -o /app/publish
|
||||
RUN dotnet publish "CurrencyAPI.fsproj" -c Release -o /app/publish --no-restore
|
||||
|
||||
FROM base AS final
|
||||
FROM mcr.microsoft.com/dotnet/aspnet:6.0
|
||||
WORKDIR /app
|
||||
COPY --from=publish /app/publish .
|
||||
ENTRYPOINT "./Bot"
|
||||
EXPOSE 80
|
||||
EXPOSE 443
|
||||
ENTRYPOINT [ "dotnet", "./CurrencyAPI.App.dll" ]
|
||||
+6
-4
@@ -5,9 +5,9 @@ framework: net6.0, netstandard2.0, netstandard2.1
|
||||
|
||||
nuget FSharp.Core >= 6.0.0
|
||||
|
||||
nuget DSharpPlus >= 4.3.0-nightly-01160
|
||||
nuget DSharpPlus.Interactivity >= 4.3.0-nightly-01160
|
||||
nuget DSharpPlus.SlashCommands >= 4.3.0-nightly-01160
|
||||
nuget DSharpPlus >= 4.3.0-nightly-01135
|
||||
nuget DSharpPlus.Interactivity >= 4.3.0-nightly-01135
|
||||
nuget DSharpPlus.SlashCommands >= 4.3.0-nightly-01135
|
||||
nuget FSharp.Data
|
||||
nuget FsToolkit.ErrorHandling
|
||||
|
||||
@@ -17,4 +17,6 @@ nuget mixpanel-csharp 5.0.0
|
||||
nuget Solnet.Extensions
|
||||
nuget Solnet.KeyStore
|
||||
nuget Solnet.Programs
|
||||
nuget Solnet.Rpc
|
||||
nuget Solnet.Rpc
|
||||
|
||||
nuget Giraffe
|
||||
+65
-31
@@ -6,7 +6,7 @@ NUGET
|
||||
ConcurrentHashSet (1.3)
|
||||
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))
|
||||
DSharpPlus (4.3.0-nightly-01160)
|
||||
DSharpPlus (4.3.0-nightly-01135)
|
||||
Emzi0767.Common (>= 2.6.2)
|
||||
Microsoft.Extensions.Logging.Abstractions (>= 5.0)
|
||||
Newtonsoft.Json (>= 13.0.1)
|
||||
@@ -16,22 +16,34 @@ NUGET
|
||||
System.Net.WebSockets.Client (>= 4.3.2)
|
||||
System.Runtime.InteropServices.RuntimeInformation (>= 4.3)
|
||||
System.Threading.Channels (>= 5.0)
|
||||
DSharpPlus.Interactivity (4.3.0-nightly-01160)
|
||||
DSharpPlus.Interactivity (4.3.0-nightly-01135)
|
||||
ConcurrentHashSet (>= 1.1)
|
||||
DSharpPlus (>= 4.3.0-nightly-01160)
|
||||
DSharpPlus.SlashCommands (4.3.0-nightly-01160)
|
||||
DSharpPlus (>= 4.3.0-nightly-01160)
|
||||
DSharpPlus (>= 4.3.0-nightly-01135)
|
||||
DSharpPlus.SlashCommands (4.3.0-nightly-01135)
|
||||
DSharpPlus (>= 4.3.0-nightly-01135)
|
||||
Microsoft.Extensions.DependencyInjection (>= 5.0.1)
|
||||
Emzi0767.Common (2.6.6)
|
||||
System.Collections.Immutable (>= 6.0)
|
||||
System.Runtime.CompilerServices.Unsafe (>= 6.0)
|
||||
FSharp.Core (6.0.5)
|
||||
FSharp.Data (4.2.9)
|
||||
FSharp.Core (>= 5.0.1)
|
||||
Emzi0767.Common (2.6.2)
|
||||
System.Collections.Immutable (>= 5.0)
|
||||
System.Memory (>= 4.5.4)
|
||||
System.Runtime.CompilerServices.Unsafe (>= 5.0)
|
||||
System.ValueTuple (>= 4.5)
|
||||
FSharp.Core (6.0.3)
|
||||
FSharp.Data (4.2.8)
|
||||
FSharp.Core (>= 4.7.2)
|
||||
FsToolkit.ErrorHandling (2.13)
|
||||
FSharp.Core (>= 4.7.2)
|
||||
Microsoft.Bcl.AsyncInterfaces (6.0) - restriction: || (&& (== net6.0) (>= net461)) (&& (== net6.0) (< netstandard2.1)) (== netstandard2.0) (&& (== netstandard2.1) (>= net461))
|
||||
Giraffe (6.0)
|
||||
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))
|
||||
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.Abstractions (>= 6.0)
|
||||
Microsoft.Extensions.Primitives (>= 6.0)
|
||||
@@ -83,7 +95,8 @@ NUGET
|
||||
Microsoft.Extensions.Primitives (>= 6.0)
|
||||
Microsoft.Extensions.Primitives (6.0) - restriction: || (== net6.0) (&& (== netstandard2.0) (>= net6.0)) (&& (== netstandard2.1) (>= net6.0))
|
||||
System.Runtime.CompilerServices.Unsafe (>= 6.0)
|
||||
Microsoft.NETCore.Platforms (6.0.5)
|
||||
Microsoft.IO.RecyclableMemoryStream (2.2) - restriction: || (== net6.0) (&& (== netstandard2.0) (>= net6.0)) (&& (== netstandard2.1) (>= net6.0))
|
||||
Microsoft.NETCore.Platforms (6.0.2)
|
||||
Microsoft.NETCore.Targets (5.0)
|
||||
Microsoft.Win32.Primitives (4.3)
|
||||
Microsoft.NETCore.Platforms (>= 1.1)
|
||||
@@ -91,11 +104,24 @@ NUGET
|
||||
System.Runtime (>= 4.3)
|
||||
mixpanel-csharp (5.0)
|
||||
Newtonsoft.Json (13.0.1)
|
||||
Npgsql (6.0.5) - restriction: || (== net6.0) (&& (== netstandard2.0) (>= net6.0)) (&& (== netstandard2.1) (>= net6.0))
|
||||
Npgsql (6.0.3)
|
||||
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)
|
||||
Npgsql.FSharp (5.2)
|
||||
FSharp.Core (>= 6.0.2) - restriction: || (== net6.0) (&& (== netstandard2.0) (>= net6.0)) (&& (== netstandard2.1) (>= net6.0))
|
||||
Npgsql (>= 6.0.5) - restriction: || (== net6.0) (&& (== netstandard2.0) (>= net6.0)) (&& (== netstandard2.1) (>= net6.0))
|
||||
System.Text.Json (>= 6.0) - restriction: || (&& (== net6.0) (< netcoreapp3.1)) (&& (== net6.0) (< netstandard2.1)) (== netstandard2.0) (== netstandard2.1)
|
||||
System.Threading.Channels (>= 6.0) - restriction: || (&& (== net6.0) (< netcoreapp3.1)) (&& (== net6.0) (< netstandard2.1)) (== netstandard2.0) (== netstandard2.1)
|
||||
System.Threading.Tasks.Extensions (>= 4.5.4) - restriction: || (&& (== net6.0) (< netstandard2.1)) (== netstandard2.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))
|
||||
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)
|
||||
@@ -140,21 +166,21 @@ NUGET
|
||||
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.18.04-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3.3)
|
||||
Solnet.Extensions (6.1)
|
||||
Solnet.Programs (>= 6.1) - 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.1) - restriction: || (== net6.0) (&& (== netstandard2.0) (>= net6.0)) (&& (== netstandard2.1) (>= net6.0))
|
||||
Solnet.KeyStore (6.1)
|
||||
Solnet.Extensions (6.0.11)
|
||||
Solnet.Programs (>= 6.0.11) - 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.Wallet (>= 6.0.11) - restriction: || (== net6.0) (&& (== netstandard2.0) (>= net6.0)) (&& (== netstandard2.1) (>= net6.0))
|
||||
Solnet.KeyStore (6.0.11)
|
||||
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))
|
||||
Solnet.Wallet (>= 6.1) - restriction: || (== net6.0) (&& (== netstandard2.0) (>= net6.0)) (&& (== netstandard2.1) (>= net6.0))
|
||||
Solnet.Programs (6.1)
|
||||
Solnet.Rpc (>= 6.1) - restriction: || (== net6.0) (&& (== netstandard2.0) (>= net6.0)) (&& (== netstandard2.1) (>= net6.0))
|
||||
Solnet.Rpc (6.1)
|
||||
Solnet.Wallet (>= 6.0.11) - restriction: || (== net6.0) (&& (== netstandard2.0) (>= net6.0)) (&& (== netstandard2.1) (>= net6.0))
|
||||
Solnet.Programs (6.0.11)
|
||||
Solnet.Rpc (>= 6.0.11) - restriction: || (== net6.0) (&& (== netstandard2.0) (>= net6.0)) (&& (== netstandard2.1) (>= net6.0))
|
||||
Solnet.Rpc (6.0.11)
|
||||
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))
|
||||
Solnet.Wallet (>= 6.1) - 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.0.11) - 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))
|
||||
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)
|
||||
@@ -226,7 +252,7 @@ NUGET
|
||||
System.Resources.ResourceManager (>= 4.3)
|
||||
System.Runtime (>= 4.3)
|
||||
System.Runtime.Extensions (>= 4.3)
|
||||
System.Memory (4.5.5)
|
||||
System.Memory (4.5.4)
|
||||
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.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)
|
||||
@@ -357,6 +383,8 @@ NUGET
|
||||
System.IO (>= 4.3)
|
||||
System.Reflection.Primitives (>= 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)
|
||||
Microsoft.NETCore.Platforms (>= 1.1)
|
||||
Microsoft.NETCore.Targets (>= 1.1)
|
||||
@@ -506,7 +534,7 @@ NUGET
|
||||
System.Text.Encoding (>= 4.3)
|
||||
System.Text.Encodings.Web (6.0) - restriction: || (== net6.0) (&& (== netstandard2.0) (>= net6.0)) (&& (== netstandard2.1) (>= net6.0))
|
||||
System.Runtime.CompilerServices.Unsafe (>= 6.0)
|
||||
System.Text.Json (6.0.5) - restriction: || (== net6.0) (&& (== netstandard2.0) (>= net6.0)) (&& (== netstandard2.1) (>= net6.0))
|
||||
System.Text.Json (6.0.2)
|
||||
System.Runtime.CompilerServices.Unsafe (>= 6.0)
|
||||
System.Text.Encodings.Web (>= 6.0)
|
||||
System.Threading (4.3)
|
||||
@@ -518,7 +546,7 @@ NUGET
|
||||
Microsoft.NETCore.Platforms (>= 1.1)
|
||||
Microsoft.NETCore.Targets (>= 1.1)
|
||||
System.Runtime (>= 4.3)
|
||||
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)
|
||||
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.Runtime (>= 4.3)
|
||||
@@ -527,3 +555,9 @@ NUGET
|
||||
Microsoft.NETCore.Platforms (>= 1.1)
|
||||
Microsoft.NETCore.Targets (>= 1.1)
|
||||
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)
|
||||
Reference in new issue
Block a user