private List <MyTrans> GetTransactions(RewardSplit rewardSplitByCycle, long cycleZero, long cycle) { var myContext = new MyContext(); var transactions = new List <MyTrans>(); foreach (var delegatorsBalance in rewardSplitByCycle.GetDelegatorsBalance()) { var delegateConfig = myContext.DelegateConfig.Find(_baker.Account, delegatorsBalance.Account.Tz); if (cycleZero + delegateConfig.RewardOffset < cycle) { continue; } var delegatePercentage = rewardSplitByCycle.GetDelegatePercentage(delegatorsBalance); var totalReward = rewardSplitByCycle.GetTotalReward(); var delegateReward = totalReward * delegatePercentage * delegatorsBalance.GetFee(); var myTrans = new MyTrans { Name = delegateConfig.Name, Account = delegatorsBalance.Account.Tz, Cycle = cycle, Reward = delegateReward.ToTez(), Percentage = delegatePercentage }; transactions.Add(myTrans); Log.Info($"{myTrans}"); } return(transactions); }
public RewardSplit GetRewardSplitByCycle(long cycle) { var client = new HttpClient { BaseAddress = new Uri(Url) }; var response = client.GetAsync($"rewards_split/{_baker.Account}?cycle={cycle}").Result; if (response.IsSuccessStatusCode) { var result = response.Content.ReadAsStringAsync().Result; var rewardSplit = RewardSplit.FromJson(result); return(rewardSplit); } Log.Info($"{(int)response.StatusCode} ({response.ReasonPhrase})"); client.Dispose(); return(null); }