From 3992ae392b30f0ed7a4e093b33089ff7e0f25b41 Mon Sep 17 00:00:00 2001 From: Kwoth Date: Thu, 10 Nov 2022 22:32:27 +0100 Subject: [PATCH] Fixed nullref in xploop --- .../Services/Currency/GamblingTxTracker.cs | 10 ++++++++-- src/NadekoBot/Services/Currency/ICurrencyService.cs | 13 ++++++------- src/NadekoBot/Services/Currency/ITxTracker.cs | 4 ++-- 3 files changed, 16 insertions(+), 11 deletions(-) diff --git a/src/NadekoBot/Services/Currency/GamblingTxTracker.cs b/src/NadekoBot/Services/Currency/GamblingTxTracker.cs index 666c0e8b9..cef108c8e 100644 --- a/src/NadekoBot/Services/Currency/GamblingTxTracker.cs +++ b/src/NadekoBot/Services/Currency/GamblingTxTracker.cs @@ -71,8 +71,11 @@ public sealed class GamblingTxTracker : ITxTracker, INService, IReadyExecutor } } - public Task TrackAdd(long amount, TxData txData) + public Task TrackAdd(long amount, TxData? txData) { + if (txData is null) + return Task.CompletedTask; + if (_gamblingTypes.Contains(txData.Type)) { _stats.AddOrUpdate(txData.Type, @@ -83,8 +86,11 @@ public sealed class GamblingTxTracker : ITxTracker, INService, IReadyExecutor return Task.CompletedTask; } - public Task TrackRemove(long amount, TxData txData) + public Task TrackRemove(long amount, TxData? txData) { + if (txData is null) + return Task.CompletedTask; + if (_gamblingTypes.Contains(txData.Type)) { _stats.AddOrUpdate(txData.Type, diff --git a/src/NadekoBot/Services/Currency/ICurrencyService.cs b/src/NadekoBot/Services/Currency/ICurrencyService.cs index 5b7bf7c78..816d2ece2 100644 --- a/src/NadekoBot/Services/Currency/ICurrencyService.cs +++ b/src/NadekoBot/Services/Currency/ICurrencyService.cs @@ -1,6 +1,5 @@ using NadekoBot.Services.Currency; -#nullable disable namespace NadekoBot.Services; public interface ICurrencyService @@ -10,32 +9,32 @@ public interface ICurrencyService Task AddBulkAsync( IReadOnlyCollection userIds, long amount, - TxData txData, + TxData? txData, CurrencyType type = CurrencyType.Default); Task RemoveBulkAsync( IReadOnlyCollection userIds, long amount, - TxData txData, + TxData? txData, CurrencyType type = CurrencyType.Default); Task AddAsync( ulong userId, long amount, - TxData txData); + TxData? txData); Task AddAsync( IUser user, long amount, - TxData txData); + TxData? txData); Task RemoveAsync( ulong userId, long amount, - TxData txData); + TxData? txData); Task RemoveAsync( IUser user, long amount, - TxData txData); + TxData? txData); } \ No newline at end of file diff --git a/src/NadekoBot/Services/Currency/ITxTracker.cs b/src/NadekoBot/Services/Currency/ITxTracker.cs index e4215690a..4324c2f22 100644 --- a/src/NadekoBot/Services/Currency/ITxTracker.cs +++ b/src/NadekoBot/Services/Currency/ITxTracker.cs @@ -4,6 +4,6 @@ namespace NadekoBot.Services; public interface ITxTracker { - Task TrackAdd(long amount, TxData txData); - Task TrackRemove(long amount, TxData txData); + Task TrackAdd(long amount, TxData? txData); + Task TrackRemove(long amount, TxData? txData); } \ No newline at end of file