using System.Numerics; using System.Threading; using System.Threading.Tasks; using Nethereum.RPC.Eth.DTOs; using Nethereum.RPC.Fee1559Suggestions; namespace Nethereum.RPC.TransactionManagers { public interface IEtherTransferService { Task TransferEtherAndWaitForReceiptAsync(string toAddress, decimal etherAmount, decimal? gasPriceGwei = null, BigInteger? gas = null, BigInteger? nonce = null, CancellationTokenSource tokenSource = null); Task TransferEtherAsync(string toAddress, decimal etherAmount, decimal? gasPriceGwei = null, BigInteger? gas = null, BigInteger? nonce = null); Task CalculateTotalAmountToTransferWholeBalanceInEtherAsync(string address, decimal gasPriceGwei, BigInteger? gas = null); Task CalculateTotalAmountToTransferWholeBalanceInEtherAsync(string address, BigInteger maxFeePerGas, BigInteger? gas = null); Task TransferEtherAsync(string toAddress, decimal etherAmount, BigInteger maxPriorityFee, BigInteger maxFeePerGas, BigInteger? gas = null, BigInteger? nonce = null); Task TransferEtherAndWaitForReceiptAsync(string toAddress, decimal etherAmount, BigInteger maxPriorityFee, BigInteger maxFeePerGas, BigInteger? gas = null, BigInteger? nonce = null, CancellationTokenSource tokenSource = null); Task EstimateGasAsync(string toAddress, decimal etherAmount); Task SuggestFeeToTransferWholeBalanceInEtherAsync( BigInteger? maxPriorityFeePerGas = null); } }