41 lines
1.1 KiB
C#
41 lines
1.1 KiB
C#
using DiscordRewards;
|
|
using GethPlugin;
|
|
|
|
namespace TestNetRewarder
|
|
{
|
|
public class RequestBuilder : IRewardGiver
|
|
{
|
|
private readonly Dictionary<ulong, List<EthAddress>> rewards = new Dictionary<ulong, List<EthAddress>>();
|
|
|
|
public void Give(RewardConfig reward, EthAddress receiver)
|
|
{
|
|
if (rewards.ContainsKey(reward.RoleId))
|
|
{
|
|
rewards[reward.RoleId].Add(receiver);
|
|
}
|
|
else
|
|
{
|
|
rewards.Add(reward.RoleId, new List<EthAddress> { receiver });
|
|
}
|
|
}
|
|
|
|
public GiveRewardsCommand Build(MarketAverage[] marketAverages, string[] lines)
|
|
{
|
|
var result = new GiveRewardsCommand
|
|
{
|
|
Rewards = rewards.Select(p => new RewardUsersCommand
|
|
{
|
|
RewardId = p.Key,
|
|
UserAddresses = p.Value.Select(v => v.Address).ToArray()
|
|
}).ToArray(),
|
|
Averages = marketAverages,
|
|
EventsOverview = lines
|
|
};
|
|
|
|
rewards.Clear();
|
|
|
|
return result;
|
|
}
|
|
}
|
|
}
|