using System; using System.Collections.Generic; using System.Threading; using System.Threading.Tasks; using Nethereum.RPC.Eth.DTOs; namespace Nethereum.RPC.TransactionReceipts { public interface ITransactionReceiptService { Task SendRequestAndWaitForReceiptAsync(Func> transactionFunction, CancellationTokenSource tokenSource = null); Task DeployContractAndWaitForReceiptAsync(Func> deployFunction, CancellationTokenSource tokenSource = null); Task DeployContractAndWaitForReceiptAsync(TransactionInput transactionInput, CancellationTokenSource tokenSource = null); Task DeployContractAndGetAddressAsync(Func> deployFunction, CancellationTokenSource tokenSource = null); Task SendRequestAndWaitForReceiptAsync(TransactionInput transactionInput, CancellationTokenSource tokenSource = null); Task> SendRequestsAndWaitForReceiptAsync(IEnumerable transactionInputs, CancellationTokenSource tokenSource = null); Task> SendRequestsAndWaitForReceiptAsync(IEnumerable>> transactionFunctions, CancellationTokenSource tokenSource = null); Task PollForReceiptAsync(string transaction, CancellationTokenSource tokenSource = null); } }