public Task <TransactionReceipt> NewRoundRequestAndWaitForReceiptAsync(NewRoundFunction newRoundFunction, CancellationTokenSource cancellationToken = null) { return(ContractHandler.SendRequestAndWaitForReceiptAsync(newRoundFunction, cancellationToken)); }
private static async Task NewRoundTest() { /* * * var buyCard = await CsService.BuyScatchCardRequestAndWaitForReceiptAsync(100); * * var RequestIDEvent = buyCard.DecodeAllEvents<RequestIDEventDTO>(); * * var RequestID = RequestIDEvent[0].Event.RequestId.ToHex(); * * // Catch the prize claim event. * var PrizeEventHandler = RService.ContractHandler.GetEvent<PrizeClaimEventDTO>(); * * var filterPrizeEvents = PrizeEventHandler.CreateFilterInput(); * * // Getting the PrizeClaim event with the correct RequestID * while (true) * { * var allRequestEvents = await PrizeEventHandler.GetAllChanges(filterPrizeEvents); * * if (allRequestEvents.Count > 0) * { * bool brk = false; * foreach (EventLog<PrizeClaimEventDTO> e in allRequestEvents) * { * //Console.WriteLine($"Scratch Card result, Address: {e.Event.Player}, RequestID: {e.Event.RequestId.ToHex()}, Prize Number: {e.Event.Number}, Prize: {Web3.Convert.FromWei(e.Event.Prize)}\n"); * if (e.Event.RequestId.ToHex().Equals(RequestID)) * { * Console.WriteLine($"Scratch Card result, Address: {e.Event.Player}, RequestID: {e.Event.RequestId.ToHex()}, Prize Number: {e.Event.Number}, Prize: {Web3.Convert.FromWei(e.Event.Prize)}\n"); * brk = true; * } * } * if (brk) * break; * } * }*/ Console.WriteLine($"Calling newRound function..."); try { var gas = await CsService.ContractHandler.EstimateGasAsync <NewRoundFunction>(); Console.WriteLine($"Gas needed for new round: {gas}"); var rnd = new NewRoundFunction { Gas = (BigInteger)gas }; Console.WriteLine($"Gas given for new round: {rnd.Gas}"); var newRound = await CsService.NewRoundRequestAndWaitForReceiptAsync(rnd); Console.WriteLine($"Success: {newRound.Succeeded()}"); var round = await CsService.RoundNumberQueryAsync(); var mint = await CsService.MintAmountQueryAsync(); mint = await CsService.MintAmountQueryAsync(); Console.WriteLine($"Mint amount: {mint}, Round: {round}"); if (newRound.Succeeded()) { var gasEvent = newRound.DecodeAllEvents <GasLeftEventDTO>(); Console.WriteLine($"Emitted gas left: {gasEvent[0].Event.Gas}\n"); var events = newRound.DecodeAllEvents <NewRoundEventDTO>(); var e = events[0].Event; Console.WriteLine($"current pool liquidity: {e.CurrentPool} \nTotal pool Liquidity: {e.TotalPool} \nNext Prize pool: {e.NextPrizePool} \n Token supply : {e.TokenSupply}" + $"\nMint Amount: {e.MintAmount}\nRound: {e.RoundNumber}"); } } catch (Exception e) { Console.WriteLine(e.Message); } }
public Task <string> NewRoundRequestAsync(NewRoundFunction newRoundFunction) { return(ContractHandler.SendRequestAsync(newRoundFunction)); }