using System.Threading.Tasks; using Nethereum.Hex.HexTypes; using Nethereum.JsonRpc.Client; using Nethereum.RPC.Eth.DTOs; using System.Numerics; using System.Threading; using Nethereum.RPC.Accounts; using Nethereum.RPC.Fee1559Suggestions; using Nethereum.RPC.TransactionReceipts; namespace Nethereum.RPC.TransactionManagers { public interface ITransactionManager { IClient Client { get; set; } BigInteger DefaultGasPrice { get; set; } BigInteger DefaultGas { get; set; } IAccount Account { get; } bool UseLegacyAsDefault { get; set; } #if !DOTNET35 IFee1559SuggestionStrategy Fee1559SuggestionStrategy { get; set; } Task SendTransactionAsync(TransactionInput transactionInput); Task EstimateGasAsync(CallInput callInput); Task SendTransactionAsync(string from, string to, HexBigInteger amount); Task SignTransactionAsync(TransactionInput transaction); ITransactionReceiptService TransactionReceiptService { get; set; } Task SendTransactionAndWaitForReceiptAsync(TransactionInput transactionInput, CancellationTokenSource tokenSource); #endif } }